Sommario:

DADI ELETTRONICI UTILIZZANDO CLOUDX M633: 5 passaggi
DADI ELETTRONICI UTILIZZANDO CLOUDX M633: 5 passaggi

Video: DADI ELETTRONICI UTILIZZANDO CLOUDX M633: 5 passaggi

Video: DADI ELETTRONICI UTILIZZANDO CLOUDX M633: 5 passaggi
Video: Dado elettronico fai-da-te, Arduino NANO incontra i giochi da tavolo 2024, Dicembre
Anonim
DADI ELETTRONICI UTILIZZANDO CLOUDX M633
DADI ELETTRONICI UTILIZZANDO CLOUDX M633

Tutti dobbiamo aver giocato al gioco d'azzardo in un modo o nell'altro usando i dadi. Conoscere la natura molto imprevedibile di ciò che si rivelerebbe il lancio dei dadi aggiunge ulteriore divertimento al gioco.

Con la presente, presento un dado digitale elettronico che utilizza semplici LED, un pulsante e il modulo CloudX M633 per implementarlo.

Fase 1: COMPONENTI

COMPONENTI
COMPONENTI
COMPONENTI
COMPONENTI
COMPONENTI
COMPONENTI
  • CloudX M633
  • Scheda software CloudX
  • LED
  • Resistori (100r, 10k)
  • Tagliere
  • Cavo del ponticello
  • premi il bottone
  • Cavo V3

Passaggio 2: LED

LED
LED

I diodi emettitori di luce (LED) sono il tipo speciale di diodi che si illuminano quando la corrente li attraversa. Solo che viene prestata la massima attenzione a limitare la quantità effettiva di corrente che li attraversa in modo da evitare di danneggiarli inavvertitamente durante il processo.

Passaggio 3: interfacciare i LED con CloudX M633

Interfacciamento dei LED con CloudX M633
Interfacciamento dei LED con CloudX M633

L'intero circuito è composto da due sezioni: rispettivamente il microcontrollore e le sezioni LED. I LED sono organizzati in due insiemi con ciascuno −(composto da 7 LED), che rappresentano le facce normali di un dado; e sono collegati al pin P1 attraverso il pin P14 del modulo MCU.

L'intera operazione ruota attorno al modulo del microcontrollore come il cuore pulsante dell'intero progetto. It (MCU) può essere acceso:

  • o tramite i punti VIN e GND (cioè collegandoli rispettivamente ai terminali +ve e –ve dell'alimentatore esterno) sulla scheda;
  • o tramite il modulo softcard USB CloudX.

Come chiaramente illustrato nello schema qui sopra, i LED sono disposti in modo tale che quando si accendono indichino i numeri come farebbero in un vero dado. E stiamo lavorando con due serie di LED per rappresentare due pezzi di dadi separati. Tutti sono collegati nell'attuale modalità di affondamento.

Il primo gruppo di LED comprendente: D1, D2, D3, D4, D5, D6 e D7; sono collegati ai pin dell'MCU: P1, P2, P3, P4, P5, P6 e P7 rispettivamente tramite resistori da 10Ω. considerando che l'altro gruppo composto da: D8, D9, D10, D11, D12, D13 e D14; sono collegati ai pin dell'MCU: P9, P10, P11, P12, P13, P14 e P15 rispettivamente tramite resistori da 10Ω.

Quindi, l'interruttore a pulsante SW1 -con il quale effettuiamo una generazione di numeri casuali tramite la pressione di un interruttore, è collegato al pin P16 dell'MCU utilizzando un resistore di pull-up di 10kΩ.

Passaggio 4: Principi di funzionamento

All'accensione i led sono normalmente tutti spenti per indicare che il sistema è pronto per la generazione di un nuovo numero casuale da visualizzare. Alla pressione dell'interruttore viene così generato un numero casuale compreso tra 1 e 6 che viene visualizzato tramite i LED; e rimani acceso in attesa quando viene eseguita di nuovo un'altra pressione dell'interruttore.

Passaggio 5: CODIFICA

#includere

#includere

#define switch1 pin16

#define premuto BASSO

/*contiene i modelli di dadi da emettere sui LED */

unsigned char die = {0, 0x08, 0x14, 0x1C, 0x55, 0x5D, 0x77};

unsigned char i, dice1, dice2;

setup(){ //imposta qui /*configura i pin della porta come output */ portMode(1, OUTPUT); portMode(2, 0b10000000); /*spegne tutti i LED all'inizio */ portWrite(1, LOW); portWrite(2, LOW); randNumLimit(1, 6); //si occupa dell'intervallo di generazione randomNumber (es. min, max)

ciclo continuo(){

//Programma qui if(switch1 è premuto) { while(switch1 è LOW); //aspetta qui finché l'interruttore non viene rilasciato dice1 = randNumGen(); //genera un numero casuale per dadi1 dice2 = randNumGen(); portWrite(1, die[dice1]); //preleva il modello di dadi corretto e lo visualizza portWrite(2, die[dice2]); } else { portWrite(1, die[dice1]); portWrite(2, die[dice2]); } } } //Fine del programma

Consigliato: