Cuprins:

Zaruri arduino: 10 pași (cu imagini)
Zaruri arduino: 10 pași (cu imagini)

Video: Zaruri arduino: 10 pași (cu imagini)

Video: Zaruri arduino: 10 pași (cu imagini)
Video: 10 MOMENTE Când Oamenii S au Trezit Din MOARTE În Timpul Propriilor ÎNMORMÂNTĂRI 2024, Iunie
Anonim
Image
Image
Funcții de zaruri
Funcții de zaruri

Acest instructiv este despre cum puteți construi un zar electronic foarte frumos folosind un afișaj oled și un Arduino uno sau similar. La începutul acestui proiect am decis că după finalizarea prototipului am vrut să construiesc o versiune personalizată, așa că în acest inexplorabil există descrieri despre cum să construiți versiunea prototip și sfaturi utile dacă doriți să vă construiți propria versiune personalizată.

Videoclipul arată versiunea și funcțiile finale de zaruri personalizate.

Pasul 1: Funcții de zaruri

Zarurile au un comutator selectiv pentru a alege între 1 sau 2 zaruri. De asemenea, au un element piezo pentru a genera sunet atunci când zarurile rulează prin numere aleatorii și când se oprește. Atâta timp cât comutatorul de rola este ținut apăsat, zarurile rulează și afișează numere aleatorii pe ecran. Când butonul este eliberat, începe să încetinească un număr aleatoriu de timp până când se oprește în cele din urmă și arată rezultatele. Aceasta este pentru a simula comportamentul unui zar real.

Dice are un circuit de oprire automată pentru a economisi bateriile.

Dacă nu folosiți zarurile timp de 60 sec, puterea se oprește automat.

În software există o funcție de pornire sau dezactivare a sunetului ținând apăsat butonul de selectare mai mult de o secundă.

Pasul 2: funcția de oprire automată

Funcția de oprire automată
Funcția de oprire automată

Zarurile au funcția de a se opri singure atunci când nu sunt folosite pentru a economisi baterii, consultați schemele pentru circuitul de oprire automată.

Asa functioneaza:

Circuitul constă dintr-un tranzistor P FET care acționează ca un comutator. Poarta tranzistorului este controlată de un buton momentan standard (S1). Când comutatorul este apăsat, tensiunea scade pe poartă și curentul începe să curgă prin tranzistor. Pe poartă există un alt tranzistor în paralel cu comutatorul la masă. Tranzistorul menține tensiunea scăzută pe poarta FET atâta timp cât tensiunea de pe bază este ridicată. Tensiunea de bază se aplică de la microcontroler și unul dintre primele lucruri pe care schița le face atunci când controlerul este alimentat este să setați pinul digital 8 la Înalt și prin intermediul software-ului să blocheze circuitul. Regulatorul de tensiune 7805 stabilizează tensiunea la 5V și cele două diode împiedică cele 9 volți de la baterie să ajungă la microcontroler. Același comutator este, de asemenea, utilizat pentru a controla intrarea digitală de pe controler (pinul 7).

În schiță măsurăm timpul scurs de când a fost apăsat butonul și îl comparăm cu timpul de pornire determinat.

Înainte ca puterea să se oprească zarurile / zarurile încep să clipească și un semnal de avertizare este emis din piezo, astfel încât utilizatorul să aibă timp să apese din nou comutatorul pentru a reseta temporizatorul.

Chiar înainte ca alimentarea să se oprească, microcontrolerul stochează cel mai recent număr în memoria EEPROM, împreună cu numărul selectat de zaruri / zaruri și starea sunetului. Aceste valori sunt reamintite la următorul start al zarurilor.

Pasul 3: Prototipul

Prototipul
Prototipul

Acum este timpul să începem să construim.

Ai nevoie:

  • 1 BreadBoard fără sudură
  • 1 Arduino Uno
  • 1 afișaj OLED 128x64 i2c
  • 2 condensatoare 10uF
  • 1 condensator 100nF
  • 2 rezistențe 10Kohm
  • 2 rezistor 100Kohm
  • 2 diode 1n4148
  • 1 tranzistor NPN BC547b
  • 1 MosFET IRF9640
  • 1 VoltageRegulator L7805
  • 2 comutatoare mometare
  • 1 Piezo
  • Jumper Wire
  • Baterie de 9 V.

Asta e.

Urmați cu atenție imaginea înfricoșătoare de mai sus

Acordați o atenție suplimentară diodei din spatele regulatorului de tensiune din imagine (greu de văzut), D1 în schemă. Partea anodică a diodei ar trebui conectată la colectorul tranzitorului BC547.

Piezo este conectat la pinul 6, butonul Roll la pinul 7, butonul Selectați la pinul 10 și controlul Power_ON la pinul 8.

Nu uitați să alimentați Arduino Uno prin pinul de 5V și pinul de masă de pe placa Arduino și nu prin jacheta de curent continuu pe lateral.

Schița folosește U8g2lib.h pentru afișare, o găsiți aici, https://github.com/olikraus/u8g2/, descărcați și instalați înainte de a compila codul.

Cum se instalează biblioteci? Https: //www.arduino.cc/en/Guide/Libraries

Copiați codul și lipiți-l în Arduino IDE și încărcați schița.

Nu uitați să scoateți cablul USB din Arduino când terminați, altfel funcția de oprire automată nu va funcționa deoarece USB / computerul alimentează controlerul.

Pasul 4: Versiunea personalizată

Versiunea personalizată
Versiunea personalizată
Versiunea personalizată
Versiunea personalizată
Versiunea personalizată
Versiunea personalizată
Versiunea personalizată
Versiunea personalizată

Restul acestui instructable este despre sfaturi și trix, dacă doriți să îl convertiți într-o versiune mai utilă și personalizată.

Pentru a desena schema completă pentru versiunea personalizată, am folosit schema online gratuită și software-ul PCB EASYEDA Îl găsiți aici

Când comandați componentele, trebuie să vă asigurați că microcontrolerul are încărcătorul de încărcare Arduino pe cip, dacă nu, trebuie să pregătiți mai întâi cipul. Este o mulțime de tutoriale pe web cum să o faceți.

Am adăugat componente suplimentare care nu sunt utilizate în acest proiect, dar sunt disponibile pentru proiectele viitoare. U4, U5, R4, S2.

Antetul PGM din schemă este utilizat pentru programarea cipului. Dacă doriți să programați cipul utilizând portul PGM, aveți nevoie de un adaptor USB la Serial.

Plăci USB către serie UART

Desigur, puteți încărca schița pe controler folosind placa Arduino și apoi mutați cipul pe PCB.

EASYEDA oferă, de asemenea, o funcție pentru fabricarea PCB-ului pentru dvs.

Înainte de a începe să convertesc schema în aspectul PCB, alegeam o cutie care să aibă dimensiunea și spațiul potrivit pentru o baterie de 9 volți care poate fi schimbată din exterior.

Motivul pentru aceasta a fost că am avut nevoie de dimensiuni și unde să plasez gaura pe PCB pentru șuruburi înainte de a începe să fac aspectul, astfel încât PCB-ul final se va potrivi perfect în cutie.

Măsoară dimensiunea internă de pe cutie foarte atent și apoi convertesc designul pe placa de dimensiuni personalizate folosind același software și apoi dau clic pe butonul Fabricare și am plasat o comandă.

Pasul 5: lipire

Lipire
Lipire
Lipire
Lipire

Deoarece trebuie să comand mai mult de un PCB pentru a obține un preț rezonabil, îl proiectez pentru a fi versatil, astfel încât să pot folosi aceeași placă și cutie pentru proiecte viitoare. Am adăugat pini suplimentari pentru porturile analogice și digitale, împreună cu butoane suplimentare. În acest proiect folosesc S1 pentru a porni circuitul și pentru a arunca zarurile și S3 ca Select. Când ați primit PCB-ul, este timpul să lipiți toate componentele la locul potrivit. Pe PCB-ul meu, afișajul și butoanele sunt montate pe partea din spate pentru a micșora dimensiunea și a fi accesibil din exterior.

Când îmi construiam zarurile, mi-am dat seama că ar fi bine dacă ai putea scutura cutia pentru a o alimenta și a arunca zarurile. Dacă vrei această caracteristică, trebuie să faci o mică modificare circuitului.

Modificare:

Schimbați comutatorul de rola (S1), la un senzor de înclinare și adăugați un condensator 100uF în paralel cu comutatorul pentru a menține nivelul de pe poarta FET suficient de mic, astfel încât microcontrolerul să aibă timp pentru a porni și seta portul de ieșire digital HIGH și blocați circuitul de „pornire”.

Trebuie să montați senzorul de înclinare pe pinii de extensie, astfel încât să îl puteți îndoi și să reglați unghiul, astfel încât comutatorul să fie oprit când cutia este așezată pe masă.

Tiltsensor

Pasul 6: Decupați găurile necesare în cutie

Decupați găurile necesare în cutie
Decupați găurile necesare în cutie
Decupați găurile necesare în cutie
Decupați găurile necesare în cutie

Când ați terminat cu PCB-ul, este timpul să faceți găurile în cutie. Pentru a tăia orificiul pătrat pentru afișaj, am folosit un microfrezator, dar, desigur, puteți folosi un ferăstrău mic sau similar.

Pasul 7: Panoul frontal

Panoul frontal
Panoul frontal
Panoul frontal
Panoul frontal

Apoi, aveți nevoie de un panou frontal drăguț. Am desenat panoul în „software smart-draw”, dar puteți utiliza aproape orice software de desen care vă place.

Când ați terminat desenul, imprimați-l pe o imprimantă laser color standard sau similar, dar pe o hârtie puțin mai groasă decât în mod normal. Luați o foaie de plastic care are lipici pe ambele părți. Scoateți foaia de protecție dintr-o parte și lipiți cu grijă panoul. puteți găsi acest film plastic în majoritatea magazinelor de hârtie.

Pasul 8: tăierea găurilor în panou

Tăierea găurilor în panou
Tăierea găurilor în panou
Tăierea găurilor în panou
Tăierea găurilor în panou
Tăierea găurilor în panou
Tăierea găurilor în panou
Tăierea găurilor în panou
Tăierea găurilor în panou

Decupați găurile din panou cu un cuțit ascuțit de hârtie. Pentru găurile rotunde ale butoanelor, utilizați un perforator. Acum, panoul arată ca un autocolant obișnuit, dar înainte de a-l lipi pe cutie, trebuie să-l îmbrăcați cu un strat protector de lac. Când panoul s-a uscat, lipiți-l cu atenție pe cutie.

Pasul 9: Sfârșitul proiectului

Sfârșitul proiectului
Sfârșitul proiectului
Sfârșitul proiectului
Sfârșitul proiectului

Când ajungeam la sfârșitul acestui proiect, din păcate, constat că zarurile îngheață uneori când îl scutur și trebuiau repornite.

Nu am avut niciodată această problemă în timpul prototipurilor, așa că am fost puțin confuz, dar am constatat că acest lucru se datora zgomotului proiectat pe pinii SDA, SCL ai afișajului.

Soluția a fost de a adăuga la rezistențe suplimentare 1k pe fiecare pin la 5V ca pull-up, vezi imaginea. După aceea zarurile funcționează perfect așa cum era de așteptat.

Pasul 10: Se agită și se rulează

A se distra.

Recomandat: