Sempre é bom fazer uma “fezinha”, vai que um dia a sorte nos ajuda. E caso você fique indeciso com os números que vai jogar, não tem problema, este exemplo chama-se LABSENA e vai selecionar os seis números aleatoriamente para você e mostrar no LCD.
.
Dificuldade:
Montagem:
Programação:
Material Utilizado:
A Montagem
O Sketch
#include <LiquidCrystal.h> //Inclui a biblioteca LiquidCrystal.h
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Instância o LCD com os respectivos que serão utilizados
#define botao 8 //Define botao como 8
int numero; //Variável para armazenar o número sorteado
int sorteio[6]; //Vetor com 6 posições para armazenar os 6 números
int i,j; //Variáveis para contagem
int aux; //Variável para auxiliar na ordenação dos números sorteados
void setup()
{
pinMode(botao, INPUT_PULLUP); //Configura o pino 8 como entrada
lcd.begin(16,2); //Inicia o Display LCD 16x2
randomSeed(analogRead(0)); //Função para sortear os números baseados na flutuação do pino A0
}
void loop()
{
lcd.setCursor(0,0); //Posiciona o cursor na primeira coluna da primeira linha
lcd.print(" Lab Sena"); //Escreve na primeira linha "Lab Sena"
while(digitalRead(botao)){} //Aguarda o botao ser pressionado
lcd.clear(); //Limpa a tela do LCD
lcd.setCursor(0,0); //Posiciona o cursor na primeira coluna da primeira linha
lcd.print("Sorteando..."); //Escreve na segunda linha "Sorteando..."
for(i=0;i<6;i++) //Laço para zerar os numeros sorteados
{
sorteio[i] = 0; //Zera a posição do numero sorteado
}
for(i=0; i<6;i++) //Laço para o sorteio dos 6 números
{
numero = random(1,61); //Sorteia um número de 1 a 60
for(j=0;j<6;j++) //Laço para o sorteio caso o número seja repetido
{
if(numero == sorteio[j]) //Se o número for repetiro
{
numero = random(1,61); //Sorteia um número de 1 a 60
}
}
sorteio[i] = numero; //Armazena o número sorteado na respectiva posição da contagem
delay(500); //Aguarda 500 milissegundos
}
//Aplicação de bubble sort para ordenação dos numeros sorteados
for(i=0 ; i<5 ; i++)
{
for(j=i ; j<6 ; j++)
{
if(sorteio[j] < sorteio[i])
{
aux = sorteio[i];
sorteio[i] = sorteio[j];
sorteio[j] = aux;
}
}
}
//============================================================
//Numeros sorteados
lcd.clear(); //Limpa a tela do LCD
lcd.setCursor(0,0); //Posiciona o cursor na primeira coluna da primeira linha
//Imprime os números no LCD
for(i=0;i<5;i++)
{
if(i==3) lcd.setCursor(0,1);
lcd.print(sorteio[i]);
if(i==2){}
else lcd.print(" - ");
}
lcd.print(sorteio[i]); //Imprime no LCD
//======================================
while(digitalRead(botao)){} //Aguarda o botao ser pressionado
while(!digitalRead(botao)){} //Aguarda o botao ser despressionado
lcd.clear(); //Limpa a tela do LCD
}