O
Arduino IDE é uma aplicação multiplataforma escrita em Java,ou C/C++ na qual é derivada dos projetos Processing e Wiring. É esquematizado para introduzir a programação a artistas e a pessoas não familiarizadas com o desenvolvimento de software. Inclui um editor de código com recursos de realce de sintaxe, parênteses correspondentes e identação automática, sendo capaz de compilar e carregar programas para a placa com um único clique. Com isso não há a necessidade de editar Makefiles ou rodar programas em ambientes de linha de comando.
Tendo uma biblioteca chamada "Wiring", ele possui a capacidade de programar em C/C++. Isto permite criar com facilidade muitas operações de entrada e saída, tendo que definir apenas duas funções no pedido para fazer um programa funcional:
* setup() – Inserida no inicio, na qual pode ser usada para inicializar configuração, e
* loop() – Chamada para repetir um bloco de comandos ou esperar até que seja desligada.
Habitualmente, o primeiro programa que é executado tem a simples função de piscar um LED. No ambiente de desenvolvimento, o usuário escreve um programa exemplo como este:
-------------------------------------------------------------
# define LED_PIN 13//você define que o LED está no PINO 13
void setup () {
pinMode (LED_PIN, OUTPUT); // habilita o pino 13 para saída digital (OUTPUT).(GND brutalmente falando)
}
void loop () {
digitalWrite (LED_PIN, HIGH); // liga o LED.
delay (1000); // espera 1 segundo (1000 milissegundos).
digitalWrite (LED_PIN, LOW); // desliga o LED.
delay (1000); // espera 1 segundo.
}
//fica nesse loop de ligar e desligar
-------------------------------------------------------------
O código acima não seria visto pelo compilador como um programa válido,
então quando o usuário tentar carregá-lo para a placa, uma cópia do
código é escrita para um arquivo temporário com um cabeçalho extra
incluído no topo, e uma simples função principal como mostrada abaixo:
-------------------------------------------------------------
# include "WProgram.h"
# define LED_PIN 13
void setup () {
pinMode (LED_PIN, OUTPUT); // habilita o pino 13 para saída digital (OUTPUT).
}
void loop () {
digitalWrite (LED_PIN, HIGH); // liga o LED.
delay (1000); // espera 1 segundo (1000 milissegundos).
digitalWrite (LED_PIN, LOW); // desliga o LED.
delay (1000); // espera 1 segundo.
}
int main(void)
{
init();
setup();
for (;;)
loop();
return 0;
}-------------------------------------------------------------
"WProgram.h" é uma biblioteca de códigos, quem programa em C ja conhece...é um recurso para referenciar a biblioteca Wiring, e a função
main() apenas faz três chamadas distintas:
init(), definida em sua própria biblioteca,
setup() e
loop(), sendo as duas últimas configuradas pelo usuário.
O Arduino IDE usa o
Conjunto de ferramentas GNU e o
AVR Libc para compilar os programas, para depois, com o avrdude, enviar os programas para a placa.