por xultz » 05 Dez 2011 14:14
O problema é que programadores que trabalham exclusivamente com programação juram que entendem de eletrônica digital. Afinal, toda linguagem de programação tem comandos AND, OR, NOT, e portanto eles manjam tudo do assunto.
Aí você oferece um microcontrolador num encapsulamento qualquer e ele te olha com cara de abestado. Daí você dá uma placa de desenvolvimento, mostra o link pro datasheet do micro e ele te olha com cara de abestado. Como assim, precisa ler tudo isso só prá configurar o chip? Não dá prá importar uma classe que configura tudo e escrever o resto do firmware C++ ou .Net? Não, não dá.
Me lembro de uma história, eu tinha um colega no curso técnico de eletrônica, no início dos anos 90, que no meio do curso ele arranjou um trampo de programador e largou a eletrônica e hoje vive de fazer software. Naquela época, ele achava que entendia alguma coisa de eletrônica, e decidiu acender um conjunto de leds pela porta paralela. Lembrem que porta paralela era importante, prá ligar impressora, scanner e zip drive. Aí ele pegou um DB25, ligou os leds e fez um programa no C++ Builder e acendia os leds em sequência, em casa.
Foi todo felizão mostrar pro chefe dele, ligou o trem no computador do chefe, rodou o programa e nenhum led acendeu. E a impressora não imprimiu mais. Motivo: ele não colocou resistores em série com os leds, por algum motivo a paralela de casa limitou a corrente e no computador do chefe, não, e queimou a porta.
Aí surge o Arduíno: ele tem comandos prá configurar os periféricos, mais ou menos do jeito que uma classe dessas da vida configurar qualquer coisa da vida, e tem uma outra rotina chamada loop() que faz isso: loopa. Ali dentro o programador faz o led piscar, e ele vai continuar achando que entende de eletrônica digital.
É prá isso que serve.
98% das vezes estou certo, e não estou nem aí pros outros 3%.