INHOUDSOPGAWE:
- Stap 1: Onderdele
- Stap 2: Die opstel van die Raspberry Pi
- Stap 3: Installeer die LED -strook
- Stap 4: Beheer van die LED -strook
- Stap 5: Maak die horlosie
- Stap 6: Skakel die Pi aan
- Stap 7: Voltooi die kring en verpakking
- Stap 8: Laai die kode + Voltooi op
Video: Opgemaakte wekker slim lig: 8 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
In hierdie projek ry ek 'n heeltemal gebroke opwindende wekker. Die horlosie word vervang deur 12 LED's, verlig deur 'n LED -strook om die rand van die klok. Die 12 LED's gee die tyd aan en die LED -strook is geprogrammeer om as 'n alarm op te tree en word op die vasgestelde tyd tot volle helderheid. Alles word beheer deur 'n Raspberry Pi Zero, wat talle integrasie- en uitbreidingsmoontlikhede moontlik maak, soos om die ligalarm outomaties met u telefoonalarm te sinchroniseer of die LED's te flits as u 'n e -pos ontvang.
Die projek gebruik relatief goedkoop of hergebruikte komponente - die enigste ding wat ek uiteindelik gekoop het, was die spanningsreguleerder. Al die ander dinge het ek toevallig gelê, soos 'n afgesnyde LED-strook. Hierdie instruksie sal u lei hoe ek 'n nuwe lewe aan my stukkende horlosie gegee het, en u hopelik kan inspireer om iets van u eie te maak.
Stap 1: Onderdele
Om alles te beheer, gaan ons 'n Raspberry Pi Zero gebruik, aangesien dit klein is, baie min kos en aan WiFi gekoppel kan word. Tensy u 'n Pi Zero W het, maak ons met 'n WiFi WiFi -dongle verbinding met 'n WiFi -netwerk.
Hier is 'n lys van die dele wat ek gebruik het, maar die meeste dinge kan geruil word vir geskikte alternatiewe. Byvoorbeeld, in plaas van 'n Raspberry Pi, kan u 'n Arduino met 'n intydse klok gebruik om die projek te beheer.
Onderdele gebruik
- 'N Ou wekker
- 30 cm warm wit LED -strook
- 1x Raspberry Pi Zero + mikro SD -kaart
- 1x USB WiFi -dongle + mikro -USB na USB -omskakelaar
- 12x LED's
- 12x 330ohm weerstande (gebruik hoër as u dowwer LED's wil hê)
- 1x TIP31a (of ander npn -kragtransistor of MOSFET)
- 1x 1k weerstand
- 1x LM2596 DC-DC verstelbare boksomskakelaar (trap af 12V vir 5V vir die Raspberry Pi)
- 1x 12V kragtoevoer (+ manier om by u projek aan te sluit)
- 10 cm x 10 cm hout vir die horlosie (moet redelik dun wees om jou LED's in te monteer)
- Verskeie stukke draad van verskillende kleure
Nuttige dinge om te hê
- Soldeerbout + soldeer
- Warm gom
- Multimeter
- Broodbord
- Vroulike kopstukke
- Micro SD kaartleser of omskakelaar
- N rekenaar
- Mini HDMI -adapter + HDMI -skerm as u die lessenaaromgewing van die Pi wil gebruik
Stap 2: Die opstel van die Raspberry Pi
Bedryfstelsel
Omdat die Raspberry Pi nie aan 'n skerm gekoppel is nie, het ek gekies om Raspbian Buster Lite te gebruik, wat nie by 'n lessenaaromgewing kom nie. As u 'n nuwer weergawe van Raspberry Pi het, is dit die beste om by die standaard Raspbian Buster te hou wat 'n lessenaar bevat. As u nie seker is hoe u u bedryfstelsel moet installeer nie, is dit 'n uitstekende bron. Beide bedryfstelsels kan afgelaai word vanaf die Raspberry Pi -webwerf.
Voer die Pi op die oomblik aan via sy mikro -USB -ingang. Koppel ook die USB WiFi -dongle aan.
Praat met die Raspberry Pi
Sodra alles verpak is, is dit redelik moeilik om toegang tot die Pi te kry as u die kode wil verander, ens. Deur SSH te gebruik, kan u verbinding maak met die Pi en dit vanaf 'n ander rekenaar beheer. Dit is nie standaard aangeskakel nie, maar ons kan dit doen deur eenvoudig 'n gids met die naam ssh in die opstartpartisie van u SD -kaart te maak. As u reeds by u Pi aangemeld het, kan u dit ook doen deur sudo raspi-config in die Terminal te tik en na Interfacing Options> SSH te gaan en Ja te kies om dit in te skakel.
Nou kan u op 'n ander rekenaar met u Pi koppel. Op Mac of Linux kan u u terminale toepassing gebruik, maar op die meeste weergawes van Windows moet u 'n SSH -kliënt soos PuTTY installeer. Koppel aan die Pi deur tik ssh pi@ waar gasheernaam vervang word deur die gasheernaam van IP -adres van u Pi. Die standaard gasheernaam is raspberrypi.local. Dit sal u vra vir 'n wagwoord wat, as u dit nog nie verander het nie, framboos is.
Dit is nodig om goed te installeer
Maak eers seker dat alles op datum is deur sudo apt update uit te voer en dan sudo apt full-upgrade.
Om seker te maak wat ons nodig het om die GPIO-penne op die Pi-tipe te beheer sudo apt-get install python-rpi.gpio en sudo apt-get install python3-rpi.gpio. Dit behoort reeds op die volledige weergawe van Raspbian geïnstalleer te wees.
Die kode
Hier is die kode om af te laai om alles te laat werk. As u 'n lessenaaromgewing gebruik, plak dit in u Documents -lêergids.
As u die opdragreël van SSH gebruik, navigeer u na u tuisgids deur cd ~/Documents in te tik en op enter te druk. Maak 'n nuwe lêer genaamd test1.py met nano test1.py. Dit maak die nano -teksredakteur oop waar u die kode van die afgelaaide test1.py -lêer kan plak. CTRL-O en druk enter om die lêer te stoor en CTRL-X om die redakteur te verlaat. Herhaal die proses vir die oorblywende lêers.
Stap 3: Installeer die LED -strook
Druk eers die LED -strook in die horlosie om te sien hoeveel u benodig, merk hierdie lengte en sny die strook by die volgende snypunt soos aangedui. Dit is baie makliker om drade aan die strook te soldeer voordat die strook vasgesteek word. Dit is 'n baie goeie gids oor hoe u dit moet doen, maar as u nie seker is nie, oefen ek net op die soldeerverbinding op die stuk waaruit u die strook gesny het. Soldeer een draad tot by die positiewe soldeerpunt en een draad aan die negatiewe. Kontroleer of u LED -strook werk voordat u dit in u horlosie steek.
Aangesien die LED -strook wat ek gebruik het, gebruik is voordat dit sy selfklevende agterkant verloor het, moes ek warm gom gebruik om die strook om die rand van die klokrand vas te maak. As u te lank is, bedek die punt waar die drade vasgemaak is. Miskien wil u die strook later installeer, maar ek vind dit makliker om dit in die klok weg te steek.
Stap 4: Beheer van die LED -strook
Verbind die LED -strook
Die LED -strook werk op 12V, dus kan nie direk van die Pi aangedryf word nie. Om dit te beheer, gebruik ons 'n kragtransistor (bv. TIP31a) wat aan die Pi gekoppel is, soos hierbo getoon. Ek beveel aan dat u eers kyk of alles op 'n broodbord werk.
- Koppel GPIO 19 aan die basis deur 'n 1k -weerstand
- Die emitter moet aan GND gekoppel wees
- Koppel die versamelaar aan die negatiewe aansluiting van die LED -strook
- Koppel die positiewe LED -strookaansluiting aan +12V
Toets
In die opdragreël, navigeer na u dokumentmap (cd ~/Documents) en tik python test1.py en voer in. U moet die LED -strook sien toeneem en afneem in helderheid. Druk CTRL-C om die program te verlaat. U kan die lêer (nano test1.py) wysig om die snelheid en helderheid in die program te verander.
voer RPi. GPIO in as GPIO invoer tyd GPIO.setmode (GPIO. BCM) # Gebruik die BCM pinout GPIO.setwarnings (Onwaar) # Ignoreer waarskuwings oor penne wat vir ander goed gebruik word ledStripPin = 19 # LED -strook word uit hierdie pen gedryf GPIO.setup (ledStripPin, GPIO. OUT) # Stel ledStripPin in as 'n uitset pwm = GPIO. PWM (ledStripPin, 100) # PWM op ledStripPin met frekwensie 100Hz dutyCycle = 0 # Aanvanklike helderheid as persentasie pwm.start (dutyCycle) probeer: terwyl waar: vir dutyCycle in range (0, 101, 1): # Fade up pwm. ChangeDutyCycle (dutyCycle) time.sleep (0.05) for dc in range (95, -1, -1): # Fow down pwm. ChangeDutyCycle (dc) time.slaap (0,05) behalwe KeyboardInterrupt: # Druk CTRL-C om op te hou, en dan: pwm.stop () # Stop die pwm GPIO.cleanup () # Maak die GPIO-penne skoon
Stap 5: Maak die horlosie
Sny die stuk hout vir u horlosie in grootte sodat dit in u horlosie pas. Ek het myne ongeveer 3 cm van die voorkant laat rus. Boor 12 gate met die deursnee van u LED's (gewoonlik 3 mm of 5 mm) op 30 grade afstand van mekaar. Skuur die voorkant na onder en pas 'n afwerking van u keuse toe. Plaas die LED's aan die agterkant sodat hulle na die voorkant wys. Ek het warm gom gebruik om die LED's op hul plek te hou met die positiewe terminaal (langer draad) na binne. Die grootte van my horlosie het beteken dat ek al die negatiewe terminale saam kon soldeer (sien hierbo), dus was slegs een draad nodig om al 12 LED's aan GND te koppel. Soldeer dan 'n draad aan elke LED.
As u dit op 'n broodbord wil toets, moet u eers 'n weerstand (330ohm is redelik standaard) met elke LED gebruik voordat u dit aan een van die Pi GPIO -penne koppel. Speel met die waarde van die weerstand wat u gebruik om 'n helderheidsvlak te kry waarmee u tevrede is. 'N T-skoenmaker is baie handig om die penne van die Pi na 'n broodbord uit te breek, alhoewel u die kopstukke hiervoor moet soldeer. Gebruik test2.py (hardloop met behulp van python test2.py), maar maak seker dat u eers die program wysig en die Pi se GPIO -penne wat u vir elke LED gebruik het, invoer.
voer RPi. GPIO in as GPIO
invoer tyd GPIO.setmode (GPIO. BCM) # Gebruik die BCM pinout GPIO.setwarnings (Onwaar) # Ignoreer waarskuwings oor penne wat vir ander goed gebruik word # Vervang een, twee, … met ooreenstemmende speldgetal uurPin = [een, twee, drie, vier, vyf, ses, sewe, agt, nege, tien, elf, twaalf] # Die penne waarmee die LED's gekoppel is van 1-12 vir i in bereik (0, 12): GPIO.setup (hourPin , GPIO. OUT) # Stel al die hourPins as uitsette GPIO.output (hourPin , 0) # Maak seker dat alle LED's af is, probeer: terwyl True: for i in bereik (0, 12) GPIO.output (hourPin , 1): time.sleep (0.05) vir i in range (0, 12) GPIO.output (hourPin , 0): time.sleep (0.05) behalwe KeyboardInterrupt: # Druk CTRL-C om af te sluit, en dan: GPIO.cleanup () # Maak die GPIO -penne skoon
Stap 6: Skakel die Pi aan
Ons benodig 'n maklike manier om 5V na die Pi Zero te kry, sodat ons ontslae kan raak van die mikro -USB -kabel wat ons tot dusver gebruik het. Daar is 'n aantal oplossings wat 12V tot 5V verlaag, soos 'n LM7805 lineêre spanningsreguleerder, maar dit is nie baie doeltreffend nie, so ek het verkies om die meer doeltreffende verstelbare boksomskakelaar te gebruik met die LM2596 -chip. Let daarop dat u die potensiometer moet draai totdat die uitsetspanning na 5V verminder word, soos benodig, sodat u 'n manier nodig het om spanning te meet.
Die gebruik van die LM2596 is eenvoudig: koppel die +12V aan IN +, grond aan IN-. Die Pi kan direk aan 5V gekoppel word deur OUT+ aan een van die Pi se 5V -penne te koppel, maar maak seker dat u die uitgangsspanning na 5V verander het voordat u dit doen, anders braai u u Pi!
Stap 7: Voltooi die kring en verpakking
Ons het nou al drie elemente van die stroombaan behandel wat saam in die algehele stroombaan hierbo getoon word. Om ruimte te bespaar en die kring netjieser te maak, plaas u kring op 'n strookbord of prototipe. Soldeer eers die kleinste komponente, die weerstande, dan die kragtransistor, enige verbindings en laastens die drade. Beplan u kring voordat u soldeer om seker te maak dat u plek vir alles het.
Ek het alles op 'n prototipe PCB gekoppel en vroulike koppenne gebruik sodat die Pi direk op die PCB kon sit. Die LED's op die horlosiekant is verbind deur weerstande aan die een kant van die bord, en ek het ruimte aan die ander kant van die bord gehou vir die kragtransistor en is vry vir enige ander stroombane wat ek later wil byvoeg.
Heg die horlosie aan die horlosie vas en maak seker dat die elektronika alles inpas. Alles was redelik styf vir my, sodat u miskien 'n bietjie moes herrangskik. Koppel die kragtoevoer aan en voer test1.py en test2.py van SSH af om te kyk of alles werk voordat die agterkant vasgemaak word.
Stap 8: Laai die kode + Voltooi op
Die kode
Laastens, as u dit nog nie gedoen het nie, laai die kode op en pas dit aan soos u wil (met behulp van nano filename.py). Die voordeel van die verbinding met die Pi via SSH is dat u die kode kan bywerk sonder om die klok oop te maak.
Hierdie luislangprogramme uit Stap 2 doen die volgende:
- light_clock_simple.py wys eenvoudig die uur op die LED's en vervaag op en af die LED -strook op sekere tye
- light_clock_pwm.py is dieselfde as hierbo, maar kan ook die helderheid van die LED's verminder en die minute met 'n ander helderheid as die ure vertoon. U moet met die helderheidsvlakke van albei speel, sodat die kontras tussen die twee merkbaar is
Dit moet 'n goeie basis bied om by die kode te voeg, byvoorbeeld, u kan 'n knoppie byvoeg om die ligalarm te sluimer.
Om die program te begin wanneer die Pi begin, moet ons '@reboot nohup python light_clock_pwm.py &' by die einde van die crontab -lêer voeg, wat vanaf die terminale met crontab -e oopgemaak kan word. Herbegin u Raspberry Pi om te kyk of dit nou met sudo shutdown -r werk.
Moontlike toevoegings
Hier is 'n paar idees van ekstra funksies wat bygevoeg kan word
- Voeg 'n sluimerknoppie by
- Voeg 'n lampmodus by
- Koppel aan IFTTT (bv. Lig kan aanskakel as u telefoonalarm afgaan/flits as e -pos ontvang word)
- Deur die aanraakvermoë by te voeg, maak die horlosie 'n aanraaklamp
As u PWM gebruik, kan u opmerk dat die LED soms 'n bietjie flikker, veral met 'n laer helderheid. Dit is omdat die Pi sagteware PWM gebruik, sodat CPU -prosesse die werksiklus kan beïnvloed. Omdat ek minder prosesse aan die gang gehad het, het ek die afgesnyde bedryfstelsel Raspbian Lite gebruik. Hardware PWM is ook op 'n paar penne beskikbaar, so as flikker 'n probleem bewys, is dit dalk iets om na te kyk.
Ek hoop dat u hierdie insiggewende insiggewend gevind het en dat u óf geïnspireer voel om 'n ou wekker op te stel, of om elemente van die kode vir u eie projek te gebruik.
Tweede prys in die LED Strip Speed Challenge
Aanbeveel:
Slim lessenaar LED -lig - Slim beligting met Arduino - Neopixels -werkruimte: 10 stappe (met foto's)
Slim lessenaar LED -lig | Slim beligting met Arduino | Neopixels Workspace: Ons spandeer deesdae baie tyd tuis, studeer en werk virtueel, so waarom nie ons werkruimte groter maak met 'n pasgemaakte en slim beligtingstelsel Arduino en Ws2812b LED's nie. Hier wys ek u hoe u u Smart bou LED -lessenaar op die tafel wat
Slimme wekker: 'n slim wekker gemaak met framboos Pi: 10 stappe (met foto's)
Slimme wekker: 'n slim wekker gemaak met framboos Pi: wou u al ooit 'n slim horlosie hê? As dit die geval is, is dit die oplossing vir u! Ek het 'n slim wekker gemaak, dit is 'n horlosie waarop u die wagtyd volgens die webwerf kan verander. As die alarm afgaan, is daar 'n geluid (gonser) en 2 ligte sal
DIY slim weegskaal met wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): 10 stappe (met foto's)
DIY Smart Scale With Alarm Clock (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In my vorige projek het ek 'n slim badkamerskaal met Wi-Fi ontwikkel. Dit kan die gebruiker se gewig meet, plaaslik vertoon en dit na die wolk stuur. U kan meer inligting hieroor kry op die onderstaande skakel: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
RPi IoT slim lig met behulp van Firebase: 4 stappe (met foto's)
RPi IoT Smart Light met behulp van Firebase: Hierdie gids wys u hoe u 'n app kan maak en instel om die Raspberry Pi via Firebase ('n aanlyn databasis) te beheer. En dan druk ek 'n saak vir die Pi Zero W in 3D, 'n Powerboost 1000C, 'n battery en 'n Blinkt
Musiekreaktiewe lig -- Hoe om 'n super -eenvoudige musiekreaktiewe lig te maak vir die maak van 'n tafelblad: 5 stappe (met foto's)
Musiekreaktiewe lig || Hoe om 'n super -eenvoudige musiekreaktiewe lig te maak om lessenaars te maak: Hallo ouens, vandag bou ons 'n baie interessante projek. Vandag gaan ons musiek reaktiewe lig bou. Die LED sal sy helderheid verander volgens die bas wat eintlik 'n lae-frekwensie klanksein is. Dit is baie eenvoudig om te bou. Ons sal