Cuprins:

ZARĂ ELECTRONICĂ FOLOSIND CLOUDX M633: 5 pași
ZARĂ ELECTRONICĂ FOLOSIND CLOUDX M633: 5 pași

Video: ZARĂ ELECTRONICĂ FOLOSIND CLOUDX M633: 5 pași

Video: ZARĂ ELECTRONICĂ FOLOSIND CLOUDX M633: 5 pași
Video: TheFatRat - Fly Away (Lyrics) feat. Anjulie 2024, Iulie
Anonim
ZARĂ ELECTRONICĂ FOLOSIND CLOUDX M633
ZARĂ ELECTRONICĂ FOLOSIND CLOUDX M633

Cu toții trebuie să fi jucat jocul întâmplării într-un fel sau altul folosind zarurile. Cunoașterea naturii foarte imprevizibile a ceea ce ar arăta aruncarea zarurilor ar adăuga un joc mult mai distractiv.

Prin prezenta, vă prezint un zar digital electronic folosind LED-uri simple, un buton și modulul CloudX M633 pentru a-l implementa.

Pasul 1: COMPONENTE

COMPONENTE
COMPONENTE
COMPONENTE
COMPONENTE
COMPONENTE
COMPONENTE
  • CloudX M633
  • SoftX CloudX
  • Leds
  • Rezistoare (100r, 10k)
  • BreadBoard
  • Sârmă jumper
  • apasa butonul
  • Cablu V3

Pasul 2: LED-uri

LED-uri
LED-uri

Diodele cu lumină (LED-uri) sunt tipul special de diode care strălucesc atunci când curentul trece prin ele. Doar acea grijă maximă este limitată cantitatea reală de curent care este trecut prin ele, pentru a evita deteriorarea accidentală a acestora în proces.

Pasul 3: interfațarea LED-urilor cu CloudX M633

Interfața LED-urilor cu CloudX M633
Interfața LED-urilor cu CloudX M633

Întregul circuit este alcătuit din două secțiuni: microcontrolerul și respectiv secțiunile LED. LED-urile sunt organizate în două seturi cu fiecare - (cuprinzând 7 LED-uri), reprezentând fețele normale ale unui zar; și sunt conectate la pinul P1 până la pinul P14 al modulului MCU.

Întreaga operațiune se învârte în jurul modulului de microcontroler ca bătăile inimii întregului proiect. Acesta (MCU) poate fi pornit:

  • fie prin punctele VIN și GND (adică conectarea acestora la terminalele + ve și –ve ale unității de alimentare externe, respectiv) de pe placă;
  • sau prin modulul dvs. de card soft USB CloudX.

După cum este clar ilustrat în schema de mai sus, LED-urile sunt aranjate în așa fel încât, atunci când se aprind, să indice numerele așa cum ar fi într-un zar real. Și lucrăm cu două seturi de LED-uri pentru a reprezenta două bucăți separate de zaruri. Toate acestea sunt conectate în modul curent de scufundare.

Primul grup de LED-uri cuprinzând: D1, D2, D3, D4, D5, D6 și D7; sunt conectate la pinii MCU: P1, P2, P3, P4, P5, P6 și respectiv P7 prin rezistențe de 10Ω. Întrucât celălalt grup format din: D8, D9, D10, D11, D12, D13 și D14; sunt conectate la pinii MCU: P9, P10, P11, P12, P13, P14 și respectiv P15 și prin intermediul rezistențelor de 10Ω.

Apoi, comutatorul cu buton SW1 - cu care realizăm o generație aleatorie de numere printr-o presă de comutare, este conectat la pinul P16 al MCU folosind un rezistor de tracțiune de 10kΩ.

Pasul 4: Principii de funcționare

La pornire, LED-urile sunt în mod normal toate Off pentru a indica faptul că sistemul este pregătit pentru generarea unui nou număr aleatoriu pentru afișare. La apăsarea comutatorului, un număr aleatoriu cuprins între 1 și 6 este astfel generat și se afișează prin intermediul LED-urilor; și rămâneți activ în așteptare când se face din nou o altă apăsare de comutare.

Pasul 5: CODIFICARE

#include

#include

#define switch1 pin16

#define a apăsat LOW

/ * deține tipare de zaruri pentru a fi afișate pe LED-uri * /

caractere nesemnate = {0, 0x08, 0x14, 0x1C, 0x55, 0x5D, 0x77};

nesemnat char i, dice1, dice2;

setup () {// setup here / * configurează pinii porturilor ca ieșire * / portMode (1, OUTPUT); portMode (2, 0b10000000); / * oprește toate LED-urile la pornire * / portWrite (1, LOW); portWrite (2, LOW); randNumLimit (1, 6); // are grijă de intervalul de generare aleatoriu (adică min, max)

buclă(){

// Programați aici dacă (comutatorul1 este apăsat) {în timp ce (comutatorul1 este LOW); // așteaptă aici până când comutatorul este eliberat dice1 = randNumGen (); // generează un număr aleatoriu pentru zaruri1 zaruri2 = randNumGen (); portWrite (1, die [dice1]); // preia modelul corect de zaruri și îl afișează portWrite (2, die [dice2]); } else {portWrite (1, die [dice1]); portWrite (2, die [dice2]); }}} // Sfârșitul programului

Recomandat: