Dados digitais Arduino
Componentes e suprimentos
| | × | 1 | |
| Fios de jumpers (genérico) | | × | 1 | |
| Adafruit LCD padrão - 16x2 branco em azul | | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| Potenciômetro rotativo (genérico) | | × | 1 | |
| SparkFun Botão de pressão 12 mm | | × | 1 | |
Sobre este projeto
Ideação
Este projeto foi baseado na ideia de que eu estava entediado com meus dados de jogo normais. Então, para consertar meu tédio, decidi usar meu Arduino LCD e botão padrão (com uma placa de breakout) e fiz o Arduino ler o estado do pino de sinal na placa de botão para alto ou baixo (alto se o botão não estiver pressionado ) (baixo se não). Dependendo do estado, ele permaneceria na tela principal ou mostraria que os dados estão rolando e, em seguida, imprimiria dois números aleatórios de 1 a 6 (como um dado).
Código
O código Arduino
#include long randNumber; int Led =13; // define LED portint Shock =2; // define choque portint val; // define a variável digital val // inicializa a biblioteca com os números da interface pinsLiquidCrystal lcd (7, 8, 9, 10, 11, 12); byte customChar [] ={B00000, B00000, B11111, B11001, B10101, B10011, B11111, B00000}; configuração de vazio () {lcd.begin (16, 2); lcd.createChar (0, customChar); lcd.home (); pinMode (Led, OUTPUT); // define LED como uma porta de saída randomSeed (analogRead (0)); pinMode (Shock, INPUT); // define o sensor de choque como uma porta de saída lcd.write (byte (0)); lcd.print ("Dados digitais"); lcd.write (byte (0)); atraso (1000);} loop vazio () {val =digitalRead (choque); // ler o valor da interface digital 3 atribuída a val if (val ==LOW) // quando o sensor de choque tiver sinal, faça o seguinte {lcd.clear (); lcd.print ("Dados rolando ..."); atraso (4000); lcd.clear (); lcd.setCursor (0, 0); randNumber =aleatório (1,7); lcd.print ("Dado 1 ="); lcd.print (randNumber); lcd.setCursor (0, 1); randNumber =aleatório (1,7); lcd.print ("Dados 2 ="); lcd.print (randNumber); } atraso (150);}
Esquemas