Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Ärkasin hiljuti vara, mitu korda on väljas päevad veel pimedad, kuid ma ei taha oma naise puhkamist mõjutavaid tulesid sisse lülitada, nii et olen mõelnud öölambi ostmisele. Otsisin palju öövalguse poode, kuid ma ei usu, et ma seda tahan, kuid nägin Amazonase poes, mida juhib Raspberry Pi, öölampi nimega DockerPi. See on väga hea ja võib pakkuda DIY funktsioone. Lugesin selle toote wikikirjeldust, seda saab otse käsurealt juhtida, Linuxi süsteemi kasutava programmeerijana on see minu arvates väga lahe, nii et ostsin selle tagasi ja alustasin selle projektiga.
Samm: valmistage ette kõik asjad
Pärast lahtipakkimist ja seejärel eemaldan akrüülplaadilt kaitsekatte ning seejärel kinnitan selle DockerPi mooduli kruvide ja vaskpulgaga oma Raspberry Pi külge. see on stabiilselt fikseeritud.
2. samm: 2. samm: välkutage uusim Rasbpian OS -i pilt SD -kaardile
Laadisin alla viimase Raspbiani pildi siit:
ja seejärel välgutage pilti tarkvara nimega: etcher
saate alla laadida siit:
pakkige pildifail gzip -pakendist lahti ja saate *.img -faili, valige pilt ja valige draiv, mille teie arvuti TF -kaardi ära tundis, vajutage lihtsalt nuppu "Flash" ja oodake mitu minutit, see on tehtud.
ja seejärel eemaldage TF -kaart ja sisestage see oma Raspberry Pi -sse ning lülitage see sisse.
3. samm: 3. samm: lülitage I2C funktsioon sisse Raspi-config
Kui Raspberry pi käivitati, avasin terminali ja sisestasin selle käsu: sudo raspi-config
ja liikuge jaotisse "Liidesevalikud" ning valige "I2C" ja lubage see. miks ma peaksin seda käsku kasutama?
Kuna DockerPi öövalguse moodul kasutab I2C protokolli, suhtlege Raspberry Pi -ga.
Samm: ühendage akrüülpaneel pesaga
See sobis pesasse väga hästi ja näete pilti, et akrüülpaneel võib pilus paigal püsida.
järgmine samm on testkoodi käitamine, et kontrollida, kas see töötab korralikult.
Näitekoodi olen alla laadinud githubist, kirjutades selle käsu vaarika Pi terminali.
cd ~
git kloon
cd dockerpi/Öövalgus/
sudo./Nightligh.sh
ja siis lülitub mu öövalgus sisse ja särab.
Lugesin selle wiki juhiseid ja leidsin kogu LED -tule registrikaardi diagrammi.
järgmine samm on kõige naljakam osa, ma tahan lisada inimkeha infrapuna -püroelektrilise anduri, las ta tuvastab, et ma olen valgustatud selle väikese öövalguse valgustamiseks ~
5. samm: 5. samm: seadistage infrapuna -püroelektriline andur
Siin kasutame PIR -liikumisandurit. PIR tähistab passiivset infrapunaühendust. See liikumisandur koosneb fresnelläätsest, infrapunaandurist ja toetavatest tuvastusskeemidest. Anduri lääts fokuseerib kogu ümbritseva infrapunakiirguse infrapunaanduri poole. Meie keha tekitab infrapunasoojust ja selle tulemusena võtab seda soojust liikumisandur. Andur väljastab 5 -minutilise signaali ühe minuti jooksul niipea, kui see tuvastab inimese. See pakub esialgset avastamisulatust umbes 6–7 meetrit ja on väga tundlik. Kui PIR -liikumisandur tuvastab inimese, väljastab see GPV kaudu Raspberry Pi -le 5 V signaali ja me määratleme, mida Raspberry Pi peaks tegema, kuna tuvastab sissetungija Pythoni kodeerimise kaudu. Siin me lihtsalt trükime "Sissetungija tuvastatud".
Kui olete oma Raspberry Pi seadistanud, saame nüüd hakata selle GPIO -tihvtidega jamama. Siin proovime Pythoni skripti abil LED -i vilkuma. Kopeerige ja kleepige järgmine kood oma Raspberry Pi -sse. Seda saate teha, avades oma Raspberry Pi tekstiredaktori "leafpad" ja kopeerides selle koodi sinna ning salvestage see Pythoni failina: nightlight.py:
#impordi raamatukogud.
RPi. GPIO importimine GPIO -na
impordi aeg
import smbus
DEVICE_BUS = 1
SEADME_ADDR = 0x15
GPIO.setwarnings (vale)
GPIO.setmode (GPIO. BOARD)
GPIO.seadistus (11, GPIO. IN) #Lugege PIR -liikumisanduri väljundit
siin = smbus. SMBus (DEVICE_BUS) # ibc seadme smbus eksemplar tähendab öövalgust.
kuigi tõsi:
proovige:
i = GPIO. sisend (11)
kui i == 0: #Kui liikumisanduri väljund on LOW
print ("Ei mingeid sissetungijaid", i)
i jaoks vahemikus (1, 25):
bus.write_byte_data (DEVICE_ADDR, i, 0x00) #Turn OFF LED
uneaeg (0,2)
uneaeg (0,1)
elif i == 1: #Kui liikumisanduri väljund on HIGH
print ("Sissetungija tuvastatud", i)
i jaoks vahemikus (1, 25):
bus.write_byte_data (DEVICE_ADDR, i, 0xFF) #Turn OFF LED
uneaeg (0,2)
aeg. uni (0,1)
välja arvatud klaviatuur Katkesta kui e:
print ("Lõpeta silmus")
ja seejärel salvestage see ning käivitage see vaarika pi alglaadimise ajal.
sudo vim.tiny /etc/rc.local
ja lisage see rida enne väljumist 0:
sudo python /home/pi/nightlight.py &
ja seejärel salvestage see ja taaskäivitage oma Pi, see töötab korralikult …
Aitäh vaatamast ~