CHDK: turbinando suas câmeras Canon

Por: em 30/07/08 na(s) categoria(s): Áudio Vídeo Fotografia


Estou fazendo alguns testes com pilhas Duracell, como já comentei em outro artigo, que serão divulgados em breve. Mas uma dica do leitor andretomasi, que poupou um enorme trabalho, vale a pena ser divulgada antes.

Para quem não é profissional e tem câmeras digitais “point and shoot” para registrar o aniversário da filha ou emprestar para os amigos, o CHDK pode ser muito útil. Desde que, é claro, ela seja uma Canon PowerShot.

Basicamente, o “CHDK” é um “update de firmware temporário”: dois pequenos arquivos que, colocados no cartão SD das Canon trazem novas “features”, que  incluem:

  • Gravação da imagem em formato raw;
  • Capacidade de rodar “scripts” feitos em BASIC(!);
  • Indicador de bateria sempre presente na tela;
  • Modo de compressão de vídeo melhorado, dobrando a capacidade de gravação;
  • Tempo de exposição de até 65s;
  • Habilidade de usar a USB para controlar o disparo;
  • Calendário, jogos e muitos, muitos “etc”…

É bem possível que tudo isso já seja de conhecimento dos fotógrafos mais experientes, mas para quem é novato ou “fotógrafo de final-de-ano”, como eu, é novidade e uma bela mão-na-roda. Daqui para a frente, você vai precisar de: uma câmera Canon compatível com o programa, um leitor de cartões SD (ou um laptop que já tenha um embutido) e um cartão SD.

Para começar, é preciso saber se há uma versão do programa para a sua câmera. Para isso, crie um arquivo chamado “VER.REQ” e grave-o no diretório raiz do cartão SD da câmera. Ligue-a no modo “Play” e, em seguida, pressione o botão “Set” e o botão “Display”. Anote a versão do seu firmware atual (o da minha é GM1.00A).

Agora, vá até esta página e descubra qual versão do programa suporta sua câmera e seu firmware (garantidamente, apenas a opção em verde funcionará). Identificada a versão, vá até esta outra página e baixe-a. Descompacte os dois arquivos (PS.FIR e DISKBOOT.BIN) no diretório raiz do cartão SD.

Agora, recoloque o cartão SD na câmera e ligue-a no modo “Play”. Aperte “Menu” e encontre a opção “Firmware update”:

29072008128

Confirme e fique tranquilo: esse “update” é temporário. O firmware original não é apagado, mas há uma opção de “auto load“.

29072008129

Agora, o novo firmware está rodando e você pode entrar no modo “ALT” pressionando o botão “Print”. Neste modo, os botões têm novas funcionalidades. Apertando “Menu”, será mostrada a seguinte tela:

29072008130

Há muitas capacidades adicionadas que só quem é mais “profissional” vai saber aproveitar. Eu mesmo, de todas elas, só utilizei a capacidade de criar “scripts”. Meu problema era muito específico: bater fotos até que a bateria acabasse e um script disponível no próprio site já me serviu. Vejam que simplicidade:

rem Interval shooting

@title Interval shooting
@param a Shoot count
@default a 10
@param b Interval (Minutes)
@default b 0
@param c Interval (Seconds)
@default c 10

rem Calculate 1000ths of seconds from variables

t=b*60000+c*1000

rem Sets some default variables to initial values
if a<2 then let a=10
if t<1000 then let t=1000

rem Print total duration of session in viewfinder

print "Total time:", t*a/60000; "min", t*a%60000/1000; "sec"

rem Delay actual shooting so they can read the above print statement.

sleep 1000

rem Start actual camera operation in a loop

print "Shoot 1 of", a
shoot
for n=2 to a
    sleep t
    print "Shoot", n, "of", a
    rem This takes the actual exposure.
    shoot
next n

rem Ends this script

end

Simples mesmo, não?

Há ainda scripts para detecção de movimento, que abrem possibilidades bem interessantes (na área de segurança, por favor!). E só estou falando de uma das dezenas de novas funções.

Vamos fazer este aí de cima funcionar.

Retire o cartão SD da câmera  e coloque-o no micro. Copie e cole o script acima no Notepad ou no Notepad++ (lembre-se: o editor precisa gravar apenas o texto, nada de formatação adicional). Grave o arquivo com o nome de teste.bas no diretório \CHDK\SCRIPTS.

Volte com o cartão SD para a câmera. Faça todo o procedimento para carregar o CHDK e entre no menu mostrado na última figura. Vá até a opção “scripting parameters” e “load script from file”.

29072008131

29072008132

Para ativá-lo, basta apertar o “shutter” enquanto estiver no modo “ALT”. Coloque 500 disparos, 12 segundos de espera e veja sua bateria definhar.

Para os que têm espírito aventureiro, há um tutorial sobre “scripts” muito bom, seguindo este link.

Como não poderia, faltar, há também jogos embutidos!

29072008133

Quem conhece fotografia mais a fundo, vai ter horas de ótimo entretenimento com a “nova câmera”. Bom divertimento!

  • Bandeira

    Tem ele para o modelo A430?

    PS: Não achei na lista.

  • http://keaton.wordpress.com/ Keaton

    Eu ainda compro uma S570IS para andar na rua… (a S6000fd é imensa… XD)

  • http://luizzeross.blogspot.com luizzeross

    Cara… você roubou o post do Lorenti, mas me fez ver uma nova camera! Po, muito genial esse lance do “custom firmware”, e agora estou pensando nas possibildades de scripts. Bem que podia ser em uma liguagem com sintax mais “usual”, mas ta valendo! Este tipo de post deveria aparecer mais no MeioBit! Realmente EXCELENTE!! =) Mais tarde venho checar o que o pessoal descobriu!
    ___
    Um slime, dois slimes, três slimes, quatro slimes… um King Slime

  • ironman_br

    Muito bom.

    Será que da pra ajustar a o bracketing? Se desse dava pra criar uns scripts bacanas para HDR :D

    Jabá http://beernotfoundexception.blogspot.com/

    • http://www.bizness.com.br sricanesh

      Olhando rapidamente o script acima, acho que podes usar o mesmo, com algumas poucas modificações, considerando que o “bracketing” muda apenas o tempo de exposição.

      Você pode fazer um script que faça um loop de umas 5 fotos sendo que a primeira foto é tirada no tempo “correto”, a segunda e terceira em subexposicao (ou seja, 1 e 2 pontos + rapida que a primeira) e a 4a. e 5a. em superexposição (ou seja, 1 e 2 pontos + lenta que a primeira).

      Dá até vontade de comprar uma powershotzinha para fazer uns testes hehe.

      abraços,

      Cassio R Eskelsen

  • http://oxenti.com GuZ

    Uma modificação dessas na minha Sony H9 ia bem… Ela peca em não ter modo RAW nem JPG FINE =(

    GuZ
    µ?ðßþßøð ?

  • MaRKauM

    Marcellus, você chegou a usar isso pra fazer os testes com as pilhas ou só conseguiu fazer funcionar depois de gastar o dedo tirando foto? :P

    ___________________________________________________________
    “Uma pessoa inteligente resolve um problema, um sábio o previne.” – Albert Einstein

    • Marcellus Pereira

      Só com o último conjunto de pilhas… :(

  • Hawk

    Excelente dica. Pena eu não entender nada de script e muito pouco de inglês. :(

    Eu preciso necessariamente ter um leitor de cartões? Não posso usar a propria câmera ou uma outra câmera antiga (modelo diferente)?

    ————-
    Eu esqueço tudo, sou muito cabeçudo. \o/ < - Pessoa normal, eu -> \O/

  • Pollux

    Legal a dica. Quando vi o post dizendo que o CHDK tirava fotos automaticamente não me interessei muito, mas com essas novas funções vale o teste. Só mostrar a bateria na tela já é uma grande ajuda.
    Tenho uma Canon A590. Excelente câmera que veio substituir minha A520 que caiu no chão de um barco :(
    ————————————

    Quem cresceu jogando Adventure no Atari não liga para gráficos.

  • Canedo

    Muito bom! Vou experimentar hoje mesmo na minha.

  • AcidGaucho

    Minha A580 usa o firmware 1.00c, o mesmo da a620…
    Ai qdo cheguei na parte do update firmware, nao aparece essa opção no menu :(
    Tem algum cheatcode pra isso?? :D

  • http://www.undergeek.com.br Mateus_mps

    Já uso o CHDK faz um bom tempo na minha câmera (Canon S3IS), e tenho a impressão que a carga da pilha vai embora mais rapido com o CHDK ligado.

    • http://blog.cobline.com Cobalto

      Vai ver ele roda o script do Marcellus em background para todas as câmeras ;)

      —————————————–

      “Em todo o caso, casai-vos. Se vos couber em sorte uma boa esposa, sereis felizes; se vos calhar uma má, tornar-vos-eis filósofos, o que é excelente para os homens”. – Sócrates

  • cgvieira

    Tenho uma S2IS – totalmente suportada pelo CHDK. Não faz idéia o tanto que eu sentia falta do mostrador da bateria.

    Muito obrigado. Post pra lá de útil.

  • http://www.twitter.com/andretomasi andretomasi

    Pra quem ainda não conferiu o site do CHDK e está curioso, segue uma lista de algumas coisas possíveis de se fazer.. cito por experiência própria somente as coisas que já usei, mas no site tem muito mais scripts e várias versões de firmware com aplicações diferentes.

    - Bracketing automático totalmente configurável
    - Histograma em tempo real
    - Indicador de bateria e espaço no cartão
    - Gravação ilimitada de vídeo
    - Disparo e controle da câmera pelo USB conectado ao PC
    - Disparo da câmera por um cabo USB modificado com um interruptor na ponta
    - Permite utilizar o zoom óptico durante o modo de vídeo
    - Vídeos “timelapse”
    - Panoramas em HDR
    - Gravação em RAW com miniaturas JPG
    - Disparo por detecção de movimento
    - Disparo e detecção automático para fotografia de raios
    - Configuração plena do flash, sync, intensidade, etc
    - Velocidades altas de obturador e flash, até 1/64.000
    - Velocidades configuráveis para longa exposição
    - Zoom configurável
    - Bracketing de foco
    - DOF stacker automático
    - Foco e zoom manual durante filmagem de vídeo
    - Grids totalmente customizáveis
    - Tem também calendário, leitor de notas, agenda de endereços e telefones, notas em .txt para as fotos

    Como o firmware é temporário, dá pra testar sem medo, se não gostar é só apagar do cartão ;)

    [ ]´s

    André Tomasi
    GRV – PUCRS

  • Hawk

    Aqui não funcionou. Coloquei o arquivo “VER.REQ” dentro da pasta raiz, mas quando aperto SET+DISP nada acontece, só fica aparecendo a mensagem: “Sem imagem”. :(

    ————-
    Eu esqueço tudo, sou muito cabeçudo. \o/ < - Pessoa normal, eu -> \O/

    • Marcellus Pereira

      Aperta o “SET” primeiro, segura e aperta o “DISP”.

      Lembrando que você tem que ligá-la no modo “PLAY”… nada de ligar no modo “REC” e depois passar para o modo “PLAY”.

      • Hawk

        Funcionou! Obrigado.

        Mas… e os jogos? Onde ficam?

        ————-
        Eu esqueço tudo, sou muito cabeçudo. \o/ < - Pessoa normal, eu -> \O/

        • Marcellus Pereira

          Perde a graça se eu contar tudo. ;)

          • Hawk

            Magoei :(
            É triste não saber inglês, não acho nada naquele site. Queria testar minha máquina para funcionar a captura quando ela detecta movimento, mas não achei. :?

            ————-
            Eu esqueço tudo, sou muito cabeçudo. \o/ < - Pessoa normal, eu -> \O/

  • Abigor

    Muito intessante cara, meu pai tem uma canon dessas, vou me “apropriar” da danada e fazer o teste depois xD

    O medidor de bateria era uma coisa que eu também estava sentido muito falta, ela so avisa quando já ta descarregando -.- normalmente dai as vezes vc ta fazendo aquele video massa dai pronto…. tem que trocar as pilhas
    Vlw!

  • 2112

    Amigos, só um alerta, sou usuário do CHDK e estava usando scripts para fazer fotografias “Time-lapse”, mas observei na net inúmeros relatos sobre a curta vida útil dos obturadores de cameras compactas e mesmo prosumers, que duram apenas alguns milhares de clicks. :(

  • http://www.flickr.com/photos/taken_by_rick Riccky_echap

    Eu tenho uma Canon A570IS. Quando eu gravo as fotos em arquivo RAW, as fotos não aparecem, apenas uma mensagem “imagem desconhecida”. Eu gostaria de saber se isso é normal ou tem alguma coisa errada na configuração do CDHK?

    agradeço desde já!

    abraço!