Sadržaj:
- Korak 1: Početni test i izgled
- Korak 2: Lemljenje matrice i trake
- Korak 3: Integracija Bluetooth modula
- Korak 4: Hakiranje stola
- Korak 5: Laserski rezani dijelovi
- Korak 6: Glediator
- Korak 7: Bluetooth serijska kontrola
- Korak 8: Igre
- Korak 9: Uživajte
- Korak 10: Ažurirajte
Video: Arduino LED stolić za kavu s Bluetooth kontrolom: 10 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Ovo je bio moj prvi pravi Arduino projekt, a ujedno je i moj prvi instruktor, stoga budite ljubazni u komentarima:) Htjela sam pokušati odgovoriti na pitanja koja su mi trebala neko vrijeme da shvatim i pružiti detaljna uputstva pa ako ste vrlo upoznati s hobistima elektronike, onda vjerojatno možete pregledati svaki korak, ali ako ste tek počeli s ovim, trebao bi vam pružiti sve što vam je potrebno.
Cilj projekta bio je stvoriti ekran od 12 x 12 piksela u stoliću za kavu koji se može kontrolirati putem bluetootha i koristiti kao svježinu u hladnoj prostoriji/igrati igre na njemu.
Za ovu konstrukciju trebat će vam sljedeći dijelovi:
- Arudino Mega (ili klon)-https://www.amazon.co.uk/Arduino-Mega-2560-R3-Micr…
- Arduino štit za mikro SD karticu (koristio sam ovaj i zalemio zaglavlja) -
- Mikro SD kartica - Bilo koja veličina će biti dovoljna, ali mora biti formatirana u FAT32
- 5m WS2812B Adresibilna LED traka -
- HC05 Bluetooth modul -
- Napajanje od 5 V 6 Amp-(koristio sam ovo, ali postoji još stotinu drugih na ebayu)
- Ikea LACK stol (klasični hobisti) -
- Pristup laserskom rezaču za šperploču od 3 mm (ili vrlo mirnom rukom). Laserski izrezane dijelove možete naručiti na internetu na različitim mjestima (na primjer
- Bijela boja u spreju
- 2 m aluminijski T -profil (1 1/2 x 1 1/2 x 1/8) -
- 450 mm x 450 mm x 6 mm staklena ploča (većina lokalnih staklara može rezati prilagođene komade za vas, ali ja sam koristio ove momke
- 1 x 100 mikro Farad kondenzator
- 2 x 1k otpornik
- 1 x 2k otpornik
- 1 x linearni rotacijski potenciometar
- Razni skakači (vjerovatno desetak tokom izrade prototipa)
- Najmanje tri boje relativno debelih kabela za lemljenje (ovo može privući velike struje pa ne bih preporučio kratkospojne žice za napajanje)
- Stripboard za unutrašnje kolo (ne brinite, vrlo je jednostavno)
Potrebni alati:
- Lemilica + lemljenje
- Par isječaka
- Strojevi za skidanje žice
- Dremel ili neka vrsta ubodne testere za odsecanje stola. Koristio sam ovo https://www.amazon.co.uk/gp/product/B0078LENZC/ref… sa spiralnim nastavcima za rezanje
Korak 1: Početni test i izgled
Prva luka poziva je da isečete LED traku na potrebne dužine. Ova LED traka je zaista jednostavna za upotrebu jer ima samo 3 pina i čini da Arduino obavi pravi posao. Rezao sam kalem na 12 sekcija od po 12 LED dioda dužine kao što je prikazano na slici i postavio ih na stražnju stranu stola kako bih lakše zamislio kamo idem s ovim.
Tada mi je ostalo još nekoliko LED dioda pa sam ih spojio na Arduino UNO. Morao sam testirati rade li (možete koristiti i Mega navedenu u skici projekta). Da bih to učinio, izrezao sam i skinuo neke muške zaglavlje za muške i lemio ih na jastučiće na kraju LED trake. Na traci WS2812 koju sam koristio 5V žica je crvena, uzemljenje bijelo, a podaci zeleni. Obratite pažnju na strelicu smjera otisnutu na traci WS2812B kako ne biste pokušali poslati podatke u pogrešnom smjeru. Spojio sam 5V liniju na 5V na Arduinu, uzemljenje na GND i Data na pin 6 s 1k otpornikom u seriji. Imajte na umu da se shema Fritzinga LED -a WS2812B malo razlikuje od onih koje sam isporučio - dovoljno je reći, samo provjerite jesu li podaci spojeni na pin 6, Gnd je spojen na masu, a 5 na 5V.
S tako malo LED dioda (otprilike 5) Arduino bi trebao biti u redu za napajanje; međutim ne možete napajati mnoge, jer kada su potpuno bijele LED diode troše do 60mA svaka i mogu brzo nadjačati Arduino.
Pod pretpostavkom da imate Arduino IDE (ako ga ne preuzmete i instalirate), postavite tip čipseta na Arduino koji imate i postavite COM port na onaj koji prikazuje Arduino u opcijama. Sada preuzmite i instalirajte biblioteku FastLED (https://fastled.io/). Otvorite primjer striptest.h i postavite broj LED dioda na skici na onoliko koliko imate (ostalo mi je 5). Pritisnite potvrdi i (pod pretpostavkom da je sve u redu) prenesite ga na Arduino i trebali biste vidjeti kako se svjetla na maloj traci pale i mijenjaju boju.
Korak 2: Lemljenje matrice i trake
Sada je vrijeme za početak stvaranja LED matrice.
Izrežite 11 kratkih duljina svake od tri boje žice koju imate. Provjerite jesu li dovoljno dugi da prijeđu s kraja jedne trake na početak sljedeće. Prilikom postavljanja LED traka morate paziti da strelica protoka podataka prati zmiju. Nakon što je ovo položeno, pažljivo lemite svaki red s LED -om na sljedeći, kako je prikazano na slici. To je znatno lakše ako koristite istu boju za svaku vrstu veze.
Sada, više lemljenja, moramo stvoriti trakastu traku koja će napajati napajanje iz mrežnog napajanja. Lemio sam dva stupa na traci zajedno za 5V i GND tako da bolje podnosi struju. Shemu koju trebate stvoriti pogledajte u priloženoj shemi. Prilikom lemljenja kondenzatora, pazite da negativni kraj bude pričvršćen na GND šinu, a ne na 5V. Nakon što je stripboard završen, moramo spojiti +VE i GND na LED traku te također upotrijebiti drugu polovicu kratkospojnika koje smo ranije izrezali za spajanje Arduina na napajanje i stripboard. Sada bi bilo dobro vrijeme za dodavanje SD kartice u Arduino kako bismo mogli spremati datoteke na nju i kasnije čitati s nje. Nakon što je SD razvodna ploča postavljena, možemo spojiti 5V šinu na Vin pin i GND na bilo koji GND pin na Arduinu.
Na kraju, možemo povezati potenciometar na analogni ulaz A0 kao što je prikazano tako da imamo način kontrole svjetline LED dioda.
Nakon što sve ovo učinite, možemo ponovo postaviti najcrtaniju skicu mijenjajući broj LED dioda na 144. Prije postavljanja ove skice provjerite je li napajanje aktivno. Nadajmo se da bi sve LED diode trebale svijetliti u uzorcima najniže skice kako bismo znali da sve radi.
Korak 3: Integracija Bluetooth modula
Posljednji dio ožičenja sada, HC05 jedinica povezuje se s Arduino Mega kako je prikazano na shemi. Pobrinite se da se HC05 jedinica poveže s priključcima Rx1 i Tx1 na mega uređaju - to znatno olakšava programiranje i izbjegava korištenje biblioteke "softverske serije".
NB. HC05 jedinica će imati 5V ili 3.3V ulaz i općenito radi na 3.3V logici pa sam je spojio na 3.3V šinu. Neke druge instrukcije pokazale su Tx (na Arduinu) do Rx (na HC05 jedinici) sa krugom potencijalnog razdjelnika za prebacivanje 5 V logike iz Arduina na izvorni nivo za HC05 modul. To je razlog zašto sam imao 1k i 2k otpornike na popisu dijelova; međutim, nisam se trudio i izgleda savršeno sretno na mom stolu:)
Korak 4: Hakiranje stola
Sada moramo početi dijeliti stol kako bismo našim LED diodama i elektronici dali novi dom.
Prvo označite kvadrat 450 mm x 450 mm na sredini vrha LACK stola. Pomoću Dremela (ili ubodne pile) izrežite kvadrat najbolje što možete kako biste ga držali ravno. Sada možemo ukloniti gornji dio i unutrašnje dijelove kartona ostavljajući vam izdubljenu ploču stola kao što je prikazano na slici. Ponovnim korištenjem Dremela možemo izbušiti rupu u kutu dna stola tako da imamo gdje provući mrežni kabel.
Nakon što se tablica pripremi, LED diode možemo zalijepiti otprilike u odgovarajuće položaje prije nego pređemo na sljedeće korake. Bilo mi je korisno provjeriti je li elektronika odmah nakon svakog koraka, pa pokušajte ponovo s najgorom skicom.
Kad vam bude udobno, sve je na svom mjestu, možete izbušiti nekoliko malih rupa za postavljanje napajanja unutar ruba stola pomoću malih vijaka. Odlučio sam montirati Arduino izvan stola kako bih mogao lako reprogramirati ako želim, ali montiran je naopako do dna stola i nije lako vidljiv. Također sam postavio potenciometar kroz dno stola tako da kontrola svjetline izgleda lijepo i profesionalno.
Korak 5: Laserski rezani dijelovi
Sada moramo uvesti laserski izrezane dijelove koji tvore matricu kvadrata pa smo definirali piksele. Uključio sam dxf datoteke za laserski izrezane dijelove koji tvore drvenu matricu, kao i njihove slike kako biste znali kako bi trebali izgledati. Napravljene su od dva odvojena dijela, jedan ide duž svakog reda LED dioda, a drugi ih križa. Dijelovi koji se križaju imaju donji dio izrezan jaz od 10 mm kako bi omogućili prolaz ožičenja. Ovaj jaz bi se mogao smanjiti na 5 mm jer se čini da imam malo curenja svjetlosti iz jednog piksela u drugi.
11 kopija oba dijela potrebno je laserski izrezati iz šperploče od 3 mm, a zatim ih sastaviti kako bi bili sigurni da dobro pristaju. Kad budete sretni, ponovo rastavite matricu i poprskajte je bijelom bojom kako biste poboljšali reflektirajuće karakteristike stola. Kad se osuše, ponovo ih spojite i postavite preko LED dioda. Možda će ih biti malo teže spojiti nakon prskanja jer su sada malo deblje, ali ne brinite, samo ih lagano dodirnite na mjesto prije nego što stavite matricu u stol.
Korak 6: Glediator
Sada imamo implementiran sav hardver pa možemo početi gledati softver. Preuzeo sam i instalirao softver pod nazivom Glediator za kreiranje animacija za LED diode (https://www.solderlab.de/index.php/software/glediat…). Upute za instalaciju mogu biti pomalo škrte, ali pažljivo pratite web stranicu i trebali biste biti u redu. Također moramo skinuti skicu sa web stranice Glediator kako bismo je prenijeli na Arduino (https://www.solderlab.de/index.php/downloads/catego…). Koristimo LED diode WS2812B, stoga obavezno preuzmite pravu (WS2812 Glediator sučelje). Nakon što otvorite ovu skicu, promijenite NUMBER_OF_PIXELS na 144 i postavite je na Arduino.
Nakon što je Glediator instaliran, možemo početi reproducirati animacije na stolu. Prvo moramo postaviti veličinu matrice na 12 x 12 u softveru Glediator, a također i postaviti tip izlaza na HSBL - Horizontalna zmija (početak) dolje lijevo jer je to način na koji smo LED diode ožičili i promijenili redoslijed boja na GRB (za ovo LED uzimaju podatke). Na izlaznoj kartici otvorite COM port i LED matrica bi trebala početi prikazivati LED uzorak na srednjem ekranu softvera Glediator.
Možete stvoriti animacije i snimiti ih u.dat datoteku koju možemo prenijeti na SD karticu što znači da se vaše omiljene animacije mogu prikazati na stolu bez potrebe za povezivanjem računala. Na mreži postoji nekoliko vodiča o tome (na primjer https://hackaday.io/project/5714-glediator-from-sd…). Izmijenio sam nekoliko različitih izvora koda kako bi radio za ovo, tako da bi moj kôd trebao biti u redu.
Prilikom spremanja animacija, svakako ih spremite kao "animX.dat" gdje je X bilo koji broj od 1-15. Mogli biste implementirati više promjenom nekoliko redaka u mom kodu.
Napomena: Prilikom snimanja Glediator datoteka, softver ima grešku koja znači da se ne sjeća kako ste povezali LED traku. U svom sam kodu implementirao jednostavnu funkciju za promjenu redoslijeda parnih redova, što znači da se sve prikazuje ispravno
Korak 7: Bluetooth serijska kontrola
Postavljanje bluetooth komunikacije između pametnog telefona i Arduina pokazalo se iznenađujuće lukavim, ali postoji nekoliko jednostavnih koraka koji će ovo uvelike olakšati. Prvo ćete morati preuzeti aplikaciju za svoj pametni telefon. Koristio sam https://play.google.com/store/apps/details?id=com…. ali vjerovatno postoji ekvivalent za iPhone (za koji morate platiti; p)
Možda ste primijetili da HC05 modul ima mali prekidač. Ako ga uključite pritiskom na ovaj prekidač, on ulazi u AT-način rada, što znači da možete ispitivati parametre na njemu i mijenjati ih ako želite.
Otpremite priloženu skicu na Mega i postavite serijsku brzinu na svom računaru na 9600. Prekinite napajanje jedinice HC05, a zatim je pritisnite dok je ponovo ne povežete. Treptanje bi sada trebalo biti približno jednom u dvije sekunde - sada je HC05 u AT -načinu rada.
Sada u serijskom monitoru možemo poslati naredbe HC05 i vidjeti njegov odgovor. Upišite "AT" i pritisnite send i trebali biste vidjeti "OK" se vraća na serijski monitor - sada znamo da sluša. Bluetooth naziv uređaja može se promijeniti upisivanjem "AT+IME = XYZPQR" gdje je XYZPQR ono što želite da se modul zove. Pozvao sam svoj LightWave. Zadana lozinka za bluetooth modul je 1234 (ili 0000), ali i to se može promijeniti slanjem "AT+PSWD = 9876", na primjer. Konačno, možemo promijeniti brzinu komunikacije HC05 slanjem "AT+UART = 38400". Ovo je zadana stopa za većinu HC05 modula, ali je moja postavljena drugačije pa je dobra praksa postaviti je kako biste bili sigurni. Ovdje ima mnogo više detalja o ovim naredbama: https://www.itead.cc/wiki/Serial_Port_Bluetooth_M…, a postoje i upute o ovom koraku koje imaju mnogo više detalja https://www.instructables.com/id/Modify -The-HC-05-…
Sada možemo pokušati poslati naredbe modulu putem bluetooth uređaja. Prvo isključite napajanje iz HC05 modula, a zatim ga ponovo spojite. Trebali biste vidjeti da je brzina treptanja LED diode mnogo brža - to znači da sada čeka uparivanje. Na svom pametnom telefonu otvorite aplikaciju Arduino Bluetooth Controller i pronađite HC05 modul. Ako niste promijenili naziv, vjerojatno će se zvati HC05 ili slično. Kad vam se daju mogućnosti kako se želite povezati, odaberite način terminala. Sada pokušajte poslati neke brojeve i tekst i provjerite izvještava li serijski monitor na računaru da su primljeni. Nadajmo se da jesu pa možemo nastaviti dalje, ako ne postoji mnogo instrukcija koje bi vam mogle dati nekoliko savjeta (na primjer
Posljednja stvar koju treba učiniti ovdje je mapiranje ulaza kontrolera u brojeve s kojima Arduino može učiniti nešto. Koristio sam sljedeće vrijednosti:
Gore = 1, Dolje = 2, Lijevo = 3, Desno = 4, Start = 5, Odaberite = 6.
Korak 8: Igre
Ne preuzimam zasluge za kôd igre. Koristio sam izvorni kod koji se nalazi ovdje https://github.com/davidhrbaty/IKEA-LED-Table napisao davidhrbaty. Međutim, izmijenio sam ga na nekoliko različitih načina:
- Dodao sam funkciju ograničenja svjetline na osnovu vrijednosti potenciometra kako bismo mogli promijeniti svjetlinu
- Uklonio sam igru cigle jer je nisam mogao natjerati da je sastavi
- Promijenio sam šifriranje boja tetris blokova tako da su svi bili različitih boja
- Preuredio sam jelovnik
- Implementirao sam opciju za reprodukciju animacija sa SD kartice
- Dodao sam praćenje rezultata i opciju prikaza rezultata u meniju
Priloženi kôd bi trebao odmah djelovati, ali ako ne, moj prijedlog bi bio uklanjanje igara za koje se čini da izazivaju poruke o greškama i ponovna provjera koda dok ne otkrijete gdje je problem. Zatim postupno dodajte još složenosti.
Originalni autor ovog koda napravio je fantastičan posao u izgradnji nečega što je zaista modularno i lako ga je dodati. Dodavanje u dodatne slučajeve nije tako teško za dodavanje više funkcija u tablicu.
Opcije u meniju su:
- SD kartica - Reproducira animacije pohranjene na SD kartici
- Tetris
- Zmija
- Pong
- Dice - Generator slučajnog nuber -a između 1 i 6
- Animacija - Zbirka animacija iz biblioteke FastLED
- Stars Animation - EDIT - Sada sam implementirao Conwayovu igru života umjesto ove animacije
- Rainbow Animation
- High Scores - Prikazuje visoke ocjene za tetris i zmiju
Prije nego počnete igrati morate stvoriti dvije txt datoteke na SD kartici, jednu koja se zove "teths.txt", a druga "snkhs.txt". U obje ove datoteke stavite broj 0, a zatim ih spremite u osnovni direktorij SD kartice. Ovo su datoteke za praćenje visokih bodova i ažurirat će se svaki put kada se pobijedi visoka ocjena. Ako ga želite resetirati, samo promijenite vrijednosti na 0 na računaru.
Nakon što postavite program LED_table na Arduino, možete otvoriti serijski monitor i trebali biste moći vidjeti bluetooth naredbe dok ih šaljete - na ovaj način znate da sve radi dobro.
Korak 9: Uživajte
Ostaje samo da postavite glavni LED tablični kod na Mega, a zatim uživate u igri i javite mi svoje najbolje rezultate!
Još uvijek čekam da stignu dijelovi za ploču stola (aluminijski T dio i staklo), ali stol sada funkcionira dobro i na njemu se mogu igrati.
Javite mi ako imate komentare, izmjene ili uočite greške koje sam napravio.
Korak 10: Ažurirajte
Sada je potpuno završeno!:)
Konačno sam uzeo isporuku aluminijske T sekcije za ivice i najbolje sam se snašao u postavljanju spoja (ispostavilo se da je 45 stupnjeva jedan od težih kutova), ali je gotovo potpuno četvrtast. Za gornji dio odlučio sam nabaviti deblji stakleni list (425 x 425 x 8 mm), a donju sam stranu zamrznuo koristeći sprej za glazuru od stakla Rustoleum. Koristio sam običnu brtvu (silikonsko brtvilo) za spajanje gornjih i kutnih komada tako da po potrebi dođe do savijanja spojeva.
Ažurirano ažuriranje. Sada sam u Conway -ovu igru života dodao opciju 7 u izborniku, a ne animaciju sa zvijezdama jer je nikad nisam koristio. Ako ne znate koja je ovo igra, poguglajte je, ali u osnovi je to igra s nula igrača koja prikazuje evoluciju zasnovanu na tri jednostavna pravila. Conwayjeva igra života
Ažurirajte^3. Napravio sam neke izmjene u kodu tako da sada uključuje ispravku greške u vezi sa prigušivanjem crvenih LED dioda, a uključuje i animaciju božićnog drvca kao opciju 11 u izborniku. Uživajte.
Preporučuje se:
Arduino interaktivni LED stolić: 6 koraka (sa slikama)
Arduino interaktivni LED stolić za kavu: Napravio sam interaktivni stolić za kavu koji uključuje LED svjetla ispod objekta, kada je objekt postavljen preko stola. Samo LED diode koje se nalaze ispod tog objekta će zasvijetliti. To čini učinkovitom upotrebom senzora blizine, a kada udaljenost
RC automobil sa Bluetooth kontrolom i kontrolom brzine i mjerenjem udaljenosti: 8 koraka
RC automobil sa Bluetooth kontrolom i kontrolom brzine i mjerenjem udaljenosti: Kao dijete, uvijek su me fascinirali RC automobili. Danas možete pronaći mnoge vodiče za izradu jeftinih RC automobila s Bluetooth -om uz pomoć Arduina. Napravimo korak dalje i upotrijebimo svoje praktično znanje o kinematici za izračunavanje
Infinity Mirror stolić za kavu: 5 koraka
Infinity Mirror stolić: Za početak ću reći da sam nedavno prodao ovaj stol i više mu nemam pristup. Dobio sam gomilu poruka od ljudi koji žele kupiti ili drugi stol ili kupiti vodič za njega. Odlučio sam napisati vodič s nekim znanjem
DIY interaktivni LED stolić: 16 koraka (sa slikama)
DIY interaktivni LED stolić za kavu: U ovom uputstvu ću vam pokazati kako sam korak po korak napravio interaktivni LED stolić za kavu. Odlučio sam napraviti jednostavan, ali moderan dizajn i više se fokusirao na njegove karakteristike. Ovaj nevjerojatni stol stvara nevjerovatan ambijent u mojoj dnevnoj sobi.H
Dot² - interaktivni stolić za kavu: 12 koraka (sa slikama)
Dot² - interaktivni stolić za kavu: Tijekom stažiranja izgradio sam interaktivni stol na kojem možete pokrenuti animacije, neke sjajne LED efekte i da, igrati stare školske igre !! Dobio sam inspiraciju za kreiranje ovog stolića za sto sa muzičkim vizualizatorom crt4041 kontroliše se