Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 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 davača i neke gumbe. Nadamo se da ćete naučiti kako koristiti rotacijske enkodere i LED matricu. Također se nada da ćete se zabaviti slijedeći korake i izgraditi vlastitu retro telesketch !!
Korak 1: Odabir komponenti
Potrebni materijali:
Za kutiju:
- DM 2 mm
- Akrilno staklo (bijelo)
- Boja (boja koju želite)
- 3D ispisani omot za rotacijski davač (dokument u prilogu)
Za elektroniku:
- Led matrica 8 x 32 (2 jedinice)
- Rotacijski davač (2 jedinice)
- Pritisni gumb (3 jedinice)
- Zvučni signal
- Otpornici od 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 koja 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 od 2 rebra.
- Zatim spojite zid na rebra.
- Uzmite prednji poklopac i zakačite okvir zaslona 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.
- Ne spajajte stražnji poklopac dok elektronika nije na mjestu.
Korak 3: Montaža 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 davač (1)
- VCC
- GND
- DT = pin 3
- CLK = pin 4
-
Rotacijski davač (2)
- VCC
- GND
- CS = pin 5
- CLK = pin 6
- Pritisni gumb (reset) = pin 1
- Pritisnuti gumb (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 knjižnice
#include "LedControl.h" #include "parches.h" LedControl lc = LedControl (12, 11, 10, 8); int val; int koder0PinA = 3; int koder0PinB = 4; int enkoder0Pos = 0; int enkoder0PinALast = LOW; int n = NISKO; int valo; int koder1PinA = 5; int koder1PinB = 6; int enkoder1Pos = 0; int enkoder1PinALast = LOW; int o = NISKO; int adresa = 3; int uređaji = lc.getDeviceCount (); int melodija = NAPOMENA_D5; int melodija1 = NAPOMENA_C5; int trajanje = 50; boolean play = false; booleov izbornik = false; nepotpisano dugo kašnjenje = 500; void setup () {pinMode (2, INPUT); pinMode (1, INPUT); pinMode (7, INPUT); pinMode (encoder0PinA, INPUT); pinMode (encoder0PinB, INPUT); pinMode (enkoder1PinA, ULAZ); pinMode (enkoder1PinB, ULAZ); 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 (encoder1Pos 3 && adress <7) {if (encoder1Pos 7) {adress += 4; enkoder0Pos = 0; } if (encoder0Pos <0) {adresa -= 4; enkoder0Pos = 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, true); lc.setLed (adresa, red, 6, istina); lc.setLed (adresa, red, 5, istina); lc.setLed (adresa, red, 4, istina); lc.setLed (adresa, red, 3, istina); lc.setLed (adresa, red, 2, istina); lc.setLed (adresa, red, 1, istina); lc.setLed (adresa, red, 0, istina); kašnjenje (50); }}} void neteja () {int devices = lc.getDeviceCount (); for (int row = 0; row <8; row ++) {for (int adresa = 0; adresa <uređaji; adresa ++) {lc.setLed (adresa, red, 7, false); lc.setLed (adresa, red, 6, netočno); lc.setLed (adresa, red, 5, netočno); lc.setLed (adresa, red, 4, netočno); lc.setLed (adresa, red, 3, netočno); lc.setLed (adresa, red, 2, netočno); lc.setLed (adresa, red, 1, netočno); lc.setLed (adresa, red, 0, netočno); }} igrati =! igrati; }
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 stilskom formatu.
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 uspomena na djetinjstvo !!
Ostavljamo vam nekoliko crteža koje možete isprobati !!