Você já teve alguma idéia relacionada a eletrônica, como por exemplo um robô, ou um letreiro de led, ou quem sabe um sensor de luminosidade que liga uma lâmpada sempre que fica escuro? Ter idéias é fácil e não precisa ter conhecimento em nenhum assunto especifico, afinal, basta utilizarmos nossa criatividade e começarmos a imaginar algo, mas quando vamos colocar a idéia em prática ai a história já muda um pouco, pois precisaremos ter conhecimentos sobre a área em que a nossa idéia abrange, para que possamos desenvolver o projeto.
Quando um projeto envolve eletrônica seja ela analógica ou digital, em que é preciso automatizar algo ou torná-lo inteligente, nós precisamos utilizar microcontroladores, esses componentes são como o processador do nosso computador, porém não precisam de memória RAM externa e nem armazenamento para o programa, um microcontrolador já possui internamente memória para o programa, memória RAM para os dados, e uma unidade de processamento, porém obviamente possuem um desempenho muito inferior a um processador, até porque o seu propósito é outro. Hoje em dia os microcontroladores mais utilizados em projetos particulares de pessoas (não empresa) são os PIC da Microchip e os Atmega da ATMEL, e a pesar de muitas pessoas acharem que o Arduino é um microcontrolador, ele não é, o Arduino é apenas uma plataforma de desenvolvimento que utiliza os microcontroladores da ATEMEL (atmega).
Para que um microcontrolador execute uma tarefa como por exemplo fazer uma leitura analógica, ativar um transistor que ativa um relê e acende uma lâmpada ou se comunicar com algum módulo ou dispositivo, é preciso que você programe-o, para isso, você pode utilizar linguagens de programação como Assembly, C, C++ e em alguns casos até mesmo Visual Basic, claro que a mais completa e recomendável é a linguagem C. Depois de programar o microcontrolador é preciso montar o seu circuito, só para alimentar o microcontrolador será preciso de um regulador de tensão, cristal oscilador, capacitor para desacoplamento, e uma fonte de alimentação, o problema é que novamente para pessoas que apenas tiveram uma idéia e não possuem muito conhecimento em eletrônica, pode ser meio complicado ter que montar todo o circuito do microcontrolador em uma breadboard e ainda montar o circuito do seu projeto.
Pensando nisso o Arduino foi desenvolvido para facilitar a prototipagem, não só de técnicos em eletrônica e programadores, mas também de pessoas comuns, que querem automatizar seus projetos mas não possuem muito conhecimento na área. O Arduino é uma plataforma de desenvolvimento composta pelo Hardware (Arduino uno, mega uno, duemilanove, etc) e uma IDE (ambiente de desenvolvimento integrado) aonde você pode escrever o seu código em linguagem C/C++ e a própria IDE fará todo o processo de compilação e transferência do código do seu PC para o microcontrolador Atmega, o que torna todo o processo de programação e prototipagem muito mais rápido.
Hardware
Hoje em dia existem várias versões de placas Arduino, cada uma utiliza um microcontrolador Atmega diferente, no caso do Arduino Uno que é o Arduino que eu utilizarei nas próximas matérias e vídeo aulas, temos o Atmega 328p que possui 28 pinos sendo 6 entradas analógicas ADC (conversores analógicos digitais), 14 pinos de saída digital sendo 6 deles com PWM (pulse width modulation) aonde podemos utilizá-los como saída analógica (tensão entr 0 ~ 5V).
Como você pode ver, todo o circuito do microcontrolador Atmega já esta montado na placa, e há conectores laterais que correspondem a todos os pinos do Atmega, então ali temos os pinos analógicos e digitais e ainda os pinos de alimentação do microcontrolador como VCC, GND, AREF e RESET, é claro que o microcontrolador já será alimentado através do circuito, esses conectores de alimentação apenas nos permite montar o nosso próprio circuito de alimentação, já os conectores correspondentes aos pinos ai sim deverão ser obrigatóriamente utilizados para que possamos ativar algo ou nos comunicarmos com outros componentes.
Caso você ache que o Arduino Uno tem poucos pinos, não se preocupe, você pode optar pelo Arduino Mega Uno com o microcontrolador SMD Atmega 2560, esse Arduino possui 54 pinos dos quais 14 são PWM.
IDE
Uma das vantagens do Arduino é que sua IDE é multi-plataforma, ou seja, pode ser instalada no Windows, Linux e MAC OS X e por ser uma IDE dedicada ao Arduino, ela possui nativamente diversos exemplos de código e opções como por exemplo passar o bootloader do Arduino para um microcontrolador Atmega novo.
A linguagem adotada pelo Arduino é a linguagem C/C++, e caso você ache que essa linguagem é avançada e complicada, não se preocupe pois na verdade a linguagem C é estruturada e possui uma sintaxe limpa, clara e objetiva, e para facilitar ainda mais, o Arduino já tem diversas funções prontas, como por exemplo para leitura e escrita de dados analógicos e digitais, além de comunicação serial (PPM, I2C, TTL …) e paralela e também tempo (delay), sendo assim não será preciso você se preocupar com o clock do microcontrolador e nem terá que implementar protocolos de comunicação serial ou paralela, resumindo, se você quer que o pino 13 fique positivo (5volts) basta você fazer:
void setup (void)
{
pinMode(13, OUTPUT); // Coloca o pino 13 em modo saída
digitalWrite(13, 1); // Deixa o pino 13 como positivo (5V)
}
void loop(void)
{
}
Caso você já tenha conhecimento em programação para microcontroladores, você deve ter percebido que não tivemos que utilizar (diretamente) nenhum registrador e que esta tudo bem simplificado :D.
As funções e a linguagem C/C++ para Arduino serão abordadas nos próximos tutoriais e vídeo aulas, mas para não te deixar curioso eu vou explicar o porque de void setup(void) e void loop(void). Essas duas funções são obrigatórias no Arduino, a função void setup(void) não retorna nada e nem recebe nenhum argumento, essa função é utilizada para configuração, no exemplo acima configuramos o pino 13 para saída de dados (OUTPUT). Já a função void loop(void) também não retorna nada e nem recebe nenhum argumento, quando rodamos um programa (firmware) no microcontrolador, é de nosso interesse que esse programa fique rodando para sempre em um loop infinito, então para isso devemos escrever as rotinas de nossa firmware dentro da função loop, pois ela será repetida infinitamente.
Nas próximas matérias e vídeo aulas tudo ficará mais claro, e vocês verão o quanto é fácil programar com o Arduino.
Quanto custa esse investimento?
Outra vantagem do Arduino é o seu baixo custo comparado a outras pataformas de desenvolvimento. A placa Arduino Uno custa de R$ 55,00 a R$ 100,00 , e a IDE é gratuita e open source (viva o software livre :D). Se você esta achando caro, imagine o quanto você teria que pagar para um profissional da área desenvolver um circuito microcontrolado de um projeto que talvez nem vá para frente, fora que você estará aprendendo sobre uma nova área com infinitas possibilidades.
Arduino é coisa de preguiçoso?
Muitas pessoas, principalmente os programadores e técnicos em eletrônica profissionais que já possuem conhecimento em microcontroladores, acham que o Arduino é coisa de preguiçoso, que não custa nada gerar o hexadecimal do seu código e passar para o microcontrolador através de um programador, e que também não custa nada fazer o circuito do microcontrolador, isso tudo é verdade realmente não custa nada, mas tratando-se de um protótipo, já pensou ter que gerar vários hexadecimal de códigos e montar vários e vários circuitos, quando podemos apenas clicar em um botão e transferir o código para um circuito que já esta montado em uma placa de circuito impresso :D. Em questão de protótipo o Arduino é sim uma ótima opção e isso não irá te tornar preguiçoso.
Arduino Hacker
Nós também podemos utilizar circuitos eletrônicos para nos ajudar em tarefas hacking, como monitoramento, segurança de computadores, módulos de Firewall ou servidores pequenos, em fim, novamente tudo vai depender da nossa criatividade e é claro que aqui no Mundo Dos Hackers também faremos alguns projetos e aulas que irão envolver eletrônica, programação e hacking :D.
Bom é isso ai pessoal, espero que vocês tenham entendido bem o que é e para que serve o Arduino, não deixem de continuar acessando o Mundo Dos Hackers, pois estaremos postando novas matérias e tutoriais sobre esse assunto e em breve estaremos também lançando alguns cursos sobre Arduino.
Caso você queira saber ainda mais sobre o Arduino acesso o seu site oficial www.arduino.cc .
Não deixem de comentar ;)!!!
O Arduino é uma ótima ferramenta para aprendizado, facilita e muito o desenvolvimento e automatização de sistemas.
Segue a baixo o meu projeto final de automação industrial, onde utilizei o Arduino.
http : //www . youtube . com /watch?v=TKyEBsZXtcYNa descrição tem tudo explicado.
Abraços.
Belo tutorial Paulo, Ótima iniciativa!