Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Evo samo jednostavnog vodiča za stvaranje teleskete pomoću Arduina. Ovaj dizajn koristi Arduino, dvije LED matrice 8x32, zujalicu, dva rotacijska kodera i neke tipke. Nadamo se da ćete naučiti kako koristiti rotacijske enkodere i LED matricu. Nada se i da ćete se zabaviti slijedeći korake i izgraditi vlastitu retro telesketu !!
Korak 1: Odabir komponenti
Potrebni materijali:
Za kutiju:
- DM 2 mm
- Akrilno staklo (bijelo)
- Boja (boja koju želite)
- 3D štampani omot za rotacijski koder (dokument u prilogu)
Za elektroniku:
- Led matrica 8 x 32 (2 jedinice)
- Rotacijski davač (2 jedinice)
- Taster (3 jedinice)
- Zujalica
- Otpornici 220 ohma (2 jedinice)
- Žice za spajanje (28 jedinica)
- 9V baterija
Korak 2: Izrada kutije
Za izradu kutije možda ćete imati pristup laserskom rezaču.
Dizajnirali smo kutiju tako da ima retro izgled i atraktivan oblik bez uglova. Kutija je izrađena od DM -a, jeftinijeg drveta i savršenog za lasersko rezanje.
Da biste izrezali okvir, morate preuzeti priloženi dokument, koji sadrži sve oblike spremne za rezanje laserom.
Za sastavljanje dijelova koje preporučujemo upotrijebite ljepilo za topljenje koje je jako i brzo.
- Jele morate spojiti 2 rebra kako biste učinili 1 jačim, na kraju ćete imati po 2 rebra napravljena od 2 rebra.
- Zatim spojite zid na rebra.
- Uzmite prednji poklopac i zakačite okvir ekrana straga.
- Obojite sve drvene dijelove bojom koja vam se više sviđa !! (odabrali smo električno plavo)
- Postavite staklo od akrilnog stakla.
- Spojite prednji poklopac i zid s rebrima.
- Nemojte spajati stražnji poklopac dok elektronika nije na svom mjestu.
Korak 3: Montiranje elektronike
Gornja fotografija prikazuje postavljanje projekta. Krug treba postaviti na sljedeći način:
- Spojite crvenu žicu s 5V pina na Arduinu na pozitivni kanal matične ploče.
- Spojite crnu žicu s GND pina na arduinu na negativni kanal matične ploče
- Zvučni signal = pin 8
- Led matrica
- VCC
- GND
- DIn = pin 12
- CS = pin 11
- CLK = pin 10
-
Rotacijski koder (1)
- VCC
- GND
- DT = pin 3
- CLK = pin 4
-
Rotacijski koder (2)
- VCC
- GND
- CS = pin 5
- CLK = pin 6
- Pritisnite dugme (resetovanje) = pin 1
- Pritisnite dugme (reprodukcija) = pin 2
Korak 4: Kôd
Sada kada ste dovršili postavljanje, vrijeme je za kodiranje. Možete kopirati sljedeći kôd i izmijeniti ga kako biste nadogradili telesketch.
// Uvijek moramo uključiti biblioteke
#include "LedControl.h" #include "parches.h" LedControl lc = LedControl (12, 11, 10, 8); int val; int enkoder0PinA = 3; int enkoder0PinB = 4; int enkoder0Pos = 0; int encoder0PinALast = LOW; int n = LOW; int valo; int enkoder1PinA = 5; int enkoder1PinB = 6; int enkoder1Pos = 0; int encoder1PinALast = LOW; int o = LOW; int adresa = 3; int uređaji = lc.getDeviceCount (); int melodija = NOTE_D5; int melodija1 = NAPOMENA_C5; int trajanje = 50; boolean play = false; logički meni = false; nepotpisano dugo kašnjenje = 500; void setup () {pinMode (2, INPUT); pinMode (1, INPUT); pinMode (7, INPUT); pinMode (encoder0PinA, INPUT); pinMode (encoder0PinB, INPUT); pinMode (encoder1PinA, INPUT); pinMode (encoder1PinB, INPUT); Serial.begin (9600); int uređaji = lc.getDeviceCount (); for (int address = 0; address = 0) {if (encoder1Pos 4) {if (encoder1Pos> 7) {adresa--; enkoder1Pos = 0; }} if (adresa <3) {if (enkoder1Pos 3 && adresa <7) {ako (koder1Pos 7) {adresa += 4; encoder0Pos = 0; } if (encoder0Pos <0) {adresa -= 4; encoder0Pos = 7; }} void Movement () {n = digitalRead (encoder0PinA); if ((encoder0PinALast == LOW) && (n == HIGH)) {if (digitalRead (encoder0PinB) == LOW) {encoder0Pos--; ton (8, melodija1, 50); } else {encoder0Pos ++; ton (8, melodija, 50); }} enkoder0PinALast = n; o = digitalno čitanje (enkoder1PinA); if ((encoder1PinALast == LOW) && (o == HIGH)) {if (digitalRead (encoder1PinB) == LOW) {encoder1Pos--; ton (8, melodija1, 50); } else {encoder1Pos ++; ton (8, melodija, 50); }} enkoder1PinALast = o; int uređaji = lc.getDeviceCount (); } void omple () {int devices = lc.getDeviceCount (); for (int row = 0; row <8; row ++) {for (int adresa = 0; adresa <uređaji; adresa ++) {lc.setLed (adresa, red, 7, tačno); lc.setLed (adresa, red, 6, tačno); lc.setLed (adresa, red, 5, tačno); lc.setLed (adresa, red, 4, tačno); lc.setLed (adresa, red, 3, tačno); lc.setLed (adresa, red, 2, tačno); lc.setLed (adresa, red, 1, tačno); lc.setLed (adresa, red, 0, tačno); kašnjenje (50); }}} void neteja () {int devices = lc.getDeviceCount (); za (int red = 0; red <8; red ++) {for (int adresa = 0; adresa <uređaji; adresa ++) {lc.setLed (adresa, red, 7, lažno); lc.setLed (adresa, red, 6, lažno); lc.setLed (adresa, red, 5, lažno); lc.setLed (adresa, red, 4, lažno); lc.setLed (adresa, red, 3, lažno); lc.setLed (adresa, red, 2, lažno); lc.setLed (adresa, red, 1, lažno); lc.setLed (adresa, red, 0, lažno); }} play =! play; }
Korak 5: Završni dodir
U ovom trenutku možete nadograditi dizajn kućišta dodavanjem nekih vinila i 3D ispisanih dijelova za rotacijske davače.
Datoteka za 3D model nalazi se na kraju dokumenta u formatu stila.
Korak 6: Igrajte se i uživajte
Ovo je zaista zabavan projekt, bilo nam je jako zabavno stvarati ga. Vrijeme je za igru i oživljavanje sjećanja na djetinjstvo !!
Ostavljamo vam nekoliko crteža koje možete isprobati !!