Este tutorial mostra como utilizar a função random() para gerar números aleatórios e mostra como utilizar a interrupção externa por meio de um botão.
A interrupção externa pode ser utilizada nos pinos digitais 2 e 3 do Arduino UNO e nos pinos digitais 18, 19, 20 e 21 do Arduino MEGA.
Ao apertar um botão como visto no vídeo, o Arduino entra na função da interrupção. Ao entrar na função da interrupção, o LED acende e mostra no LCD 16x2.
Para fazer a ligação abaixo, será necessário os seguintes componentes:
Depois de feito as ligações acima, abra a IDE do Arduino e passe a seguinte programação:
#include <LiquidCrystal.h> // we need this library for the LCD commands
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
float noisy = 0;
void setup()
{
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
lcd.begin(16, 2); // need to specify how many columns and rows are in the LCD unit
lcd.setCursor(0,0);
lcd.println(" Lab de Garagem ");
lcd.setCursor(0,1);
delay(4000);
lcd.clear();
randomSeed(analogRead(0)); // reseed the random number generator with some noise
attachInterrupt(0, interruptone, RISING); // so when interrupt zero (digital pin 2) changes state, it will trigger the interrupt and go to function 'panicone'
attachInterrupt(1, interrupttwo, RISING); // so when interrupt one (digital pin 3) changes state, it will trigger the interrupt and go to function 'panictwo'
}
void loop()
{
noisy=random(1000);
lcd.setCursor(0,0);
lcd.write("Random Numbers!");
lcd.setCursor(0,1);
lcd.print("Number: ");
lcd.print(noisy,0);
delay(1000);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
}
void interruptone()
{
lcd.clear();
lcd.println("Interrupt one ");
digitalWrite(4,HIGH);
}
void interrupttwo()
{
lcd.clear();
lcd.println("Interrupt two ");
digitalWrite(5,HIGH);
}
As interrupções são declaradas como:
Depois de copiar e colar o código acima na IDE do Arduino, conecte seu Arduino na porta USB do seu PC e selecione a versão do seu Arduino (UNO, Duemilanove, etc) em "Tools/Board" e selecione a porta em que seu Arduino está conectado (COMx, ttyUSBx, ttyACMx, etc). Clique em UPLOAD.
Ao terminar de fazer o UPLOAD. O Arduino funcionará como o vídeo.
E é isso! Esperamos que tenha gostado! Em caso de dúvidas, poste aqui neste blog! Para sugestões de tutoriais, clique aqui! Para ver outros tutoriais e projetos desenvolvidos pela equipe LdG e por outros garagistas, clique aqui e aqui! Até a próxima!
Referências:
http://tronixstuff.wordpress.com/2010/04/20/getting-started-with-ar...
http://arduino.cc/en/Reference/AttachInterrupt
http://labdegaragem.com/profiles/blogs/tutorial-lcd-com-arduino
Comentar
Comentário de Eloir Olszeweski em 11 junho 2013 às 11:44 Olá
To com um probleminha aqui, é o seguinte esse programa não ta rodando legal no meu arduino, o lcd fica todo embaralhado, e correndo não da para distinguir nada, oque pode ser alguém já teve esse problema, sera que pode ser o meu display?
,
Comentário de jorge rocha em 2 outubro 2012 às 0:13 Olá!
Alguém pode ajudar a usar estas funções de modo a fazer com 24 LEDs e um só botão interrupt, que ligue um LED aleatório quando se apertar o botão e apertando novamente liga outro LED aleatório mas sem apagar o que já estava ligado?
Obrigado,
Jorge
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
Por: R$ 29,00
Ou em até 6x de
R$ 5,18
Por: R$ 57,00
Ou em até 13x de
R$ 5,02
(com Arduino Uno REV3 Original)
Por: R$ 149,00
Ou em até 18x de
R$ 9,93
Kit Completo de Ferramentas - Avançado
Por: R$ 540,00
Ou em até 18x de
R$ 35,99
© 2013 Criado por Marcelo Rodrigues.
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)