=======Programação Arduino=======
A programação em [[Arduino]] é feita em uma estrutura setup-loop, que separa o código que será rodado apenas uma vez no começo da execução e o código que será rodado várias vezes durante a execução:
void setup(){
// Código de setup, que é rodado apenas uma vez
}
void loop(){
// Código de loop, que é rodado repetidamente
}
Essa estrutura representa o que em C puro seria:
int main(){
// Código de setup, que é rodado apenas uma vez
while(1){
// Código de loop, que é rodado repetidamente
}
return 0;
}
=====IDE Arduino=====
A programação em Arduino é facilitada pelo uso de sua IDE oficial. Mais informações podem ser encontradas em [[IDE Arduino]].
===== Principais funções do Arduino =====
Abaixo, são apresentadas algumas das funções mais utilizadas para operações básicas de Arduino:
==== Entradas e saídas digitais (HIGH ou LOW) ====
**[[https://www.arduino.cc/reference/pt/language/functions/digital-io/digitalread/|digitalRead()]]** - lê o valor do pino digital especificado.
**[[https://www.arduino.cc/reference/pt/language/functions/digital-io/digitalwrite/|digitalWrite()]]** - adiciona um valor ao pino digital especificado.
**[[https://www.arduino.cc/reference/pt/language/functions/digital-io/pinmode/|pinMode()]]** - atribui um modo ao pino (Entrada ou Saída).
==== Entradas e saídas analógicas (tensão específica) ====
**[[https://www.arduino.cc/reference/pt/language/functions/analog-io/analogread/|analogRead()]]** - lê o valor do pino analogico especificado.
**[[https://www.arduino.cc/reference/pt/language/functions/analog-io/analogreference/|analogReference()]]** - configura uma tensão de referência.
**[[https://www.arduino.cc/reference/pt/language/functions/analog-io/analogwrite/|analogWrite()]]** - adiciona uma onda PWM na saída do pino analógico especificado.
==== Exemplos =====
Abaixo estão alguns exemplos de códigos que utilizam equipamentos externos para gerar, emitir ou receber dados.
[[programacao-arduino: blink|Blink]]
\\
[[programacao-arduino:pwm|PWM]]
\\
[[programacao-arduino:analogread|AnalogRead e AnalogWrite]]
\\
[[programacao-arduino:musica buzzer|Música com Buzzer]]
\\
[[programacao-arduino:genius|Genius]]
\\
[[https://www.filipeflop.com/blog/controlando-um-lcd-16x2-com-arduino/|LCD]]