Përmbajtje:
- Hapi 1: Pjesët
- Hapi 2: Vendosja e Raspberry Pi
- Hapi 3: Instalimi i Rripit LED
- Hapi 4: Kontrollimi i Rripit LED
- Hapi 5: Bërja e Fytyrës së Orës
- Hapi 6: Fuqizimi i Pi
- Hapi 7: Plotësoni qarkun dhe paketimin
- Hapi 8: Ngarko kodin + Përfundo
Video: Ora me alarm e ngritur e zgjuar Drita e zgjuar: 8 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:12
Në këtë projekt unë ricikloj një orë alarmi të thyer plotësisht të erës. Faqja e orës zëvendësohet me 12 LED, të ndriçuara nga një shirit LED rreth buzës së orës. 12 LED tregojnë kohën dhe shiriti LED është programuar të veprojë si një alarm, duke u kthyer në shkëlqim të plotë në kohën e caktuar. Çdo gjë kontrollohet nga një Raspberry Pi Zero duke lejuar mundësi të panumërta integrimi dhe zgjerimi të tilla si sinkronizimi automatik i alarmit të dritës me alarmin e telefonit tuaj ose ndezja e LED -ve kur merrni një email.
Projekti përdor komponentë relativisht të lirë ose të ripërdorur - e vetmja gjë që përfundova duke blerë ishte rregullatori i tensionit. Çdo gjë tjetër që më ndodhi të isha shtrirë përreth, si një ndërprerje e shiritit LED. Ky Instructable do t'ju udhëheqë se si i dhashë një jetë të re orës sime të prishur dhe shpresoj se mund t'ju frymëzojë të ndryshoni diçka nga tuajat.
Hapi 1: Pjesët
Për të kontrolluar gjithçka që ne do të përdorim një Raspberry Pi Zero pasi është i vogël, kushton shumë pak dhe mund të lidhet me WiFi, që do të thotë se nuk kemi nevojë për orë në kohë reale dhe prandaj mund ta përditësojmë me lehtësi kodin nga distanca nga një kompjuter portativ. Nëse nuk keni Pi Zero W, ne do të lidhemi me një rrjet WiFi duke përdorur një dongle USB WiFi.
Këtu është një listë e pjesëve që kam përdorur, por shumica e gjërave mund të zëvendësohen me alternativa të përshtatshme. Për shembull, në vend të Raspberry Pi, mund të përdorni një Arduino me një orë në kohë reale për të kontrolluar projektin.
Pjesët e përdorura
- Një orë alarmi e vjetër
- 30 cm shirit LED të bardhë të ngrohtë
- 1x kartë Raspberry Pi Zero + mikro SD
- 1 x USB dongle WiFi + konvertues mikro USB në USB
- 12x LED
- Rezistenca 12x 330ohm (përdorni më të lartë nëse doni LED me zbehje)
- 1x TIP31a (ose transistor tjetër të fuqisë npn ose MOSFET)
- Rezistencë 1x 1k
- Konvertues 1x LM2596 DC-DC i rregullueshëm (zbret 12V për 5V për Raspberry Pi)
- Furnizimi me energji 1x 12v (+ mënyra për të hyrë në projektin tuaj)
- 10cm x 10cm dru për faqen e orës (duhet të jetë mjaft i hollë për të montuar LED -et tuaja)
- Pjesë të ndryshme të telit me ngjyra të ndryshme
Gjëra të dobishme për të pasur
- Saldim + saldim
- Zam i nxehtë
- Multimetër
- Breadboard
- Kunjat e kokës për femra
- Lexues ose konvertues i kartave Micro SD
- Një kompjuter
- Mini përshtatës HDMI + ekran HDMI nëse doni të përdorni mjedisin e desktopit të Pi
Hapi 2: Vendosja e Raspberry Pi
Sistemi Operativ
Për shkak se Raspberry Pi nuk do të lidhet me një ekran, zgjodha të përdor Raspbian Buster Lite i cili nuk vjen me një mjedis desktop. Nëse jeni më i ri në Raspberry Pi, mund të dëshironi t'i përmbaheni standardit Raspbian Buster i cili vjen me një desktop. Nëse nuk jeni të sigurt se si ta instaloni sistemin tuaj operativ, ky është një burim i shkëlqyeshëm. Të dy sistemet operative mund të shkarkohen nga faqja e internetit Raspberry Pi.
Për momentin, fuqizoni Pi përmes hyrjes së tij të energjisë Micro USB. Gjithashtu lidhni donglin USB WiFi.
Duke folur me Raspberry Pi
Pasi të jetë paketuar gjithçka, është mjaft e vështirë të hyni në Pi nëse doni të ndryshoni kodin, etj. Përdorimi i SSH ju lejon të përdorni lidhjen me Pi dhe ta kontrolloni atë nga një kompjuter tjetër. Kjo nuk është e ndezur si parazgjedhje, por ne mund ta bëjmë thjesht duke bërë një dosje të quajtur ssh në ndarjen e nisjes së kartës suaj SD. Nëse jeni regjistruar tashmë në Pi tuaj, gjithashtu mund ta bëni këtë duke shtypur sudo raspi-config në Terminal dhe duke lundruar te Opsionet e Ndërfaqjes> SSH dhe duke zgjedhur Po për ta aktivizuar atë.
Tani mund të lidheni me Pi tuaj në një kompjuter tjetër. Në Mac ose Linux mund të përdorni aplikacionin tuaj terminal, por në shumicën e versioneve të Windows do të duhet të instaloni një klient SSH siç është PuTTY. Lidhuni me Pi duke shtypur ssh pi@ ku emri i hostit zëvendësohet me emrin e hostit të adresës IP të Pi tuaj. Emri i parazgjedhur i hostit është raspberrypi.local. Do t'ju kërkojë një fjalëkalim i cili, nëse nuk e keni ndryshuar ende, është mjedër.
Instalimi i sendeve të nevojshme
Së pari sigurohuni që gjithçka është e përditësuar duke ekzekutuar përditësimin sudo apt dhe më pas sudo apt azhurnim të plotë.
Për t'u siguruar që ne kemi nevojë për të kontrolluar kunjat GPIO në tipin Pi sudo apt-get install python-rpi.gpio dhe sudo apt-get install python3-rpi.gpio. Këto tashmë duhet të instalohen në versionin e plotë të Raspbian.
Kodi
Këtu është kodi për t'u shkarkuar për të funksionuar gjithçka. Nëse jeni duke përdorur një mjedis desktop ngjitini këto në dosjen tuaj Dokumente.
Nëse jeni duke përdorur vijën komanduese të SSH, lundroni te dosja juaj e shtëpisë duke shtypur cd ~/Documents dhe duke shtypur enter. Krijoni një skedar të ri të quajtur test1.py me nano test1.py. Kjo do të hapë redaktuesin e tekstit nano ku mund të ngjisni kodin e skedarit të shkarkuar test1.py. CTRL-O dhe shtypni enter për të ruajtur skedarin dhe CTRL-X për të lënë redaktorin. Përsëriteni procesin për skedarët e mbetur.
Hapi 3: Instalimi i Rripit LED
Fillimisht hapni shiritin LED në orë për të parë se sa do t'ju duhet, shënoni këtë gjatësi dhe prerë shiritin në pikën tjetër të prerjes siç tregohet. Ashtë shumë më e lehtë të lidhësh telat në shirit para se shiriti të mbërthehet në vend. Ky është një udhëzues mjaft i mirë se si ta bëni këtë, por nëse nuk jeni të sigurt, unë thjesht do të praktikoja në lidhjen e saldimit në copën nga e cila sapo keni prerë shiritin tuaj. Lidhni një tel në pikën e saldimit pozitiv dhe një tel në atë negativ. Sigurohuni që të testoni funksionimin e shiritit tuaj LED para se ta vendosni në orën tuaj.
Meqenëse shiriti LED që kam përdorur ishte përdorur para se të kishte humbur mbështetjen e tij vetë ngjitëse, kështu që më duhej të përdor zam të nxehtë për të rregulluar shiritin rreth buzës së buzës së orës. Nëse keni gjatësi të tepërt, mbuloni pikën ku janë lidhur telat. Ju mund të dëshironi të instaloni shiritin më vonë, por unë e kisha më të lehtë ta mbaja atë në orë.
Hapi 4: Kontrollimi i Rripit LED
Lidhja e shiritit LED
Shiriti LED funksionon në 12V, kështu që nuk mund të fuqizohet drejtpërdrejt nga Pi. Për t'i kontrolluar ato ne do të përdorim një transistor fuqie (p.sh. TIP31a) të lidhur deri në Pi siç tregohet më sipër. Unë do të rekomandoja që së pari të kontrolloni se të gjitha funksionojnë në një dërrasë buke.
- Lidhni GPIO 19 me bazën përmes një rezistence 1k
- Emetuesi duhet të jetë i lidhur me GND
- Lidhni kolektorin me terminalin negativ të shiritit LED
- Lidhni terminalin e shiritit LED pozitiv në +12V
Duke testuar
Në rreshtin e komandës shkoni te dosja e dokumenteve tuaja (cd ~/Documents) dhe shkruani python test1.py dhe futni. Ju duhet të shihni që shiriti LED rritet dhe zvogëlohet në shkëlqim. Për të lënë programin shtypni CTRL-C. Ju mund të redaktoni skedarin (nano test1.py) për të ndryshuar shpejtësinë dhe shkëlqimet në program.
import RPi. GPIO si GPIOimport kohë GPIO.setmode (GPIO. BCM) # Përdorni GPM pinout GPIO.setwarnings (False) # Injoroni paralajmërimet në lidhje me kunjat që përdoren për sende të tjera ledStripPin = 19 # Shiriti LED nxirret nga ky pin GPIO.setup (ledStripPin, GPIO. OUT) # Vendosni ledStripPin si dalje pwm = GPIO. PWM (ledStripPin, 100) # PWM në ledStripPin me frekuencë 100Hz dutyCycle = 0 # Shkëlqimi fillestar si përqindje pwm.start (dutyCycle) provoni: ndërsa e vërtetë: për dutyCycle in range (0, 101, 1): # Fade up pwm. ChangeDutyCycle (dutyCycle) time. fle (0.05) për dc në rang (95, -1, -1): # Fade down pwm. ChangeDutyCycle (dc) time.gjumë (0.05) përveç tastierësNdërprer: # Shtypni CTRL-C për ta lënë, dhe më pas: pwm.stop () # Ndaloni GPW-në pwm.cleanup () # Pastroni kunjat e GPIO
Hapi 5: Bërja e Fytyrës së Orës
Pritini copën e drurit për orën tuaj me fytyrë poshtë në madhësi në mënyrë që të përshtatet në orën tuaj. E kam bërë timen të pushojë në rreth 3 cm nga përpara. Stërvitni 12 vrima me diametër të LED -ve tuaj (zakonisht 3mm ose 5mm) të vendosura 30 gradë nga njëra -tjetra. Lëreni pjesën e përparme me fytyrë poshtë dhe aplikoni një përfundim sipas dëshirës tuaj. Nga ana e pasme vendosni LED -të në mënyrë që ato të drejtohen në pjesën e përparme. Kam përdorur zam të nxehtë për të mbajtur LED -të në vend me terminalin pozitiv (tela më të gjatë) të kthyer nga brenda. Madhësia e faqes sime të orës do të thoshte se mund të bashkoj të gjithë terminalet negativ së bashku (shiko më sipër) kështu që vetëm një tel ishte i nevojshëm për të lidhur të gjitha 12 LED me GND. Tjetra, lidhni një tel në secilën LED.
Nëse doni ta provoni këtë në një pjatë, së pari mos harroni të përdorni një rezistencë (330ohm është mjaft standarde) në seri me secilën LED para se ta lidhni me një nga kunjat e Pi GPIO. Luani me vlerën e rezistencës që përdorni për të marrë një nivel shkëlqimi me të cilin jeni të kënaqur. Një kalldrëm është vërtet i dobishëm për të shpërthyer kunjat e Pi në një pjatë, edhe pse për këtë ju duhet të lidhni kunjat e kokës. Përdorni test2.py (ekzekutoni duke përdorur python test2.py) por sigurohuni që së pari të redaktoni programin dhe të futni kunjat GPIO të Pi që keni përdorur për secilën LED.
importoni RPi. GPIO si GPIO
koha e importit GPIO.setmode (GPIO. BCM) # Përdorni GPM pinout GPIO.setwarnings (False) # Injoroni paralajmërimet në lidhje me kunjat që përdoren për sende të tjera # Zëvendësoni një, dy,… me numrin përkatës të pinit orëPin = [një, dy, tre, katër, pesë, gjashtë, shtatë, tetë, nëntë, dhjetë, njëmbëdhjetë, dymbëdhjetë] # Kunjat me të cilat LED janë të lidhura nga 1-12 për i në rang (0, 12): GPIO.setup (hourPin , GPIO. OUT) # Vendosni të gjitha sahatet si dalje GPIO.putput (hourPin , 0) # Sigurohuni që të gjitha LED -të janë fikur provoni: ndërsa True: për i në interval (0, 12) GPIO.output (hourPin , 1): time.sleep (0.05) për i në rang (0, 12) GPIO. Dalje (orëPin , 0): time.sleep (0.05) përveç tastierës Ndërprerje: # Shtypni CTRL-C për ta lënë, dhe pastaj: GPIO.cleanup () # Pastroni kunjat e GPIO
Hapi 6: Fuqizimi i Pi
Ne kemi nevojë për një mënyrë të lehtë për të marrë 5V në Pi Zero, në mënyrë që të heqim qafe kabllon mikro USB që kemi përdorur për ta fuqizuar atë deri më tani. Ekzistojnë një numër zgjidhjesh që zbresin nga 12V në 5V, të tilla si një rregullator linear i tensionit LM7805, por këto nuk janë shumë efikase, kështu që unë vendosa të përdor konvertuesin më të efektshëm të rregullueshëm të dollarit duke përdorur çipin LM2596. NB me këtë ju do të duhet të ktheni potenciometrin derisa voltazhi i daljes të zvogëlohet në 5V siç kërkohet, kështu që do t'ju duhet një mënyrë për të matur tensionin.
Përdorimi i LM2596 është i thjeshtë: lidhni +12V me IN +, tokëzoni me IN-. Pi mund të lidhet drejtpërdrejt me 5V duke lidhur OUT+ me një nga kunjat 5V të Pi, por sigurohuni që të keni ndryshuar tensionin e daljes në 5V para se ta bëni këtë ose do të skuqni Pi tuaj!
Hapi 7: Plotësoni qarkun dhe paketimin
Tani kemi mbuluar të tre elementët e qarkut të cilët tregohen së bashku në qarkun e përgjithshëm më sipër. Për të kursyer hapësirë dhe për ta bërë qarkun më të pastër, vendoseni qarkun tuaj në tabelë shiritash ose bordi prototip. Së pari bashkoni përbërësit më të vegjël, rezistorët, pastaj transistorin e energjisë, çdo lidhës dhe së fundi telat. Planifikoni qarkun tuaj para se të bashkoni për t'u siguruar që keni hapësirë për gjithçka.
Unë lidha gjithçka në një PCB prototip dhe përdorja kunjat e kokës femërore në mënyrë që Pi të mund të ngjitej drejtpërdrejt në PCB. LED -të në faqen e orës janë të lidhura përmes rezistencave në njërën anë të tabelës dhe unë kam mbajtur hapësirë në anën tjetër të bordit për tranzistorin e energjisë dhe të lirë për çdo qark tjetër që mund të dëshiroj të shtoj më vonë.
Lidhni faqen e orës me orën dhe sigurohuni që pajisjet elektronike të futen brenda. Çdo gjë ishte shumë e përshtatshme për mua, kështu që mund t'ju duhet të bëni një rirregullim. Lidhni furnizimin me energji dhe ekzekutoni test1.py dhe test2.py nga SSH për të kontrolluar se gjithçka funksionon para se të lidhni pjesën e pasme.
Hapi 8: Ngarko kodin + Përfundo
Kodi
Së fundi, nëse nuk e keni bërë ende, ngarkoni kodin dhe përshtateni atë sipas dëshirës tuaj (duke përdorur nano filename.py). Përfitimi i lidhjes me Pi mbi SSH është se ju mund të azhurnoni kodin pa hapur orën.
Këto programe python nga Hapi 2 bëjnë sa më poshtë:
- light_clock_simple.py thjesht tregon orën në LED dhe zbehet lart e poshtë në brezin LED në kohë të caktuara
- light_clock_pwm.py është e njëjtë me atë të mësipërm, por gjithashtu lejon që ndriçimi i LED -ve të zvogëlohet dhe shfaq minutat me një shkëlqim të ndryshëm në orë. Ju do të duhet të luani me nivelet e shkëlqimit të të dyjave, kështu që kontrasti midis të dyve është i dukshëm
Këto duhet të sigurojnë një bazë solide për shtimin e kodit, për shembull ju mund të dëshironi të shtoni një buton për të shtyrë alarmin e dritës.
Për të nisur programin kur Pi të niset ne duhet të shtojmë '@reboot nohup python light_clock_pwm.py &' në fund të skedarit crontab i cili mund të hapet nga terminali me crontab -e. Rinisni Raspberry Pi tuaj për të kontrolluar që po punon me mbylljen sudo -r tani.
Shtesa të mundshme
Këtu janë disa ide të funksionimit shtesë që mund të shtohen
- Shtimi i një butoni të shtyrjes
- Shtimi i modalitetit të llambës
- Lidhja me IFTTT (p.sh. drita mund të ndizet kur alarmi i telefonit fiket/ndizet kur merret email)
- Shtimi i kapacitetit të prekjes së aftësisë dmth. Shndërroni orën në një llambë me prekje
Ju mund të vini re kur përdorni PWM që herë pas here, veçanërisht me ndriçim më të ulët, LED dridhet pak. Kjo ndodh sepse Pi përdor softuer PWM kështu që proceset e CPU mund të ndikojnë në ciklin e punës. Duke pasur më pak procese që ndihmojnë në këtë, kështu që unë përdor sistemin operativ pared down Raspbian Lite. PWM e pajisjeve është gjithashtu e disponueshme në disa kunja, kështu që nëse dridhja po provon një problem, kjo mund të jetë diçka për t'u parë.
Shpresoj se e keni gjetur këtë informacion udhëzues dhe ose ndiheni të frymëzuar për të shkarkuar një orë me zile të vjetër ose përdorni elemente të kodit për projektin tuaj.
Çmimi i dytë në Sfidën e Shpejtësisë së Shiritit LED
Recommended:
Dritë LED e tavolinës së zgjuar - Ndriçim i zgjuar W/ Arduino - Hapësira e punës Neopixels: 10 hapa (me fotografi)
Dritë LED e tavolinës së zgjuar | Ndriçim i zgjuar W/ Arduino | Neopixels Workspace: Tani një ditë ne po kalojmë shumë kohë në shtëpi, duke studiuar dhe punuar virtualisht, kështu që pse të mos e bëjmë hapësirën tonë të punës më të madhe me një sistem ndriçimi të personalizuar dhe të zgjuar të bazuar në LED Arduino dhe Ws2812b. Këtu po ju tregoj se si të ndërtoni Smart tuaj Drita LED e tavolinës që
Drita e animuar dhe drita e natës: 6 hapa (me fotografi)
Animated Mood Light & Night Light: Duke pasur një magjepsje që kufizohet me obsesionin me dritën, vendosa të krijoj një përzgjedhje të PCB -ve të vogla modulare që mund të përdoren për të krijuar ekrane të dritës RGB të çdo madhësie. Pasi bëra PCB modulare, unë u pengova në idenë e rregullimit të tyre në një
Drita intime e videos/ Drita fotografike me dorë .: 7 hapa (me fotografi)
Drita intime e videos/ Drita fotografike me dorë: Unë e di se çfarë po mendoni. Nga " intime, " Unë do të thoja ndriçim nga afër nën situata të vështira të dritës-jo domosdoshmërisht për " situata intime. &Quot; (Sidoqoftë, mund të përdoret edhe për atë …) Si videograf i qytetit të Nju Jorkut-ose
Ora Alarm LED e Agimit me Alarm Këngësh të personalizueshëm: 7 hapa (me fotografi)
Ora Alarm LED e Agimit me Alarm Kënge të Përshtatshëm: Motivimi im Këtë dimër e dashura ime pati shumë probleme të zgjohej në mëngjes dhe dukej se vuante nga SAD (Çrregullimi Afektiv Sezonal). Unë madje vërej se sa më e vështirë është të zgjohesh në dimër pasi dielli nuk ka ardhur
Stacioni i energjisë në konvikte/Stacioni i karikimit NiMH i ngritur: 3 hapa
Stacioni i energjisë në konvikte/Stacioni i karikimit NiMH: Unë kam një rrëmujë të një stacioni të energjisë. Doja të kondensoja gjithçka që ngarkohej në një tavolinë pune dhe të kisha vend për të bashkuar/etj në të. Lista e gjërave të energjisë: Telefoni celular (i prishur, por ngarkon bateritë e telefonit tim, kështu që është gjithmonë i kyçur dhe rrjedh karikime