Escolar Documentos
Profissional Documentos
Cultura Documentos
Prof. Leonardo
Sumário
Introdução
Funções principais
Tipos de dados
Operadores lógicos
Operadores de comparação
Operadores aritméticos
Estruturas condicionais
Estruturas de repetição
Funções digitais
Funções analógicas
Sketches
setup():
Função chamada quando o programa inicia sua execução
Inicialização das variáveis e os modos dos pinos
Executada uma única vez
loop():
Bloco executado enquanto a placa Arduino estiver ligada
Controle contínuo do ambiente
Tipos de Dados
Tipo de dados RAM Intervalo numérico
boolean 1 byte 0 ou 1 (false ou true)
byte 1 byte 0 a 255
char 1 byte -128 a 127
unsigned char 1 byte 0 a 255
int 2 bytes -32.768 a 32.767
unsigned int 2 bytes 0 a 65.535
word 2 bytes 0 a 65.535
long 4 bytes -2.147.483.648 a 2.147.483.647
unsigned long 4 bytes 0 a 4.294.967.295
float 4 bytes -3,4028235E+38 a 3,4028235E+38
double 4 bytes -3.4028235E+38 a 3,4028235E+38
string 1 byte + x Sequência de caracteres
array 1 byte + x Coleção de variáveis
Operadores Lógicos
E lógico (&&)
OU lógico (||)
Negação (!)
Operadores de Comparação
Igualdade (==)
Desigualdade (!=)
Menor que (<)
Maior que (>)
Menor ou igual (<=)
Maior ou igual (>=)
Operadores Aritméticos
Soma (+)
Subtração (-)
Multiplicação (*)
Divisão (/)
Resto da divisão (%)
Atribuição (=)
Estruturas Condicionais
Switch/case
switch (var) {
case 1:
//realiza ação caso var == 1
case 2:
//realiza ação caso var == 2
default:
// caso nenhum case seja executado, será executado o default
// default é opcional
}
Exercício
Implemente um algoritmo que acenda um led apenas caso o botão esteja acionado,
utilizando a estrutura switch/case.
void setup() {
pinMode(botao, INPUT);
pinMode(led, OUTPUT);
}
void loop() {
estadoBotao = digitalRead(botao);
switch(estadoBotao) {
case HIGH: digitalWrite(led,HIGH);
break;
case LOW: digitalWrite(led,LOW);
break;
}
}
Estruturas Condicionais
If/else
if (input < 500)
{
// fazer ação 1
}
else // caso contrário, isto é input >= 500
{
// fazer ação 2
}
Exercício 1
void setup() {
pinMode(botao1, INPUT);
pinMode(botao2, INPUT);
pinMode(led, OUTPUT);
void loop() {
estadoBotao1 = digitalRead(botao1);
estadoBotao2 = digitalRead(botao2);
if(estadoBotao1 || estadoBotao2) {
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}
Estruturas Condicionais
If/elseif/else
While
var = 0;
while(var < 200){
//código que se repete 200 vezes
var++;
}
const byte botao = 3;
const byte led = 13;
boolean estadoBotao;
void setup() {
pinMode(botao, INPUT);
pinMode(led, OUTPUT);
}
estadoBotao = digitalRead(botao);
while(!estadoBotao) {
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led,LOW);
delay(1000);
estadoBotao = digitalRead(botao);
}
}
Estruturas de Repetição
Do ... While
do
{
// bloco de intruções
} while (condição);
Estruturas de Repetição
For
//Bloco de instruções
}
Comando Break