Adquira estes componentes na Loja do Lab de Garagem
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
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?
,
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)
© 2024 Criado por Marcelo Rodrigues. Ativado por
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)