apostila arduino - núcleo de estudos em robótica sheepset
DESCRIPTION
Apostila com exercicios para iniciantes do microcontrolador Arduino. Mais informações add no facebook!TRANSCRIPT
Apostila para
Desenvolvimento de
Práticas com Arduino
Núcleo de Estudos em Robótica SheepSet
IFSULDEMINAS – Câmpus Muzambinho
Informações úteis
Ligações da protoboard:
Escolhendo os pinos corretamente:
Funções nativas da programação no Arduino:
pinMode(p, c) – onde ‘p’ é o número da porta a ser configurada e ‘c’ é a
configuração INPUT ou OUTPUT.
digitalWrite(p, s) – ‘p’ é a porta e ‘s’ o estado HIGH ou LOW (1 ou 0)
digitalRead(p) – p é a porta digital que será lida.
analogRead(p) – p é a porta analógica que será lida.
analogWrite(p, valor) – p é a porta digital que simulará um sinal
analógico, e valor é qualquer valor de 0 a 255.
delay(t) – causa uma pausa em milisegundos
Serial.begin(v) – inicia a comunicação serial a uma velocidade ‘v’ em bauds.
Serial.print(“text”) – escreve uma string pela porta USB
Serial.println“text”) – escreve uma string pela porta USB quebrando a
linha
Serial.available() – retorn “true” se estiver recebendo algo pela porta USB
Serial.read() – lê o que está sendo recebido pela porta USB
Escopo do ambiente de programação Arduino:
1ª Prática: Blink LED 13
Dicas: utilize jumpers para interligar os componentes e utilize a figura 1 para
fazer as ligações corretamente.
Dificuldade: newbie
Componentes necessários:
Faça as ligações corretamente de acordo com o esquema abaixo:
Figura 1: esquemático prática 1
Desafio: coloque mais um LED e faça uma lógica com as
funções nativas do Arduino criando um “pisca-pisca”.
2ª pratica: LED 13 + Potenciômetro
Dicas: utilize jumpers para interligar os componentes e utilize a figura 2 para
fazer as ligações corretamente.
Dificuldade: newbie
Componentes necessários:
Faça as ligações corretamente de acordo com o esquema abaixo:
Figura 2: esquemático prática 2
Código:
Desafio: adicione mais um LED para funcionar como um
“giroflex” que pode ser controlado a velocidade de piscar dos
LEDs através do potenciômetro.
3ª prática: On/Off Botão + LED 13
Dicas: utilize jumpers para interligar os componentes e utilize a figura 3 para
fazer as ligações corretamente.
Dificuldade: newbie
Componentes necessários:
Faça as ligações corretamente de acordo com o esquema abaixo:
Figura 3: Esquemático prática 3
Desafio: coloque mais um LED e inverta, deixe um LED ligado
e outro desligado e quando o botão for pressionado um
desliga e outro liga.
Desafio 2: coloque um buzzer no lugar do LED (retire o
resistor) e faça-o apitar quando o botão for pressionado
(buzzer pode ser ligado na saída digital do LED).
4ª prática: Sensor NTC + Buzzer
Dicas: utilize jumpers para interligar os componentes e utilize a figura 4 para
fazer as ligações corretamente.
Dificuldade: expert
Componentes necessários:
Faça as ligações corretamente de acordo com o esquema abaixo:
Figura 4: Esquemático prática 4
Desafio: projeto termômetro – retire o buzzer e conecte um
ou mais LEDs e crie uma lógica com condições.
Exemplo: usando um LED Verde para baixas temperaturas e
um LED Vermelho para altas. Crie uma lógica com condições.
5ª prática: Semáforo com LEDs
Dicas: utilize jumpers para interligar os componentes e utilize a figura 5 para
fazer as ligações corretamente.
Dificuldade: medium
Componentes necessários:
Faça as ligações corretamente de acordo com o esquema abaixo:
Figura 5: Esquemático prática 5
Código:
// PROJETO SEMÁFORO
const int LedVermelho = 10; const int LedAmarelo = 9; const int LedVerde = 8;
void setup() {
pinMode(LedVermelho, OUTPUT); pinMode(LedAmarelo, OUTPUT);
pinMode(LedVerde, OUTPUT); }
void loop() { digitalWrite(LedVermelho, HIGH); // Acende a luz vermelha
delay(4000); // espera 4 segundos digitalWrite(LedAmarelo, HIGH); // Acende a luz amarela
delay(2000); // Espera 2 segundos
digitalWrite(LedVerde, HIGH); // Acende a luz verde digitalWrite(LedVermelho, LOW); // Apaga a luz vermelha digitalWrite(LedAmarelo, LOW); // Apaga a luz amarela
delay(6000); // Espera 6 segundos
digitalWrite(LedVermelho, HIGH); // Acende a luz vermelha digitalWrite(LedVerde, LOW); // Apaga a luz verde
delay(2000); // Espera 2 segundos digitalWrite(LedAmarelo, LOW); // Apaga a luz amarela
}
Desafio: coloque outro semáforo simulando um cruzamento.
Use comandos de condição ou repetição se necessário.
Créditos finais: Este documento foi baseado no RoboCore
Arduino Kit Iniciante V6.1 e códigos feitos pelo Núcleo de
Estudos em Robótica SheepSet.
Agradecimentos: Professor Heber Moreira, Laboratório de
Eletrônica/Sistemas Digitais e Robótica e Coordenação do
Curso de Ciência da Computação do IFSULDEMINAS –
Câmpus Muzambinho.