Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Napravio sam sinhronizovana svetla za velike udaljenosti poznata kao lampe "Najbolji prijatelj". To samo znači da se usklađuju s trenutnom bojom druge lampe. Dakle, ako biste jednu lampu promijenili u zelenu, ubrzo nakon toga bi druga svjetiljka postala zelena. Ovo je vrlo jednostavan projekt maline pi u koji svatko može uskočiti i koristi puno zaista osnovnih koncepata na kojima je odlično graditi.
Ovo bi bio odličan projekt za izvođenje tokom karantene jer ne možete biti stalno zajedno, a može se koristiti u istoj kući za označavanje ako ste na sastanku ili nekom drugom važnom događaju.
Potrošni materijal:
- ws2811 LED sijalice -
- Raspberry pi zero koji sam koristio (mogu koristiti bilo koji pi, ne zaboravite nabaviti sd karticu) -
- Akrilni lim -
- Pritisnite dugme
- Drvo trešnje, drvo crvenog hrasta - lokalni distributer drva
Korak 1: Izgradite bazu
Za početak će vam trebati kutija za umetanje elektronskih komponenti i propuštanje svjetla. Ostalo mi je nešto drva trešnje i drveta crvenog hrasta koje sam koristio za izradu kutije. Koristio sam jedan četvrtasti komad trešnje za vrh, koji je na kraju imao dimenzije 4,5 cm x 4,5 inča i debljinu 1,25 inča. Zatim sam upotrijebio izrezane komade drveta crvenog hrasta da dodam odjeljak u kojem će se nalaziti elektroničke komponente. Ti komadi bili su dugački oko 4,5 inča, debeli 1 inč i široki 2 inča. Ako bih ovo ponovio, zasigurno bih učinio crveni hrast tanjim kako bi elektroničke komponente imale više mjesta za uklapanje. Nakon što sam izrezao komade, brusio sam ih i izbušio rupu za ws2811 olovku pomoću svrdla od 1/2 inča. Zatim sam ih završio s uljem od Mahoneyjevog oraha.
Korak 2: Napravite blok za difuziju
Nakon što je baza napravljena, počeo sam izrađivati difuzijski blok koji će se koristiti za širenje svjetla sa LED -a ws2811. Da bih to učinio, izrezao sam pravokutne komade iz akrila, a zatim sam brusio akril kako bih bio zaista zamućen. To će omogućiti da se svjetlo sa LED diode raširi i više osvijetli. Zatim sam upotrijebio vruće ljepilo za učvršćivanje strukture
Korak 3: Spajajte krug i pokrenite kôd
Ovo je trenutak za lemljenje kola. Svaka lampica ima pi nulu od maline, LED diodu ws2811, dugme za pritiskanje i otpornik. Jedan krug se koristi za kontrolu LED -a ws2811, dok se drugi koristi za provjeru unosa korisnika. LED krug ws2811 je jednostavan koji koristi uzemljenje, 5v i pwm pinove maline pi za kontrolu LED -a. Ulazni krug korisnika ima otpornik za ograničavanje struje i tipku koja se koristi za uključivanje i isključivanje napona sa malinovog pi ulaznog pina.
Svaki pi pokreće isti program. Ovaj program provjerava kada se pritisne gumb, a ako je tako, mijenja boju. Zatim šalje poruku web serveru koja prati trenutnu boju. Svakih 5 sekundi ovaj program također provjerava trenutnu boju sa web servera i ako se ta boja razlikuje od trenutne boje lampe, mijenja se u tu boju. Na ovaj način se sinhronizuju. Dakle, ako promijenite boju u crvenu na jednoj lampici, ta lampica će reći web serveru da je trenutna boja crvena, druga lampica će provjeriti web server za 5 sekundi i vidjeti da je trenutna boja crvena, a zatim će se promijeniti u tu boja. Web poslužitelj koji sam koristio bio je hostiran na jednom od pisača jer sam ga koristio u istoj mreži, ali ovaj server možete jednostavno pokrenuti na bilo kojem javnom serveru i lampe će raditi na svim kontinentima.
S obzirom na ovaj dizajn, ovo možete lako povećati na više od 2 lampe.
Ispod su dva repo -a koja će vam trebati za pokretanje projekta. Ako imate problema s instaliranjem BiblioPixela, možete pogledati moj video o izradi oglasne ploče. Detaljno se bavi instaliranjem BiblioPixela.
Najbolji program svjetla prijatelja koji se izvodi na svakom pi:
github.com/tmckay1/best_friend_light
Web server koji prati trenutnu boju:
github.com/tmckay1/raspberrypi_gateway
Korak 4: Pokrenite program na svakom Pi, pokrenite server i pogledajte ga na djelu
Sada možete pokrenuti program na komandnoj liniji tako što ćete provjeriti readme u prethodnim repo -ovima, pokrenuti server slijedeći readme i vidjeti ga na djelu!