Tartalomjegyzék:

Újrahasznosított ébresztőóra intelligens fény: 8 lépés (képekkel)
Újrahasznosított ébresztőóra intelligens fény: 8 lépés (képekkel)

Videó: Újrahasznosított ébresztőóra intelligens fény: 8 lépés (képekkel)

Videó: Újrahasznosított ébresztőóra intelligens fény: 8 lépés (képekkel)
Videó: KIKAPTUK A BIZIT📚 #shorts 2024, December
Anonim
Újrahasznosított ébresztőóra intelligens fény
Újrahasznosított ébresztőóra intelligens fény
Újrahasznosított ébresztőóra intelligens fény
Újrahasznosított ébresztőóra intelligens fény
Újrahasznosított ébresztőóra intelligens fény
Újrahasznosított ébresztőóra intelligens fény

Ebben a projektben újrahasznosítok egy teljesen elromlott ébresztőórát. Az óralapot 12 LED váltja fel, amelyeket az óra peremén lévő LED -szalag világít meg. A 12 LED jelzi az időt, a LED szalag pedig úgy van programozva, hogy riasztásként működjön, és a beállított időpontban teljes fényerőt érjen el. Mindent a Raspberry Pi Zero vezérel, amely számtalan integrációs és bővítési lehetőséget kínál, mint például a fényriasztó automatikus szinkronizálása a telefon riasztásával vagy a LED -ek villogása, amikor e -mailt kap.

A projekt viszonylag olcsó vagy újrafelhasznált alkatrészeket használ - az egyetlen dolog, amit végül megvettem, a feszültségszabályozó volt. Minden más, amiben véletlenül feküdtem, például egy levágott LED szalag. Ez az oktatható útmutató végigvezeti Önt azon, hogyan adtam új életet a törött órámnak, és remélhetőleg inspirálhat benneteket arra, hogy újrahasznosítsatok valamit.

1. lépés: Alkatrészek

Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek

Annak érdekében, hogy mindent ellenőrizni tudjunk, a Raspberry Pi Zero -t használjuk, mivel kicsi, nagyon olcsó, és csatlakoztatható a WiFi -hez, ami azt jelenti, hogy nincs szükségünk valós idejű órára, és így könnyen frissíthetjük a kódot távolról egy laptopról. Hacsak nem rendelkezik Pi Zero W -vel, akkor egy WiFi hálózathoz csatlakozunk egy USB WiFi hardverkulcs segítségével.

Itt található az általam használt alkatrészek listája, de a legtöbb dolog kicserélhető megfelelő alternatívákra. Például a Raspberry Pi helyett egy valós idejű órával rendelkező Arduino -t használhat a projekt irányításához.

Használt alkatrészek

  • Régi ébresztőóra
  • 30 cm meleg fehér LED csík
  • 1x Raspberry Pi Zero + micro SD kártya
  • 1x USB WiFi hardverkulcs + mikro USB -USB átalakító
  • 12x LED
  • 12x 330ohm ellenállás (használjon magasabbat, ha halványabb LED -eket szeretne)
  • 1x TIP31a (vagy más npn teljesítménytranzisztor vagy MOSFET)
  • 1x 1k ellenállás
  • 1x LM2596 DC-DC állítható bak konverter (a Raspberry Pi esetében lekapcsol 12V-ról 5V-ra)
  • 1x 12V -os tápegység (+ a projektbe való bejutás módja)
  • 10 cm x 10 cm fa az óralaphoz (megfelelően vékonynak kell lennie a LED -ek rögzítéséhez)
  • Különböző színű drótdarabok

Hasznos dolgok

  • Forrasztópáka + forrasztópáka
  • Forró ragasztó
  • Multiméter
  • Kenyeretábla
  • Női fejléc csapok
  • Micro SD kártyaolvasó vagy átalakító
  • Egy számítógép
  • Mini HDMI adapter + HDMI képernyő, ha használni szeretné a Pi asztali környezetét

2. lépés: A Raspberry Pi beállítása

A Raspberry Pi beállítása
A Raspberry Pi beállítása
A Raspberry Pi beállítása
A Raspberry Pi beállítása

Operációs rendszer

Mivel a Raspberry Pi nem kapcsolódik képernyőhöz, a Raspbian Buster Lite használatát választottam, amely nem tartozik asztali környezethez. Ha új a Raspberry Pi -n, érdemes ragaszkodnia az asztali asztali Raspbian Buster szabványhoz. Ha nem biztos benne, hogyan telepítse az operációs rendszert, akkor ez egy nagyszerű forrás. Mindkét operációs rendszer letölthető a Raspberry Pi webhelyről.

Pillanatnyilag táplálja a Pi -t a Micro USB tápbemenetén keresztül. Csatlakoztassa az USB WiFi hardverkulcsot is.

Beszélgetés a Raspberry Pi -vel

Ha minden össze van csomagolva, elég nehéz elérni a Pi -t, ha meg akarja változtatni a kódot, stb. Ez alapértelmezés szerint nincs bekapcsolva, de megtehetjük úgy, hogy egyszerűen létrehozunk egy ssh nevű mappát az SD -kártya rendszerindító partíciójában. Ha már bejelentkezett a Pi-be, ezt megteheti úgy is, hogy beírja a sudo raspi-config parancsot a terminálba, navigál az Interfészbeállítások> SSH menüponthoz, és engedélyezi az Igen lehetőséget.

Most csatlakozhat a Pi -hez egy másik számítógépen. Mac vagy Linux rendszeren használhatja terminál alkalmazását, de a Windows legtöbb verziójában telepítenie kell egy SSH klienst, például a PuTTY -t. Csatlakozzon a Pi -hez az ssh pi@ beírásával, ahol a gazdagépnév helyébe a Pi IP -címe állomásneve kerül. Az alapértelmezett gazdagépnév a raspberrypi.local. Kérni fog egy jelszót, amely, ha még nem változtatta meg, málna.

Szükséges anyagok telepítése

Először győződjön meg arról, hogy minden naprakész a sudo apt update, majd a sudo apt full-upgrade futtatásával.

Annak érdekében, hogy megbizonyosodjunk arról, hogy mire van szükségünk a GP típusú pin-k vezérléséhez a Pi típusban sudo apt-get install python-rpi.gpio és sudo apt-get install python3-rpi.gpio. Ezeket már telepíteni kell a Raspbian teljes verziójára.

A kód

Itt van a letöltendő kód, hogy minden működjön. Ha asztali környezetet használ, illessze be ezeket a Dokumentumok mappába.

Ha az SSH parancssorát használja, navigáljon a saját mappájához a cd ~/Documents gombbal, és nyomja le az enter billentyűt. Hozzon létre egy új fájlt test1.py néven a nano test1.py segítségével. Ezzel megnyílik a nano szövegszerkesztő, ahová beillesztheti a letöltött test1.py fájl kódját. CTRL-O és nyomja meg az Enter billentyűt a fájl mentéséhez, és a CTRL-X billentyűt a kilépéshez. Ismételje meg a folyamatot a többi fájl esetében.

3. lépés: A LED csík felszerelése

A LED szalag felszerelése
A LED szalag felszerelése
A LED szalag felszerelése
A LED szalag felszerelése

Először pattintsa be az óra LED -szalagját, hogy megtudja, mennyi kell, jelölje meg ezt a hosszúságot, és vágja le a csíkot a következő vágási ponton, az ábrán látható módon. Sokkal könnyebb a huzalokat a csíkhoz forrasztani, mielőtt a csík a helyére ragad. Ez egy nagyon jó útmutató, hogyan kell ezt megtenni, de ha nem biztos benne, én csak gyakorolnám a forrasztási kötést azon a darabban, amelyből most levágta a csíkját. Forrasztjon egy vezetéket a pozitív forrasztási ponthoz és egy vezetéket a negatívhoz. Győződjön meg róla, hogy teszteli a LED szalag működését, mielőtt az órájába helyezi.

Mivel az általam használt LED szalagot még azelőtt használták, hogy elveszítette öntapadó hátlapját, ezért forró ragasztóval kellett rögzítenem a csíkot az óra pereme körül. Ha túl hosszú, fedje le a vezetékek rögzítési pontját. Lehet, hogy később szeretné telepíteni a csíkot, de könnyebbnek találtam, ha elrejtette az órában.

4. lépés: A LED szalag vezérlése

A LED szalag vezérlése
A LED szalag vezérlése

A LED szalag csatlakoztatása

A LED szalag 12V -ról működik, így nem lehet közvetlenül a Pi -ről táplálni. Ezek vezérléséhez egy teljesítménytranzisztor (pl. TIP31a) segítségével fogunk csatlakozni a Pi -hez, a fentiek szerint. Azt javaslom, először ellenőrizze, hogy működik -e a kenyérsütőn.

  • Csatlakoztassa a GPIO 19 -et a bázishoz 1k ellenálláson keresztül
  • Az emittert a GND -hez kell csatlakoztatni
  • Csatlakoztassa a kollektorot a LED szalag negatív pólusához
  • Csatlakoztassa a pozitív LED szalagcsatlakozót +12V -ra

Tesztelés

A parancssorban nyissa meg a dokumentumok mappát (cd ~/Documents), írja be a python test1.py parancsot, és írja be. Látnia kell a LED szalag fényerejének növekedését és csökkenését. A programból való kilépéshez nyomja meg a CTRL-C billentyűt. A fájl szerkesztésével (nano test1.py) módosíthatja a program sebességét és fényerejét.

importálja az RPi. GPIO -t GPIO -ként importálja az időt GPIO.setmode (GPIO. BCM) # A BCM pinout használata (ledStripPin, GPIO. OUT) # A ledStripPin kimenet beállítása dutyCycle tartományban (0, 101, 1): # Fw up up pwm. ChangeDutyCycle (dutyCycle) time.sleep (0,05) dc tartományban (95, -1, -1): # Fw down down pwm. ChangeDutyCycle (dc) time.sleep (0.05), kivéve a KeyboardInterrupt: # A kilépéshez nyomja meg a CTRL-C billentyűt, majd: pwm.stop () # A pwm GPIO leállítása. cleanup () # A GPIO csapok tisztítása

5. lépés: Az óralap előkészítése

Az óralap előkészítése
Az óralap előkészítése
Az óralap előkészítése
Az óralap előkészítése
Az óralap előkészítése
Az óralap előkészítése

Vágja le az órához tartozó fadarabot arccal lefelé méretre, hogy illeszkedjen az órájához. Az enyémet elölről kb 3 cm -re pihentettem. Fúrjon 12 lyukat a LED -ek átmérőjétől (általában 3 mm vagy 5 mm), egymástól 30 fokban. Csiszolja az elülső oldallal lefelé, és vigye fel a kívánt felületet. A hátsó oldalról helyezze el a LED -eket, hogy azok előre nézzenek. Forró ragasztót használtam, hogy a LED -eket a helyükön tartsam, a pozitív kivezetéssel (hosszabb huzal) befelé. Az óralapom mérete azt jelentette, hogy az összes negatív kivezetést össze tudtam forrasztani (lásd fent), így csak egy vezetékre volt szükség mind a 12 LED GND -hez való csatlakoztatásához. Ezután forrasztjon vezetéket az egyes LED -ekhez.

Ha ezt kenyérsütő táblán szeretné tesztelni, akkor ne felejtse el használni az ellenállást (330ohm az alapfelszereltség) minden LED -el, mielőtt csatlakoztatná a Pi GPIO tűkhöz. Játsszon az ellenállás értékével, amellyel olyan fényerősséget kap, amellyel elégedett. A t-cobbler nagyon hasznos a Pi csapjainak kenyérsütő táblához való töréséhez, bár ehhez fel kell forrasztania a fejléceket. Használja a test2.py -t (futtassa a python test2.py használatával), de győződjön meg róla, hogy először szerkeszti a programot, és megadja a Pi GPIO -csapjait, amelyeket minden egyes LED -hez használt.

importálja az RPi. GPIO -t GPIO -ként

importálási idő GPIO.setmode (GPIO. BCM) # Használja a BCM pinout GPIO.setwarnings (hamis) # Figyelmen kívül hagyja az egyéb dolgokra használt csapok figyelmeztetéseit # Cserélje le az egyiket, kettőt,… a megfelelő PIN -számra, négy, öt, hat, hét, nyolc, kilenc, tíz, tizenegy, tizenkettő] # A LED-ekhez tartozó tűk 1-12-ig (0, 12): i GPIO.setup (hourPin , GPIO. OUT) # Állítsa be az összes órát a kimenetre GPIO.output (hourPin , 0) # Győződjön meg arról, hogy az összes LED nem világít.], 1): time.sleep (0,05) i (0, 12) tartományban majd: GPIO.cleanup () # Tisztítsa meg a GPIO csapokat

6. lépés: A Pi áramellátása

A Pi áramellátása
A Pi áramellátása

Szükségünk van egy egyszerű módra, hogy az 5 V -ot eljuttassuk a Pi Zero -hoz, hogy megszabaduljunk az eddig tápellátásához használt mikro -USB -kábeltől. Számos megoldás létezik, amelyek 12 V -ról 5 V -ra lépnek le, például egy LM7805 lineáris feszültségszabályozó, de ezek nem túl hatékonyak, ezért inkább a hatékonyabb állítható buck konvertert választottam az LM2596 chip használatával. Megjegyzés: ezzel addig kell csavarni a potenciométert, amíg a kimeneti feszültség 5 V -ra nem csökken, így valamilyen módon meg kell mérni a feszültséget.

Az LM2596 használata egyszerű: csatlakoztassa a +12V-ot az IN +-hoz, földelje az IN-. A Pi közvetlenül az 5V -hoz csatlakoztatható, ha az OUT+ -ot a Pi 5V -os csatlakozójának egyikéhez csatlakoztatja, de mielőtt ezt megtenné, győződjön meg arról, hogy a kimeneti feszültséget 5V -ra változtatta -e.

7. lépés: Végezze el az áramkört és a csomagolást

Töltse ki az áramkört és a csomagolást
Töltse ki az áramkört és a csomagolást
Töltse ki az áramkört és a csomagolást
Töltse ki az áramkört és a csomagolást
Töltse ki az áramkört és a csomagolást
Töltse ki az áramkört és a csomagolást
Töltse ki az áramkört és a csomagolást
Töltse ki az áramkört és a csomagolást

Most áttekintettük az áramkör mindhárom elemét, amelyek együtt láthatók a fenti általános áramkörben. A helytakarékosság és az áramkör tisztábbá tétele érdekében tegye az áramkört szalaglapra vagy prototípuslapra. Először forrasztja be a legkisebb alkatrészeket, az ellenállásokat, majd a teljesítménytranzisztorokat, a csatlakozókat és végül a vezetékeket. A forrasztás előtt tervezze meg az áramkört, hogy megbizonyosodjon arról, hogy mindenre van hely.

Mindent egy prototípus -NYÁK -ra kapcsoltam, és női fejléceket használtam, hogy a Pi közvetlenül a NYÁK -ra szerelhető legyen. Az óralapon lévő LED -ek a tábla egyik oldalán lévő ellenállásokon keresztül vannak összekötve, és a tábla másik oldalán helyet hagytam a teljesítménytranzisztor számára, és nincs szabad más áramkörök számára, amelyeket később szeretnék hozzáadni.

Csatlakoztassa az óralapot az órához, és győződjön meg arról, hogy az elektronika mindenben illeszkedik. Számomra minden nagyon szorosan illeszkedett, ezért előfordulhat, hogy némi átrendezésre van szükség. Csatlakoztassa a tápegységet, és futtassa a test1.py és test2.py fájlokat az SSH -ból, hogy ellenőrizze, minden működik -e a hátlap rögzítése előtt.

8. lépés: Töltse fel a kódot + Befejezés

Töltse fel a kódot + Befejezés
Töltse fel a kódot + Befejezés
Töltse fel a kódot + Befejezés
Töltse fel a kódot + Befejezés
Töltse fel a kódot + Befejezés
Töltse fel a kódot + Befejezés

A kód

Végül, ha még nem tette meg, töltse fel a kódot, és alakítsa át tetszés szerint (a nano fájlnév.py használatával). Az SSH -n keresztül a Pi -hez való csatlakozás előnye, hogy az óra megnyitása nélkül is frissítheti a kódot.

Ezek a python programok a 2. lépésből a következőket teszik:

  • A light_clock_simple.py egyszerűen megjeleníti az órát a LED -eken, és bizonyos időpontokban fel -le halványul
  • A light_clock_pwm.py ugyanaz, mint fent, de lehetővé teszi a LED -ek fényerejének csökkentését, és a perceket az óráktól eltérő fényerővel jeleníti meg. Játszania kell mindkettő fényerejével, így észrevehető a kettő közötti kontraszt

Ezeknek szilárd alapot kell biztosítaniuk a kódhoz való hozzáadáshoz, például érdemes hozzáadni egy gombot a fényjelzés elhalasztásához.

A program elindításához, amikor a Pi elindul, hozzá kell adnunk a „@reboot nohup python light_clock_pwm.py &” szót a crontab fájl végéhez, amely a terminálról a crontab -e segítségével nyitható meg. Indítsa újra a Raspberry Pi -t, és ellenőrizze, hogy működik -e a sudo shutdown -r most.

Lehetséges kiegészítések

Íme néhány ötlet a kiegészítő funkciókhoz, amelyeket hozzá lehet adni

  • Szundi gomb hozzáadása
  • Lámpa mód hozzáadása
  • Csatlakozás az IFTTT -hez (pl. A lámpa kigyulladhat, amikor a telefon riasztása megszólal/villog, amikor e -mailt fogad)
  • Kapacitásérzékelő képesség növelése, azaz az óra érintő lámpává tétele

A PWM használatakor észreveheti, hogy időnként, különösen alacsonyabb fényerő mellett, a LED kissé villog. Ennek oka az, hogy a Pi szoftver PWM szoftvert használ, így a CPU -folyamatok befolyásolhatják a működési ciklust. Mivel kevesebb folyamat fut, ez segít, így a lecsökkentett Raspbian Lite operációs rendszert használtam. A hardveres PWM néhány tűn is rendelkezésre áll, így ha a villódzás bizonyítja a problémát, akkor ezt meg kell vizsgálni.

Remélem, megtalálta ezt az oktatható tájékoztatót, és vagy inspirációt érez egy régi ébresztőóra újrahasznosításához, vagy saját kódjához használja a kód elemeit.

LED szalag sebesség kihívás
LED szalag sebesség kihívás
LED szalag sebesség kihívás
LED szalag sebesség kihívás

Második díj a LED Strip Speed Challenge versenyen

Ajánlott: