Turinys:
- 1 žingsnis: dalys
- 2 veiksmas: nustatykite „Raspberry Pi“
- 3 žingsnis: LED juostelės montavimas
- 4 žingsnis: LED juostelės valdymas
- 5 žingsnis: Padarykite laikrodžio veidą
- 6 žingsnis: „Pi“maitinimas
- 7 žingsnis: Užbaikite grandinę ir pakuotę
- 8 veiksmas: įkelkite kodą + Baigti
Video: Pakartotinis žadintuvo išmanusis apšvietimas: 8 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Šiame projekte aš perdirbu visiškai sugedusį žadintuvą. Laikrodžio rodyklę pakeičia 12 šviesos diodų, apšviestų LED juostele aplink laikrodžio kraštą. 12 šviesos diodų nurodo laiką, o LED juostelė yra užprogramuota veikti kaip aliarmas ir nustatytu laiku įgauna visą ryškumą. Viską valdo „Raspberry Pi Zero“, suteikiantis daugybę integravimo ir išplėtimo galimybių, pavyzdžiui, automatiškai sinchronizuoti šviesos signalą su jūsų telefono aliarmu arba mirksėti šviesos diodais, kai gaunate el. Laišką.
Projekte naudojami palyginti pigūs arba pakartotinai naudojami komponentai - vienintelis dalykas, kurį galiausiai nusipirkau, buvo įtampos reguliatorius. Visa kita atsitiko, kad gulėjau, pavyzdžiui, nupjauta LED juostelė. Ši instrukcija padės jums sužinoti, kaip aš suteikiau naują gyvenimą savo sugedusiam laikrodžiui, ir, tikiuosi, įkvėps jus atnaujinti kažką savo.
1 žingsnis: dalys
Norėdami valdyti viską, ką naudosime, naudosime „Raspberry Pi Zero“, nes jis yra mažas, kainuoja labai mažai ir gali būti prijungtas prie „WiFi“, o tai reiškia, kad mums nereikia kaip realaus laiko laikrodžio, todėl galime lengvai atnaujinti kodą nuotoliniu būdu iš nešiojamojo kompiuterio. Jei neturite „Pi Zero W“, mes prisijungsime prie „WiFi“tinklo naudodami USB „WiFi“raktą.
Čia yra mano naudojamų dalių sąrašas, tačiau daugumą dalykų galima pakeisti tinkamomis alternatyvomis. Pavyzdžiui, vietoj „Raspberry Pi“projektui valdyti galite naudoti „Arduino“su realaus laiko laikrodžiu.
Naudotos dalys
- Senas žadintuvas
- 30 cm šiltos baltos LED juostos
- 1x „Raspberry Pi Zero“+ „micro SD“kortelė
- 1x USB WiFi raktas + mikro USB į USB keitiklis
- 12x šviesos diodų
- 12x 330 omų rezistoriai (jei norite silpnesnių šviesos diodų, naudokite aukštesnius)
- 1x TIP31a (arba kitas npn galios tranzistorius arba MOSFET)
- 1x 1k rezistorius
- 1x LM2596 DC-DC reguliuojamas kintamosios srovės keitiklis („Raspberry Pi“sumažina 12 V 5 V įtampą)
- 1x 12 V maitinimo šaltinis (+ būdas patekti į jūsų projektą)
- 10 x 10 cm mediena laikrodžio rodmeniui (turėtų būti pakankamai plona, kad būtų galima pritvirtinti šviesos diodus)
- Įvairūs skirtingų spalvų vielos gabalai
Naudingi dalykai, kuriuos reikia turėti
- Lituoklis + lydmetalis
- Karšti klijai
- Multimetras
- Bandomoji Lenta
- Moteriški antgaliai
- „Micro SD“kortelių skaitytuvas arba keitiklis
- Kompiuteris
- Mini HDMI adapteris + HDMI ekranas, jei norite naudoti „Pi“darbalaukio aplinką
2 veiksmas: nustatykite „Raspberry Pi“
Operacinė sistema
Kadangi „Raspberry Pi“nebus prijungtas prie ekrano, nusprendžiau naudoti „Raspbian Buster Lite“, kuris nėra komplektuojamas su darbalaukio aplinka. Jei esate naujesnis „Raspberry Pi“, galbūt norėsite laikytis standartinio „Raspbian Buster“, kuris pateikiamas kartu su darbalaukiu. Jei nesate tikri, kaip įdiegti operacinę sistemą, tai puikus šaltinis. Abi operacines sistemas galima atsisiųsti iš „Raspberry Pi“svetainės.
Šiuo metu maitinkite „Pi“per „Micro USB“maitinimo įvestį. Taip pat prijunkite USB „WiFi“raktą.
Pokalbis su „Raspberry Pi“
Kai viskas bus supakuota, gana sunku pasiekti „Pi“, jei norite pakeisti kodą ir tt Naudodami SSH galite prisijungti prie „Pi“ir valdyti jį iš kito kompiuterio. Tai neįjungta pagal numatytuosius nustatymus, tačiau tai galime padaryti tiesiog sukurdami aplanką pavadinimu ssh jūsų SD kortelės įkrovos skaidinyje. Jei jau esate prisijungę prie „Pi“, tai taip pat galite padaryti terminale įvesdami sudo raspi-config ir eidami į sąsajos parinktis> SSH ir pasirinkę Taip, kad tai įjungtumėte.
Dabar galite prisijungti prie „Pi“kitame kompiuteryje. „Mac“ar „Linux“galite naudoti savo terminalo programą, tačiau daugumoje „Windows“versijų turėsite įdiegti SSH klientą, pvz., „PuTTY“. Prisijunkite prie „Pi“įvesdami ssh pi@, kur pagrindinio kompiuterio pavadinimas pakeičiamas jūsų „Pi“IP adreso pagrindinio kompiuterio pavadinimu. Numatytasis pagrindinio kompiuterio pavadinimas yra raspberrypi.local. Jis paprašys jūsų slaptažodžio, kuris, jei dar nepakeitėte, yra avietinis.
Įdiegti reikalingus daiktus
Pirmiausia įsitikinkite, kad viskas atnaujinta, paleisdami „sudo apt update“, o tada „sudo apt full-upgrade“.
Norėdami įsitikinti, ko mums reikia norint valdyti GP tipo kaiščius Pi tipo sudo apt-get install python-rpi.gpio ir sudo apt-get install python3-rpi.gpio. Jie jau turėtų būti įdiegti pilnoje „Raspbian“versijoje.
Kodas
Štai kodas, kurį reikia atsisiųsti, kad viskas veiktų. Jei naudojate darbalaukio aplinką, įklijuokite juos į aplanką Dokumentai.
Jei naudojate SSH komandinę eilutę, eikite į savo namų aplanką įvesdami cd ~/Documents ir paspausdami enter. Sukurkite naują failą, pavadintą test1.py, naudodami nano test1.py. Bus atidarytas nano teksto redaktorius, kuriame galėsite įklijuoti atsisiųsto test1.py failo kodą. CTRL-O ir paspauskite „Enter“, kad išsaugotumėte failą, ir „CTRL-X“, kad uždarytumėte redaktorių. Pakartokite procesą likusiems failams.
3 žingsnis: LED juostelės montavimas
Pirmiausia pasukite LED juostelę į laikrodį, kad pamatytumėte, kiek jums reikės, pažymėkite šį ilgį ir nukirpkite juostelę kitame pjovimo taške, kaip parodyta. Daug lengviau lituoti laidus prie juostos, kol juostelė neužstringa savo vietoje. Tai yra gana geras vadovas, kaip tai padaryti, bet jei nesate tikri, aš tiesiog praktikuojuosi prie lydmetalio sujungimo ant gabalo, iš kurio ką tik nukirpėte juostelę. Lituokite vieną laidą prie teigiamo litavimo taško ir vieną laidą prie neigiamo. Prieš priklijuodami laikrodį patikrinkite, ar veikia LED juostelė.
Kadangi mano naudojama LED juostelė buvo naudojama dar nepraradus savaiminio klijavimo pagrindo, todėl norėdama pritvirtinti juostelę aplink laikrodžio krašto, turėjau naudoti karštus klijus. Jei turite ilgesnį ilgį, uždenkite laidų pritvirtinimo vietą. Galbūt vėliau norėsite įdiegti juostelę, bet man buvo lengviau ją paslėpti laikrodyje.
4 žingsnis: LED juostelės valdymas
LED juostos prijungimas
Šviesos diodų juostelė veikia 12 V, todėl jos negalima maitinti tiesiogiai iš „Pi“. Norėdami juos valdyti, naudosime galios tranzistorių (pvz., TIP31a), prijungtą prie Pi, kaip parodyta aukščiau. Rekomenduočiau pirmiausia patikrinti, ar viskas veikia ant lentos.
- Prijunkite GPIO 19 prie pagrindo per 1k rezistorių
- Emiteris turi būti prijungtas prie GND
- Prijunkite kolektorių prie neigiamo LED juostelės gnybto
- Prijunkite teigiamą LED juostos gnybtą prie +12V
Testavimas
Komandų eilutėje eikite į savo dokumentų aplanką (cd ~/Documents) ir įveskite python test1.py ir įveskite. Turėtumėte matyti, kaip šviesos diodų juostelė didėja ir mažėja. Norėdami uždaryti programą, paspauskite CTRL-C. Galite redaguoti failą (nano test1.py), kad pakeistumėte programos greitį ir ryškumą.
importuoti RPi. GPIO kaip GPIO importuoti laiką GPIO.setmode (GPIO. BCM) # Naudoti BCM pinout GPIO.setwarnings (klaidinga) # Ignoruoti įspėjimus apie smeigtukus, naudojamus kitiems dalykams (ledStripPin, GPIO. OUT) # Nustatykite „ledStripPin“kaip išvestį pwm = GPIO. PWM (ledStripPin, 100) dutyCycle diapazone (0, 101, 1): # Išnyks pwm. ChangeDutyCycle (dutyCycle) time.sleep (0,05) nuolatinei srovei diapazone (95, -1, -1): # Išnyks pwm. ChangeDutyCycle (dc) laikas.sleep (0,05), išskyrus klaviatūrąInterrupt: # Norėdami išeiti, paspauskite CTRL-C, tada: pwm.stop () # Sustabdykite pwm GPIO.cleanup () # Išvalykite GPIO kaiščius
5 žingsnis: Padarykite laikrodžio veidą
Iškirpkite laikrodžio medžio gabalą žemyn, kad jis atitiktų jūsų laikrodį. Aš pailsėjau maždaug 3 cm atstumu nuo priekio. Išgręžkite 12 skylių, kurių skersmuo yra jūsų šviesos diodai (paprastai 3 mm arba 5 mm), esantys 30 laipsnių atstumu vienas nuo kito. Šlifuokite priekinę pusę žemyn ir pritaikykite pasirinktą apdailą. Iš galinės pusės padėkite šviesos diodus taip, kad jie būtų nukreipti į priekį. Naudojau karštus klijus, kad šviesos diodai būtų vietoje, o teigiamas gnybtas (ilgesnis laidas) nukreiptas į vidų. Mano laikrodžio rodyklės dydis reiškia, kad galiu sulieti visus neigiamus gnybtus (žr. Aukščiau), todėl norint prijungti visus 12 šviesos diodų prie GND, reikėjo tik vieno laido. Tada lituokite laidą prie kiekvieno šviesos diodo.
Jei norite tai išbandyti ant duonos lentos, prieš prijungdami prie vieno iš Pi GPIO kaiščių, nepamirškite iš eilės su kiekvienu šviesos diodu naudoti rezistorių (330 omų yra gana standartinis). Žaiskite su rezistoriaus verte, kurią naudojate, kad gautumėte patenkintą ryškumo lygį. „T-cobbler“yra tikrai naudingas norint atskirti „Pi“kaiščius prie duonos lentos, nors tam turėsite lituoti antraštės kaiščius. Naudokite test2.py (paleiskite naudodami python test2.py), tačiau būtinai pirmiausia redaguokite programą ir įveskite Pi GPIO kaiščius, kuriuos naudojote kiekvienam šviesos diodui.
importuoti RPi. GPIO kaip GPIO
importo laikas GPIO.setmode (GPIO. BCM) # Naudokite BCM kontaktą GPIO.setwarnings (klaidinga) # Nepaisykite įspėjimų apie smeigtukus, naudojamus kitiems dalykams # Vieną, du,… pakeiskite atitinkamu PIN numeriu hourPin = [vienas, du, trys, keturi, penki, šeši, septyni, aštuoni, devyni, dešimt, vienuolika, dvylika] # Smeigtukai, prie kurių šviesos diodai prijungti nuo 1 iki 12, esant diapazonui (0, 12): GPIO.setup (hourPin , GPIO. OUT) # Nustatykite visus „hourPins“kaip išėjimus GPIO.output (hourPin , 0) # Įsitikinkite, kad visi šviesos diodai nedega.], 1): laikas. tada: GPIO.cleanup () # Išvalykite GPIO kaiščius
6 žingsnis: „Pi“maitinimas
Mums reikia paprasto būdo prijungti 5 V prie „Pi Zero“, kad galėtume atsikratyti iki šiol naudojamo mikro USB kabelio. Yra daugybė sprendimų, kurie sumažina 12V iki 5V, pvz., Linijinis įtampos reguliatorius LM7805, tačiau jie nėra labai efektyvūs, todėl vietoj to aš nusprendžiau naudoti efektyvesnį reguliuojamą konverterį naudojant LM2596 mikroschemą. PASTABA: turėsite pasukti potenciometrą, kol išėjimo įtampa bus sumažinta iki 5 V.
Naudoti LM2596 paprasta: prijunkite +12V prie IN +, įžeminkite prie IN-. „Pi“gali būti tiesiogiai prijungtas prie 5 V, prijungus OUT+ prie vieno iš „Pi“5 V kaiščių, tačiau prieš tai darydami įsitikinkite, kad pakeitėte išėjimo įtampą į 5 V.
7 žingsnis: Užbaikite grandinę ir pakuotę
Dabar apžvelgėme visus tris grandinės elementus, kurie kartu rodomi aukščiau esančioje bendroje grandinėje. Norėdami sutaupyti vietos ir padaryti grandinę tvarkingesnę, uždėkite grandinę ant juostos plokštės arba prototipo plokštės. Pirmiausia lituokite mažiausius komponentus, rezistorius, tada galios tranzistorių, bet kokias jungtis ir galiausiai laidus. Prieš lituodami suplanuokite savo grandinę, kad įsitikintumėte, jog turite vietos viskam.
Aš viską prijungiau prie prototipų PCB ir naudoju moteriškus antraštės kaiščius, kad Pi galėtų pritvirtinti tiesiai prie PCB. Laikrodžio rodyklės šviesos diodai yra prijungti per rezistorius vienoje plokštės pusėje, o kitoje plokštės pusėje turėjau vietos galios tranzistoriui ir be jokių kitų grandinių, kurias galbūt norėčiau pridėti vėliau.
Pritvirtinkite laikrodžio rodyklę prie laikrodžio ir įsitikinkite, kad visa elektronika tinka. Viskas man buvo gana tvirtai, todėl jums gali tekti atlikti pertvarkymą. Prijunkite maitinimo šaltinį ir paleiskite test1.py ir test2.py iš SSH, kad patikrintumėte, ar viskas veikia prieš pritvirtindami galą.
8 veiksmas: įkelkite kodą + Baigti
Kodas
Galiausiai, jei to dar nepadarėte, įkelkite kodą ir pritaikykite jį, kaip norite (naudodami nano failo pavadinimą.py). Prisijungimo prie „Pi“per SSH pranašumas yra tas, kad kodą galite atnaujinti neatidarę laikrodžio.
Šios „Python“programos nuo 2 veiksmo atlieka šiuos veiksmus:
- „light_clock_simple.py“tiesiog rodo valandą šviesos dioduose ir tam tikru metu išblunka ir sumažėja LED juostelėje
- „light_clock_pwm.py“yra tas pats, kas nurodyta aukščiau, bet taip pat leidžia sumažinti šviesos diodų ryškumą ir rodo minutes skirtingu ryškumu nei valandos. Turėsite žaisti su abiejų ryškumo lygiais, kad būtų pastebimas šių dviejų kontrastas
Tai turėtų būti tvirtas pagrindas pridėti kodą, pavyzdžiui, galbūt norėsite pridėti mygtuką, kad atidėtumėte šviesos signalą.
Norėdami paleisti programą, kai „Pi“paleidžiama, prie „crontab“failo pabaigos, kurį galima atidaryti iš terminalo naudojant „crontab -e“, turime pridėti „@reboot nohup python light_clock_pwm.py &“. Iš naujo paleiskite „Raspberry Pi“, kad patikrintumėte, ar jis veikia su „sudo shutdown -r“.
Galimi papildymai
Štai keletas papildomų funkcijų idėjų, kurias būtų galima pridėti
- Pridedamas snaudimo mygtukas
- Lempos režimo pridėjimas
- Prisijungimas prie IFTTT (pvz., Lemputė gali įsijungti, kai išsijungia telefono žadintuvas/mirksi gavus el. Laišką)
- Padidinus jutiklinį pajėgumą, ty laikrodį paverskite jutikline lempa
Naudodami PWM galite pastebėti, kad kartais, ypač esant mažesniam ryškumui, šviesos diodas šiek tiek mirksi. Taip yra todėl, kad „Pi“naudoja programinę įrangą PWM, todėl procesoriaus procesai gali paveikti darbo ciklą. Kadangi tai padeda mažiau procesų, tai padeda, todėl naudojau supaprastintą operacinę sistemą „Raspbian Lite“. Aparatinė PWM taip pat prieinama keliuose kaiščiuose, taigi, jei mirgėjimas įrodo problemą, tai gali būti kažkas, į ką reikia atkreipti dėmesį.
Tikiuosi, kad radote šią „Instructable“informaciją ir jaučiate įkvėpimą atnaujinti seną žadintuvą arba naudoti kodo elementus savo projektui.
Antrasis prizas „LED Strip Speed Challenge“
Rekomenduojamas:
„Smart Desk“LED lemputė - Išmanusis apšvietimas su „Arduino“- „Neopikselių“darbo vieta: 10 žingsnių (su nuotraukomis)
„Smart Desk“LED lemputė | Išmanusis apšvietimas su „Arduino“| „Neopikselių“darbo erdvė: dabar mes daug laiko praleidžiame namuose, mokomės ir dirbame virtualiai, tad kodėl gi ne išplėsti savo darbo erdvę naudojant pritaikytą ir išmanią „Arduino“ir „Ws2812b“šviesos diodų apšvietimo sistemą. Čia aš jums parodysiu, kaip sukurti išmanųjį Stalo LED lemputė, kuri
Siauros juostos daiktai: išmanusis apšvietimas ir matavimas atveria kelią geresnei ir sveikesnei ekosistemai: 3 žingsniai
Siauros juostos daiktai: išmanusis apšvietimas ir matavimas atveria kelią geresnei ir sveikesnei ekosistemai: automatizavimas atrado kelią beveik visuose sektoriuose. Pradėjus nuo gamybos iki sveikatos priežiūros, transporto ir tiekimo grandinės, automatika išvydo dienos šviesą. Na, visa tai neabejotinai yra patrauklu, bet yra vienas, kuris atrodo
Išmanusis žadintuvas: išmanusis žadintuvas, pagamintas naudojant „Raspberry Pi“: 10 žingsnių (su nuotraukomis)
Išmanusis žadintuvas: išmanusis žadintuvas, pagamintas naudojant „Raspberry Pi“: ar kada nors norėjote išmaniojo laikrodžio? Jei taip, tai yra sprendimas jums! Aš sukūriau išmanųjį žadintuvą, tai laikrodis, kuriuo galite pakeisti žadintuvo laiką pagal svetainę. Kai žadintuvas išsijungs, pasigirs garsas (švilpukas) ir 2 lemputės
Išmanusis foninis apšvietimas: 4 žingsniai (su nuotraukomis)
Išmanusis foninis apšvietimas: „Venco“yra prietaisas, skirtas montuoti centre, aukštai, transporto priemonės gale. Ji analizuoja jutiklių - giroskopo ir akselerometro - duomenis ir rodo esamą transporto priemonės būklę - pagreitį, stabdymą iki
Išmanusis gatvės apšvietimas naudojant „Ir“jutiklį su „Arduino“: 4 žingsniai (su nuotraukomis)
Išmanusis gatvės apšvietimas naudojant „Ir“jutiklį su „Arduino“: Prenumeruokite mano kanalą, kad gautumėte daugiau projektų. Šis projektas yra apie išmanųjį gatvės apšvietimą, gatvės apšvietimas įsijungs, kai automobilis eina per jį. Čia mes naudojame 4 IR jutiklius, kurie jaučia jutiklio padėtį transporto priemonę, kiekvienas IR jutiklis valdo