Inhoudsopgave:

Raspberry Pi Smart NightLight - Ajarnpa
Raspberry Pi Smart NightLight - Ajarnpa

Video: Raspberry Pi Smart NightLight - Ajarnpa

Video: Raspberry Pi Smart NightLight - Ajarnpa
Video: Top 5 Raspberry Pi DIY Projects of All Time 2024, November
Anonim
Raspberry Pi Smart Nachtlampje
Raspberry Pi Smart Nachtlampje

Ik ben onlangs vroeg opgestaan, vaak zijn de dagen buiten nog donker, maar ik wil de lichten niet aandoen om de rust van mijn vrouw te beïnvloeden, dus ik heb erover nagedacht om een nachtlampje te kopen. Ik heb veel winkels met nachtlampjes gezocht, maar ik denk niet dat ik het wil, maar ik zag een nachtlampje genaamd DockerPi in een winkel in Amazon, die wordt bestuurd door de Raspberry Pi. Het is erg goed en kan doe-het-zelffuncties bieden. Ik heb de wiki-beschrijving van dit product gelezen, het kan direct worden bestuurd via de opdrachtregel, als programmeur die een Linux-systeem gebruikt, vind ik dit erg cool, dus ik kocht het terug en begon dit project.

Stap 1: Stap 1: Bereid alle spullen voor

Stap 1: Bereid alle spullen voor
Stap 1: Bereid alle spullen voor

Na het uitpakken en dan verwijder ik de beschermkap op de acrylplaat en monteer vervolgens deze DockerPi's module op mijn Raspberry Pi met schroeven en koperen stok. het vast stabiel.

Stap 2: Stap 2: Flash de nieuwste Rasbpian OS-afbeelding naar SD-kaart

Stap 2: Flash de nieuwste Rasbpian OS-afbeelding naar SD-kaart
Stap 2: Flash de nieuwste Rasbpian OS-afbeelding naar SD-kaart
Stap 2: Flash de nieuwste Rasbpian OS-afbeelding naar SD-kaart
Stap 2: Flash de nieuwste Rasbpian OS-afbeelding naar SD-kaart
Stap 2: Flash de nieuwste Rasbpian OS-afbeelding naar SD-kaart
Stap 2: Flash de nieuwste Rasbpian OS-afbeelding naar SD-kaart

Ik download de nieuwste Raspbian-afbeelding van:

en flits vervolgens de afbeelding via een software genaamd: etcher

u kunt hier downloaden:

unzip het afbeeldingsbestand uit het gzip-pakket en u krijgt een *.img-bestand, selecteer de afbeelding en selecteer het station waarop uw pc de TF-kaart heeft herkend, druk gewoon op "Flash" en wacht enkele minuten, het zal worden gedaan.

en verwijder vervolgens de TF-kaart en plaats deze in uw Raspberry Pi en schakel hem in.

Stap 3: Stap 3: Schakel de I2C-functie in vanuit Raspi-config

Stap 3: Schakel de I2C-functie in vanuit Raspi-config
Stap 3: Schakel de I2C-functie in vanuit Raspi-config
Stap 3: Schakel de I2C-functie in vanuit Raspi-config
Stap 3: Schakel de I2C-functie in vanuit Raspi-config
Stap 3: Schakel de I2C-functie in vanuit Raspi-config
Stap 3: Schakel de I2C-functie in vanuit Raspi-config
Stap 3: Schakel de I2C-functie in vanuit Raspi-config
Stap 3: Schakel de I2C-functie in vanuit Raspi-config

Toen Raspberry pi opstartte, opende ik een terminal en typte ik dit commando: sudo raspi-config

en navigeerde naar "Interfacing-opties" en selecteer "I2C" en schakelde het in. waarom zou ik dit commando gebruiken?

Omdat de nachtlichtmodule van de DockerPi het I2C-protocol gebruikt, communiceert u met Raspberry Pi.

Stap 4: Stap 4: Sluit het acrylpaneel aan op de sleuf

Stap 4: Sluit het acrylpaneel aan op de sleuf
Stap 4: Sluit het acrylpaneel aan op de sleuf
Stap 4: Sluit het acrylpaneel aan op de sleuf
Stap 4: Sluit het acrylpaneel aan op de sleuf
Stap 4: Sluit het acrylpaneel aan op de sleuf
Stap 4: Sluit het acrylpaneel aan op de sleuf

Het paste heel goed in de gleuf en je kunt op de foto zien dat het acrylpaneel stil in de gleuf kan blijven.

de volgende stap is het uitvoeren van testcode om te controleren of deze correct werkt.

Ik heb de voorbeeldcode van github gedownload door deze opdracht in terminal op raspberry Pi te typen.

cd ~

git kloon

cd dockerpi/Nachtlicht/

sudo./Nightlight.sh

en dan gaat mijn nachtlampje aan en straalt.

Ik las de instructie op zijn wiki en vond alle registerkaartdiagrammen van het LED-licht.

de volgende stap zal het leukste deel zijn, ik wil een infrarood pyro-elektrische sensor van het menselijk lichaam toevoegen, laat het detecteren dat ik verlicht ben om dit kleine nachtlampje aan te steken ~

Stap 5: Stap 5: Stel de infrarood pyro-elektrische sensor in

Stap 5: Stel de infrarood pyro-elektrische sensor in
Stap 5: Stel de infrarood pyro-elektrische sensor in
Stap 5: Stel de infrarood pyro-elektrische sensor in
Stap 5: Stel de infrarood pyro-elektrische sensor in
Stap 5: Stel de infrarood pyro-elektrische sensor in
Stap 5: Stel de infrarood pyro-elektrische sensor in

Hier gebruiken we een PIR-bewegingssensor. PIR staat voor passief infrarood. Deze bewegingssensor bestaat uit een fresnel-lens, een infrarooddetector en ondersteunende detectieschakelingen. De lens op de sensor richt alle aanwezige infraroodstraling op de infrarooddetector. Ons lichaam genereert infraroodwarmte en als gevolg daarvan wordt deze warmte opgepikt door de bewegingssensor. De sensor geeft gedurende een minuut een 5V-signaal af zodra hij de aanwezigheid van een persoon detecteert. Het biedt een voorlopig detectiebereik van ongeveer 6-7 meter en is zeer gevoelig. Wanneer de PIR-bewegingssensor een persoon detecteert, voert deze een 5V-signaal uit naar de Raspberry Pi via zijn GPIO en definiëren we wat de Raspberry Pi moet doen als hij een indringer detecteert via de Python-codering. Hier printen we gewoon "Indringer gedetecteerd".

Nadat je je Raspberry Pi hebt ingesteld, kunnen we nu gaan rommelen met zijn GPIO-pinnen. Hier zullen we proberen een LED te laten knipperen met behulp van een Python-script. Kopieer en plak de volgende code in je Raspberry Pi. U kunt dit doen door de teksteditor "leafpad" op uw Raspberry Pi te openen en deze code erin te kopiëren en op te slaan als een Python-bestand: nightlight.py:

#import bibliotheken.

importeer RPi. GPIO als GPIO

import tijd

import smbus

DEVICE_BUS = 1

DEVICE_ADDR = 0x15

GPIO.setwaarschuwingen (False)

GPIO.setmode(GPIO. BOARD)

GPIO.setup (11, GPIO. IN) #Lees uitvoer van PIR-bewegingssensor

bus = smbus. SMBus(DEVICE_BUS) # instantie van smbus voor i2c-apparaat, betekent het nachtlampje.

terwijl waar:

proberen:

i=GPIO.invoer (11)

if i==0: #Als de output van de bewegingssensor LAAG is

print ("Geen indringers", i)

voor i in bereik (1, 25):

bus.write_byte_data(DEVICE_ADDR, i, 0x00) #Turn OFF LED

tijd.slaap(0.2)

tijd.slaap(0.1)

elif i==1: #Als de output van de bewegingssensor HOOG is

print("Indringer gedetecteerd", i)

voor i in bereik (1, 25):

bus.write_byte_data(DEVICE_ADDR, i, 0xFF) #Turn OFF LED

tijd.slaap(0.2)

tijd.slaap(0.1)

behalve KeyboardInterrupt als e:

print("Stop de lus")

en sla het dan op en laat het draaien tijdens het opstarten van de Raspberry Pi.

sudo vim.tiny /etc/rc.local

en voeg deze regel toe voor exit 0:

sudo python /home/pi/nightlight.py &

en sla het dan op en start je Pi opnieuw op, het zal goed werken …

Bedankt voor het kijken ~

Aanbevolen: