Tecnologias Educacionais
_Cultura Digital
_Tecnologia Digital
_Pensamento Computacional
Games
_Língua Portuguesa
_Matemática
_Educação Física
Robótica
_Eletrônica
_Arduino
_Lego NXT
_Lego EV3
_Maker / Sucata
Programação
_Tinkercad
_Scratch
_Desplugada
MatemátiKeila
Biblioteca Virtual
Meus Projetos
Página inicial
Arduino
Jogo de Dados
Jogo de Dados
Professora Keila
maio 18, 2018
Crie agora mesmo um dado eletrônico e divirta-se!
Esquema de Montagem
Montagem na Prática
Programação
//Jogo de Dados //www.professorakeila.com.br // set to 1 if we're debugging #define DEBUG 0 // 6 consecutive digital pins for the LEDs int first = 2; int second = 3; int third = 4; int fourth = 5; int fifth = 6; int sixth = 7; // pin for the button switch int button = 12; // value to check state of button switch int pressed = 0; void setup() { // set all LED pins to OUTPUT for (int i=first; i<=sixth; i++) { pinMode(i, OUTPUT); } // set buttin pin to INPUT pinMode(button, INPUT); // initialize random seed by noise from analog pin 0 (should be unconnected) randomSeed(analogRead(0)); // if we're debugging, connect to serial #ifdef DEBUG Serial.begin(9600); #endif } void buildUpTension() { // light LEDs from left to right and back to build up tension // while waiting for the dice to be thrown // left to right for (int i=first; i<=sixth; i++) { if (i!=first) { digitalWrite(i-1, LOW); } digitalWrite(i, HIGH); delay(100); } // right to left for (int i=sixth; i>=first; i--) { if (i!=sixth) { digitalWrite(i+1, LOW); } digitalWrite(i, HIGH); delay(100); } } void showNumber(int number) { digitalWrite(first, HIGH); if (number >= 2) { digitalWrite(second, HIGH); } if (number >= 3) { digitalWrite(third, HIGH); } if (number >= 4) { digitalWrite(fourth, HIGH); } if (number >= 5) { digitalWrite(fifth, HIGH); } if (number == 6) { digitalWrite(sixth, HIGH); } } int throwDice() { // get a random number in the range [1,6] int randNumber = random(1,7); #ifdef DEBUG Serial.println(randNumber); #endif return randNumber; } void setAllLEDs(int value) { for (int i=first; i<=sixth; i++) { digitalWrite(i, value); } } void loop() { // if button is pressed - throw the dice pressed = digitalRead(button); if (pressed == HIGH) { // remove previous number setAllLEDs(LOW); buildUpTension(); int thrownNumber = throwDice(); showNumber(thrownNumber); } }
Arduino
Projetos Arduino Uno
Robótica Educacional
Postar um comentário
0 Comentários
Biblioteca Virtual
Tags
Arduino
Artes
Ciências
Cultura Maker
DIY
Estudo de Caso
Gamificação
Geografia
História
Kahoot
LEGO Mindstroms NXT
LEGO Minsdtorms EV3
Língua Portuguesa
Livros Digitais
Matemática
Noções de Eletrônica
OBR
Programação Desplugada
Projetos Arduino Uno
Projetos Robótica Educacional
Projetos Tecnologia Educacional
Robótica Educacional
Scratch
Tecnologia Educacional
Tinkercad
Tutoriais
Mais Lidos
Jogos de Educação Física
junho 05, 2024
Jogos de Língua Portuguesa
maio 17, 2024
Sites Formação
junho 26, 2024
Arquivos
2024
8
2023
11
2022
4
2020
34
2019
12
2018
56
2017
9
2016
4
2015
4
2014
4
2013
4
2012
2
Seguidores
Visitantes
Contact form
0 Comentários