Satura rādītājs:

Uzlabota modinātāja viedā gaisma: 8 soļi (ar attēliem)
Uzlabota modinātāja viedā gaisma: 8 soļi (ar attēliem)

Video: Uzlabota modinātāja viedā gaisma: 8 soļi (ar attēliem)

Video: Uzlabota modinātāja viedā gaisma: 8 soļi (ar attēliem)
Video: Dina Sarceviča IM Sarunu klubs 2024, Jūlijs
Anonim
Uzlabots modinātāja viedais apgaismojums
Uzlabots modinātāja viedais apgaismojums
Uzlabots modinātāja viedais apgaismojums
Uzlabots modinātāja viedais apgaismojums
Uzlabots modinātāja viedais apgaismojums
Uzlabots modinātāja viedais apgaismojums

Šajā projektā es pārstrādāju pilnīgi salauztu vējstikla modinātāju. Pulksteņa ciparnīcu aizstāj ar 12 gaismas diodēm, kuras izgaismo LED sloksne ap pulksteņa malu. 12 gaismas diodes norāda laiku, un LED josla ir ieprogrammēta kā trauksmes signāls, iestatītajā laikā sasniedzot pilnu spilgtumu. Visu kontrolē Raspberry Pi Zero, kas nodrošina neskaitāmas integrācijas un paplašināšanas iespējas, piemēram, gaismas signāla automātisku sinhronizēšanu ar tālruņa modinātāju vai gaismas diodes mirgošanu, kad saņemat e -pastu.

Projektā tiek izmantoti salīdzinoši lēti vai atkārtoti izmantoti komponenti - vienīgais, ko es galu galā nopirku, bija sprieguma regulators. Viss pārējais, kas man gadījās gulēt, piemēram, LED sloksnes nogriezums. Šī pamācība palīdzēs jums uzzināt, kā es piešķīru jaunu dzīvi savam salauztajam pulkstenim un, cerams, varētu iedvesmot jūs atjaunot kaut ko savu.

1. darbība: detaļas

Daļas
Daļas
Daļas
Daļas
Daļas
Daļas

Lai kontrolētu visu, mēs izmantosim Raspberry Pi Zero, jo tas ir mazs, maksā ļoti maz, un to var savienot ar WiFi, kas nozīmē, ka mums tas nav vajadzīgs kā reālā laika pulkstenis, un tāpēc mēs varam viegli atjaunināt kodu attālināti no klēpjdatora. Ja vien jums nav Pi Zero W, mēs izveidosim savienojumu ar WiFi tīklu, izmantojot USB WiFi dongle.

Šeit ir saraksts ar daļām, kuras es izmantoju, bet lielāko daļu lietu var nomainīt uz piemērotām alternatīvām. Piemēram, Raspberry Pi vietā projekta vadīšanai varat izmantot Arduino ar reālā laika pulksteni.

Izmantotās detaļas

  • Vecs modinātājs
  • 30 cm silta balta LED sloksne
  • 1x Raspberry Pi Zero + micro SD karte
  • 1x USB WiFi dongle + mikro USB uz USB pārveidotājs
  • 12x gaismas diodes
  • 12x 330ohm rezistori (izmantojiet augstākus, ja vēlaties gaismas diodes)
  • 1x TIP31a (vai cits npn jaudas tranzistors vai MOSFET)
  • 1x 1k rezistors
  • 1x LM2596 līdzstrāvas regulējams sprieguma pārveidotājs (pakāpieni uz leju 12V 5V Raspberry Pi)
  • 1x 12V barošanas avots (+ veids, kā iekļūt jūsu projektā)
  • 10 cm x 10 cm koka pulksteņa priekšpusei (jābūt pietiekami plānam, lai uzstādītu gaismas diodes)
  • Dažādi dažādu krāsu stieples gabali

Noderīgas lietas

  • Lodāmurs + lodēt
  • Karstā līme
  • Multimetrs
  • Maizes dēlis
  • Sieviešu galvenes tapas
  • Micro SD karšu lasītājs vai pārveidotājs
  • Dators
  • Mini HDMI adapteris + HDMI ekrāns, ja vēlaties izmantot Pi darbvirsmas vidi

2. darbība. Raspberry Pi iestatīšana

Raspberry Pi iestatīšana
Raspberry Pi iestatīšana
Raspberry Pi iestatīšana
Raspberry Pi iestatīšana

Operētājsistēma

Tā kā Raspberry Pi netiks savienots ar ekrānu, es izvēlējos izmantot Raspbian Buster Lite, kas nav iekļauts darbvirsmas vidē. Ja esat jaunāks Raspberry Pi, iespējams, vēlēsities pieturēties pie standarta Raspbian Buster, kas tiek piegādāts kopā ar darbvirsmu. Ja neesat pārliecināts, kā instalēt operētājsistēmu, tas ir lielisks resurss. Abas operētājsistēmas var lejupielādēt no Raspberry Pi vietnes.

Pašlaik barojiet Pi, izmantojot tā Micro USB barošanas ieeju. Pievienojiet arī USB WiFi dongle.

Saruna ar Raspberry Pi

Kad viss ir iepakots, ir diezgan grūti piekļūt Pi, ja vēlaties mainīt kodu utt. Izmantojot SSH, varat izveidot savienojumu ar Pi un kontrolēt to no cita datora. Tas nav ieslēgts pēc noklusējuma, bet mēs to varam izdarīt, vienkārši izveidojot mapi ar nosaukumu ssh jūsu SD kartes sāknēšanas nodalījumā. Ja esat jau pieteicies savā Pi, to varat izdarīt, terminālī ierakstot sudo raspi-config un pārejot uz saskarnes opcijas> SSH un izvēloties Jā, lai to iespējotu.

Tagad jūs varat izveidot savienojumu ar savu Pi citā datorā. Operētājsistēmā Mac vai Linux varat izmantot savu termināla lietojumprogrammu, bet lielākajā daļā Windows versiju jums būs jāinstalē SSH klients, piemēram, PuTTY. Izveidojiet savienojumu ar Pi, ierakstot ssh pi@, kur resursdatora nosaukums tiek aizstāts ar jūsu Pi IP adreses resursdatora nosaukumu. Noklusējuma saimniekdatora nosaukums ir raspberrypi.local. Tas prasīs paroli, kas, ja vēl neesat to mainījis, ir aveņu.

Nepieciešamo lietu instalēšana

Vispirms pārliecinieties, vai viss ir atjaunināts, palaižot sudo apt update un pēc tam sudo apt full-upgrade.

Lai pārliecinātos, kas mums ir nepieciešams, lai kontrolētu GP tipa tapas Pi tipā sudo apt-get install python-rpi.gpio un sudo apt-get install python3-rpi.gpio. Tie jau būtu jāinstalē pilnajā Raspbian versijā.

Kods

Šeit ir lejupielādējams kods, lai viss darbotos. Ja izmantojat darbvirsmas vidi, ielīmējiet tos mapē Dokumenti.

Ja izmantojat SSH komandrindu, dodieties uz savu mājas mapi, ierakstot cd ~/Documents un nospiežot enter. Izveidojiet jaunu failu ar nosaukumu test1.py, izmantojot nano test1.py. Tiks atvērts nano teksta redaktors, kurā varēsit ielīmēt lejupielādētā test1.py faila kodu. CTRL-O un nospiediet enter, lai saglabātu failu, un CTRL-X, lai aizvērtu redaktoru. Atkārtojiet procesu atlikušajiem failiem.

3. darbība: LED sloksnes uzstādīšana

LED sloksnes uzstādīšana
LED sloksnes uzstādīšana
LED sloksnes uzstādīšana
LED sloksnes uzstādīšana

Vispirms ielieciet LED sloksni pulkstenī, lai redzētu, cik daudz jums būs nepieciešams, atzīmējiet šo garumu un nogrieziet sloksni nākamajā griezuma vietā, kā parādīts attēlā. Ir daudz vieglāk pielodēt vadus pie sloksnes, pirms sloksne iestrēgst vietā. Šis ir diezgan labs ceļvedis, kā to izdarīt, bet, ja neesat pārliecināts, es vienkārši praktizētu pie lodēšanas savienojuma pie gabala, no kura tikko izgriezāt sloksni. Lodējiet vienu vadu līdz pozitīvajam lodēšanas punktam un vienu vadu - pie negatīvā. Pārliecinieties, vai esat pārbaudījis LED sloksnes darbību, pirms to ievietojat pulkstenī.

Tā kā izmantotā LED sloksne tika izmantota pirms tās pašlīmējošā pamatnes zuduma, tāpēc man bija jāizmanto karsta līme, lai piestiprinātu sloksni ap pulksteņa loka malu. Ja jums ir pārmērīgs garums, pārklājiet vadu piestiprināšanas vietu. Jūs, iespējams, vēlēsities uzstādīt sloksni vēlāk, bet man šķita, ka to ir vieglāk novietot pulkstenī.

4. darbība: LED sloksnes vadīšana

LED sloksnes vadība
LED sloksnes vadība

LED sloksnes savienošana

LED sloksne darbojas ar 12 V spriegumu, tāpēc to nevar barot tieši no Pi. Lai tos kontrolētu, mēs izmantosim jaudas tranzistoru (piemēram, TIP31a), kas savienots ar Pi, kā parādīts iepriekš. Es ieteiktu vispirms pārbaudīt, vai tas viss darbojas uz maizes dēļa.

  • Savienojiet GPIO 19 ar bāzi, izmantojot 1k rezistoru
  • Emitētājam jābūt savienotam ar GND
  • Savienojiet kolektoru ar LED sloksnes negatīvo spaili
  • Pievienojiet pozitīvo LED sloksnes spaili pie +12V

Testēšana

Komandrindā dodieties uz savu dokumentu mapi (cd ~/Documents) un ierakstiet python test1.py un ievadiet. Jums vajadzētu redzēt LED sloksnes spilgtuma palielināšanos un samazināšanos. Lai izietu no programmas, nospiediet CTRL-C. Jūs varat rediģēt failu (nano test1.py), lai mainītu programmas ātrumu un spilgtumu.

importēt RPi. GPIO kā GPIOimportēt laiku GPIO.setmode (GPIO. BCM) # Izmantojiet BCM pinout GPIO.setwarnings (False) # Ignorēt brīdinājumus par tapām, kas tiek izmantotas citām lietām ledStripPin = 19 # LED sloksne tiek vadīta no šīs tapas GPIO.setup (ledStripPin, GPIO. OUT) # Iestatiet ledStripPin kā izvadi pwm = GPIO. PWM (ledStripPin, 100) # PWM uz ledStripPin ar frekvenci 100Hz dutyCycle = 0 # Sākotnējais spilgtums procentos pwm.start (dutyCycle) mēģiniet: kamēr True: for dutyCycle diapazonā (0, 101, 1): # Izbalināt pwm. ChangeDutyCycle (dutyCycle) time.sleep (0,05) līdzstrāvai diapazonā (95, -1, -1): # Izbalināt pwm. ChangeDutyCycle (dc) laiks.sleep (0,05), izņemot tastatūruInterrupt: # Nospiediet CTRL-C, lai izietu, un pēc tam: pwm.stop () # Apturiet pwm GPIO.cleanup () # Notīriet GPIO tapas

5. solis: pulksteņa priekšpuses veidošana

Pulksteņa sejas veidošana
Pulksteņa sejas veidošana
Pulksteņa sejas veidošana
Pulksteņa sejas veidošana
Pulksteņa sejas veidošana
Pulksteņa sejas veidošana

Izgrieziet koka gabalu savam pulkstenim uz leju līdz izmēram, lai tas ietilptu jūsu pulkstenī. Es liku atpūsties apmēram 3 cm attālumā no priekšpuses. Izurbiet 12 caurumus ar gaismas diodes diametru (parasti 3 mm vai 5 mm), kas atrodas 30 grādu attālumā viens no otra. Slīpējiet priekšpusi uz leju un uzklājiet pēc savas izvēles apdari. No aizmugures novietojiet gaismas diodes tā, lai tās būtu vērstas uz priekšu. Es izmantoju karstu līmi, lai gaismas diodes paliktu vietā ar pozitīvo spaili (garāku vadu) uz iekšu. Pulksteņa priekšpuses izmērs nozīmēja, ka es varu savienot visus negatīvos spailes kopā (skatīt iepriekš), tāpēc, lai savienotu visas 12 gaismas diodes ar GND, bija nepieciešams tikai viens vads. Pēc tam pie katras gaismas diodes pielodējiet vadu.

Ja vēlaties to pārbaudīt uz maizes dēļa, vispirms pievienojiet rezistoru (330 omi ir diezgan standarta) ar katru LED, pirms pievienojat to kādai no Pi GPIO tapām. Spēlējiet ar rezistora vērtību, ko izmantojat, lai iegūtu spilgtuma līmeni, ar kuru esat apmierināts. T-kurpnieks ir patiešām noderīgs, lai atdalītu Pi tapas uz maizes dēļa, lai gan jums būs jāpielīmē galvenes tapas. Izmantojiet test2.py (palaidiet, izmantojot python test2.py), taču pārliecinieties, ka vispirms rediģējat programmu un ievadāt Pi GPIO tapas, kuras esat izmantojis katrai gaismas diodei.

importēt RPi. GPIO kā GPIO

importēšanas laiks GPIO.setmode (GPIO. BCM) # Izmantojiet BCM pinout GPIO.setwarnings (False) # Ignorējiet brīdinājumus par tapām, kas tiek izmantotas citām lietām # Aizstājiet vienu, divas,… ar atbilstošu tapas numuru hourPin = [viens, divi, trīs, četri, pieci, seši, septiņi, astoņi, deviņi, desmit, vienpadsmit, divpadsmit] # Piespraudes, kurām gaismas diodes ir savienotas no 1 līdz 12 diapazonā i (0, 12): GPIO.setup (hourPin , GPIO. OUT) # Iestatiet visas hourPins kā izejas GPIO.output (hourPin , 0) # Pārliecinieties, vai visas gaismas diodes ir izslēgtas.], 1): time.sleep (0,05) i diapazonā (0, 12) GPIO.output (hourPin , 0): time.sleep (0,05), izņemot tastatūruInterrupt: # Nospiediet CTRL-C, lai izietu, un tad: GPIO.cleanup () # Notīriet GPIO tapas

6. solis: Pi barošana

Pi barošana
Pi barošana

Mums ir nepieciešams vienkāršs veids, kā iegūt 5 V pie Pi Zero, lai mēs varētu atbrīvoties no mikro USB kabeļa, ko līdz šim izmantojām, lai to darbinātu. Ir vairāki risinājumi, kas samazina spriegumu no 12V līdz 5V, piemēram, lineārais sprieguma regulators LM7805, taču tie nav ļoti efektīvi, tāpēc tā vietā es izvēlējos izmantot efektīvāku regulējamu buks pārveidotāju, izmantojot mikroshēmu LM2596. Ņemiet vērā, ka jums būs jāgriež potenciometrs, līdz izejas spriegums tiek samazināts līdz 5 V.

LM2596 lietošana ir vienkārša: pievienojiet +12V līdz IN +, zemējumu pie IN-. Pi var pieslēgt tieši pie 5 V, savienojot OUT+ ar kādu no Pi 5 V tapām, taču pirms to izdarīšanas pārliecinieties, vai esat mainījis izejas spriegumu uz 5 V.

7. darbība. Pabeigt ķēdi un iepakojumu

Pabeidziet ķēdi un iepakojumu
Pabeidziet ķēdi un iepakojumu
Pabeidziet ķēdi un iepakojumu
Pabeidziet ķēdi un iepakojumu
Pabeidziet ķēdi un iepakojumu
Pabeidziet ķēdi un iepakojumu
Pabeidziet ķēdi un iepakojumu
Pabeidziet ķēdi un iepakojumu

Tagad mēs esam apskatījuši visus trīs ķēdes elementus, kas ir parādīti kopā iepriekšējā ķēdē. Lai ietaupītu vietu un padarītu ķēdi kārtīgāku, ielieciet ķēdi uz sloksnes plates vai prototipa plates. Vispirms pielodējiet mazākās sastāvdaļas, rezistorus, tad jaudas tranzistoru, visus savienotājus un visbeidzot vadus. Plānojiet savu ķēdi pirms lodēšanas, lai pārliecinātos, ka jums ir vieta visam.

Es visu savienoju ar prototipa PCB un izmantoju sieviešu galvenes tapas, lai Pi varētu uzstādīt tieši uz PCB. Gaismas diodes uz pulksteņa priekšpuses ir savienotas caur rezistoriem vienā plāksnes pusē, un es esmu saglabājis vietu plāksnes otrā pusē jaudas tranzistoram un bez jebkādām citām shēmām, kuras es varētu vēlēties pievienot vēlāk.

Piestipriniet pulksteņa ciparnīcu pie pulksteņa un pārliecinieties, vai visa elektronika ir piemērota. Man viss bija diezgan cieši pieguļošs, tāpēc jums, iespējams, būs jāveic pārkārtošana. Pievienojiet strāvas padevi un palaidiet test.py un test2.py no SSH, lai pirms aizmugures piestiprināšanas pārbaudītu, vai viss darbojas.

8. darbība: augšupielādējiet kodu + pabeigt

Augšupielādējiet kodu + Pabeigt
Augšupielādējiet kodu + Pabeigt
Augšupielādējiet kodu + Pabeigt
Augšupielādējiet kodu + Pabeigt
Augšupielādējiet kodu + Pabeigt
Augšupielādējiet kodu + Pabeigt

Kods

Visbeidzot, ja vēl neesat to izdarījis, augšupielādējiet kodu un pielāgojiet to, kā vēlaties (izmantojot nano filename.py). Savienojuma izveide ar Pi, izmantojot SSH, ir tā, ka jūs varat atjaunināt kodu, neatverot pulksteni.

Šīs python programmas no 2. darbības veic šādas darbības:

  • light_clock_simple.py vienkārši parāda stundu uz gaismas diodēm un noteiktā laikā izgaismojas uz augšu un uz leju LED sloksnē
  • light_clock_pwm.py ir tāds pats kā iepriekš, bet arī ļauj samazināt gaismas diodes spilgtumu un parāda minūtes atšķirīgā spilgtumā nekā stundas. Jums būs jāspēlējas ar abu spilgtuma līmeņiem, lai kontrasts starp abiem būtu pamanāms

Tiem vajadzētu nodrošināt stabilu pamatu koda pievienošanai, piemēram, iespējams, vēlēsities pievienot pogu, lai atliktu gaismas signālu.

Lai palaistu programmu, kad sāk darboties Pi, crontab faila beigās ir jāpievieno “@reboot nohup python light_clock_pwm.py &”, kuru var atvērt no termināļa, izmantojot crontab -e. Restartējiet Raspberry Pi, lai pārbaudītu, vai tā darbojas ar sudo shutdown -r.

Potenciālie papildinājumi

Šeit ir dažas papildu funkcionalitātes idejas, kuras varētu pievienot

  • Atlikšanas pogas pievienošana
  • Lampas režīma pievienošana
  • Savienojuma izveide ar IFTTT (piem., Gaisma varētu iedegties, kad atskan tālruņa modinātājs/mirgo, kad tiek saņemts e -pasts)
  • Jaudas pieskāriena iespēju pievienošana, proti, padarīt pulksteni par skārienlampu

Lietojot PWM, jūs varat pamanīt, ka dažkārt, īpaši ar zemāku spilgtumu, gaismas diode nedaudz mirgo. Tas ir tāpēc, ka Pi izmanto programmatūru PWM, tāpēc CPU procesi var ietekmēt darba ciklu. Tas palīdz mazāk procesu, tāpēc es izmantoju samazinātu operētājsistēmu Raspbian Lite. Aparatūras PWM ir pieejams arī uz dažām tapām, tādēļ, ja mirgošana pierāda problēmu, tas varētu būt kaut kas jāapsver.

Es ceru, ka esat atradis šo pamācošo informatīvo informāciju un jūtaties iedvesmots atjaunot veco modinātāju vai izmantot koda elementus savam projektam.

LED sloksnes ātruma izaicinājums
LED sloksnes ātruma izaicinājums
LED sloksnes ātruma izaicinājums
LED sloksnes ātruma izaicinājums

Otrā balva LED sloksnes ātruma izaicinājumā

Ieteicams: