arduino - iniciação à linguagem c (entradas e saídas digitais)
TRANSCRIPT
Programação
Eletrónica+Espaço
Arduino - Iniciação à linguagem C
Entradas e saídas digitais
Arduino – Pinos Digitais
Circ
uito
com
LED
Co
ntro
lado
por
Ar
duín
o
http://blocklyduino.github.io/BlocklyDuino/blockly/apps/blocklyduino/
BlocklyDuino – Agora Experimenta
BlocklyDuino – Agora Experimenta
Arduino – Agora Experimentahttps://www.arduino.cc/en/Main/Software
Setup(): primeira função a ser chamada quando o programa inicia.
É executada uma única vez. Definição de entradas / saídas e
inicialização de variáveis
loop(): todas a instruções contidas nesta função são executadas
repetidamente
Arduino – Agora Tenta #1
• Ligar três LED às saídas 13, 12 e 11 e alterar programa anterior de forma a ligá-los alternadamente.
Um
a So
luçã
o Po
ssív
el...
Arduino – Agora Tenta #2• Ligar um interruptor à entrada 2 que
deve fazer os três LED ligar quando pressionado (caso contrário, os LED devem estar desligados).
SUGESTÃO - Pesquisar as seguintes funções:
if (“if arduino”);digitalRead (“digitalRead arduino”)
Um
a So
luçã
o Po
ssív
el...
Arduino – Agora Tenta #3• Ligar um interruptor à entrada 2 que
deve fazer os três LED ligar quando pressionado para os desligar quando pressionado de novo.
Um
a So
luçã
o Po
ssív
el...
Arduino – É Possível Ver o Valor das Entradas?
SUGESTÃO - Pesquisar a função Serial.print()
Acrescentar as seguintes linhas ao programa anterior:
Arduino – É Possível Ver o Valor das Entradas?
E agora…
Progamação em C – Resumo da Sessão #1Funções indispensáveis:• setup(); loop()
Símbolos usados:{ } Dentro das chavetas são colocadas a instruções de uma função;
; Marca o final de cada instrução;
// Comentário de uma linha (qualquer carater depois das duas barras é ignorado pelo programa);
/*...*/ Comentário em várias linhas (qualquer texto colocado entre esses símbolos é ignorado pelo programa.
Progamação em C – Resumo da Sessão #1Funções a recordar
• pinMode(pino, modo) indica se pino será entrada ou saída;
• digitalWrite(pino, valor) envia um valor lógico para o pino indicado
• delay(valor) espera o valor em ms
• digitalRead(pino) lê uma entrada digital;
• if (condição 1){instruções1}else{instruções2} se a condição 1 for verdade,são executadas as instruções 1, caso contrário, são executadas as instruções 2
Progamação em C – Resumo da Sessão #1Variáveis
• Se as variáveis forem declaradas antes da função setup(), serão consideradas variáveis globais e por isso podem ser usadas em qualquer função do programa; se forem declaradas dentro de uma função, serão variáveis locais e só podem ser usadas nessa função;
• Alguns tipos: bool (boleana: true/ false, HIGH/LOW, 1/0); int (armazena números inteiros até 16 bits: de
-32768 a +32768);long (armazena números inteiros até 32 bits:
de -2147483648 a +2147483648 ); float (armazena números fracionários até 32
bits.
Progamação em C – Resumo da Sessão #1Porta série
• Serial.begin(taxa) Abre a porta série e fixa a taxa de transmissão e receção de dados entre o arduino e o computador. Os pinos 0 e 1 não podem ser usados como entradas ou saídas de dados quando a porta série é aberta.
• Serial.print(valor, formato) envia um carater ASCII para a porta série, valor esse que pode ter um determinado formato (número de casas decimais, base numérica…);
• Serial.println(valor, formato) igual à função anterior, mas muda de linha no final da transmissão.