"Eletroeletrônica e Informações"
Home
Artigos

Circuitos

Arduino
Pic
Informações
ARDUINO

Dado Eletrônico - Autor: Ivanildo M. Gonçalves

aa

Veja o vídeo aqui

Trata-se de uma imitação do jogo de dado original com cubo. E o código é uma modificação/adapatação da publicação do Site:http://makers2gh.com/en/recipe/dado-con-arduino Este dado apresenta um numero aleatório, em forma de dado, apenas enquanto o botão é precionado e apaga quando o botão for solto.
Habilitei o resistor interno de pull-up do Chip dispensando o uso do resistor externo.

Foi habilitada a comunicação serial no código, caso queira apenas testar o código você pode fazê-lo sem usar os leds, bastando abrir o monitor serial da IDE do arduino e visualizar a geração do numero aleatório quando o botão é pressionado.
aa
A montagem foi acondicionada em uma caixa de mdf pequena onde os leds foram fixados na parte superior. Os resitores foram soldados diretamente nos terminais dos leds, dispensando assim, uma PCB para isso.

aa

Na imagem acima, o acendimento dos leds na formação dos numeros.

aa

O circuito elétrico dos leds (imagem acima) e resitores é muito simples e pode ser montado diretamente numa protoboard se você quiser apenas testar o circuito.

Componentes eletrônicos:

R1, R2, R3, R4 e R5 = 100R

Led1 a Led7 = Led vermelho de 5mm

Botão = Chave tátil normal aberta ou qualquer push botton normal aberto.

Em breve estarei publicando o restante da matéria com as fotos da montagem "Stand alone", ou seja, com o chip Atmega 328 funcionando fora da placa do Arduino.

Código do arduino:

/*
Por Ivanildo Martins Gonçalves

19/02/2015-----------21:53
*/

int pinLeds1 = 10; // em nivel alto acende os leds 1 e 2.
int pinLeds2 = 11; // em nivel alto acende os leds 5 e 6.
int pinLeds3 = 12; // em nivel alto acende os leds 3 e 4.
int pinLed4 = 13; // em nivel alto acende o led 7.
int buttonPin = 9; // entrada para o botão
int buttonState;
long ran;
int time = 100;

void setup ()
{
Serial.begin(9600);
pinMode (pinLeds1, OUTPUT);
pinMode (pinLeds2, OUTPUT);
pinMode (pinLeds3, OUTPUT);
pinMode (pinLed4, OUTPUT);
pinMode (buttonPin, INPUT_PULLUP);

randomSeed(analogRead(0));
}

void loop()
{
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH)
{
ran=random(1,7);
}

if (buttonState == LOW)
{

if (ran == 1){
digitalWrite (pinLed4, HIGH);
Serial.println(ran);
delay(time);
}
if (ran == 2){
digitalWrite (pinLeds1, HIGH);
Serial.println(ran);

delay(time);
}
if (ran == 3){
digitalWrite (pinLeds1, HIGH);
digitalWrite (pinLed4, HIGH);
Serial.println(ran);

delay(time);
}
if (ran == 4){
digitalWrite (pinLeds1, HIGH);
digitalWrite (pinLeds3, HIGH);
Serial.println(ran);

delay(time);
}
if (ran == 5){
digitalWrite (pinLeds1, HIGH);
digitalWrite (pinLeds3, HIGH);
digitalWrite (pinLed4, HIGH);
Serial.println(ran);
delay(time);
}
if (ran == 6){
digitalWrite (pinLeds1, HIGH);
digitalWrite (pinLeds2, HIGH);
digitalWrite (pinLeds3, HIGH);
Serial.println(ran);

delay(time);
}
}
digitalWrite (pinLeds1, LOW);
digitalWrite (pinLeds2, LOW);
digitalWrite (pinLeds3, LOW);
digitalWrite (pinLed4, LOW);

}

 

 

 

 

Treinamento Em Arduino

Loja Virtual

Artigos   Circuitos Arduino Pic Informações