Innehållsförteckning:

Webbplats/WiFi -kontrollerad LED -remsa med hallon Pi: 9 steg (med bilder)
Webbplats/WiFi -kontrollerad LED -remsa med hallon Pi: 9 steg (med bilder)

Video: Webbplats/WiFi -kontrollerad LED -remsa med hallon Pi: 9 steg (med bilder)

Video: Webbplats/WiFi -kontrollerad LED -remsa med hallon Pi: 9 steg (med bilder)
Video: Sådan oprettes et system til AVANCERET MÅLING derhjemme 2024, Juli
Anonim
Webbplats/WiFi -kontrollerad LED -remsa med hallon Pi
Webbplats/WiFi -kontrollerad LED -remsa med hallon Pi

Bakgrund:

Jag är tonåring och har designat och programmerat små elektronikprojekt under de senaste åren, tillsammans med att delta i robotiktävlingar.

Jag arbetade nyligen med att uppdatera mitt skrivbord, och jag bestämde mig för att ett bra tillägg skulle vara lite stämningsbelysning. Först köpte jag precis en 5v batteridriven LED -remsa som styrs av en fjärrkontroll, men det var inte en mycket tillfredsställande process och jag hade en idé. Jag hade några reservdelar liggande och hade försökt tänka på något att göra med Raspberry Pi som jag fick till jul. Under en särskilt tråkig dag i vetenskapsklassen insåg jag att jag kunde använda Raspberry Pi: s GPIO -stift för att styra LED -lamporna, så länge jag fick dem att mata ut RGB -värden.

Min första designplan var att få lamporna att styras av en pekskärm monterad på min vägg eller skrivbord, men efter några omarbetningar bestämde jag mig för att det enklaste sättet att gå skulle vara att styra det med en annan enhet. Medan jag övervägde att skriva en app för min telefon i Java, verkade en liten webbplats mycket mer effektiv.

Detta projekt är öppet för många förbättringar, och även om mina html + php är lite skissartade, får de jobbet gjort

Ämnen:

Huvudpunkterna som den här guiden kommer att träffa är ---

  1. Kontrollera GPIO på Raspberry Pi
  2. Värd för en Apache -webbserver på Pi
  3. Använda webbservern för att styra en RGB LED -ljusremsa

Steg 1: Obligatoriska material och tillbehör

  • 1 x Raspberry Pi (jag använde en Pi 2 Model B)
  • MicroSD -kort
  • Något för att driva din Pi (USB -kabel och nätadapter)
  • 1 x USB WiFi -adapter ELLER en Ethernet -anslutning
  • 1 x USB till seriell kabel -
  • 1 x GPIO -utbrott -
  • 1 x liten brödbräda -
  • USB till MicroSD -
  • Flera färger av massiv kärntråd
  • En kapsling
  • 3 x NPN -typ transistorer (jag använde BC547b -transistorer)
  • 1x 5V LED -ljusremsa
  • Kvinnliga till manliga bygelkablar -

Steg 2: Konfigurera Pi: s miljö

Ställa in Pi: s miljö
Ställa in Pi: s miljö
Ställa in Pi: s miljö
Ställa in Pi: s miljö

Jag använde en sned plastlåda för att omsluta projektet så att det inte skulle sticka ut på min hylla. Jag borrade ett hål i sidan för den seriella USB -kabeln och placerade Pi bredvid brödbrädan och Pi Wedge.

Steg 3: Komma igång din Pi (del 1)

Komma igång din Pi (del 1)
Komma igång din Pi (del 1)

För detta projekt använde jag den senaste versionen av icke-stationär Raspbian

En guide om hur du installerar Raspbian finns här:

(Du kan behöva en USB till microSD -adapter för din dator)

När Raspbian har installerats på SD -kortet kan du fortsätta att ansluta det till Raspberry Pi och ansluta Ethernet -kabeln eller USB WiFi -adaptern till Pi

Installera sedan Tera Term på din dator, så att du kan ansluta till Raspberry Pi -terminalen via din dator:

Anslut sedan USB -seriekabeln från Pi -kilen till datorn. Den kan nås via Tera Term. Se till att den seriella portens överföringshastighet är inställd på 115200.

Först skickar Pi en uppmaning att logga in om operativsystemet har installerats korrekt

Standard användarnamn och lösenord är:

Användarnamn: pi

Lösenord: hallon

Steg 4: Komma igång din Pi (del 2)

Konfigurera WiFi

Kör kommandot i terminalen

sudo nano/etc/network/interfaces

Klistra sedan in den här koden och ersätt SSID och PSK med routerns namn och lösenord

auto lo

iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid "ssid" wpa-psk "lösenord"

Denna fil låter Pi ansluta till din WiFi

Starta sedan om Pi med linjen

sudo starta om

Installera webbserver

Logga in och installera sedan Apache -servern med

sudo apt -get install apache2 -y

och

sudo apt-get install php libapache2-mod-php -y

För att hitta din Pi: s IP -adress, kör kommandot

värdnamn -I

Använd din bläddring för att komma åt den IP som visas för att kontrollera om den fungerar.

Till exempel, i Google Chrome skulle jag skriva 192.168.1.72 i adressfältet.

Dokumentation du bör följa finns på

PiGPIO -biblioteket måste också installeras, vilket gör att du kan styra data som skickas över GPIO -stiften.

sudo apt-get install build-essential unzip wget

och

wget https://abyz.me.uk/rpi/pigpio/pigpio.zip && packa upp pigpio.zip && cd PIGPIO && sudo gör installation

Steg 5: Skriva koden

Navigera till/var/www/html med raden

cd/var/www/html

I katalogen kommer det att finnas en standard html -fil som du måste redigera.

sudo nano index.html

Inne i Nano, ta bort allt som redan finns och ersätt det med följande kod.

(Tera Term kan vara lite funky med att kopiera och klistra in, men vanligtvis när du har kopierat text ska alt+v göra jobbet)

funktion readRGB (färg) {if (color.length == 0) {document.getElementById ("txtHint"). innerHTML = ""; lämna tillbaka; } annars {var xmlhttp = ny XMLHttpRequest (); xmlhttp.onreadystatechange = function () {if (this.readyState == 4 && this.status == 400) {document.getElementById ("txtHint"). innerHTML = this.responseText; }}; temp = encodeURIComponent (färg); xmlhttp.open ("GET", "action_page.php? q =" + temp, true); xmlhttp.send (); }} Välj en färg:

Spara den sedan som main.html, istället för index.html

Koden ovan fungerar som knappen du trycker på och som koden som skickar den färg du väljer till den andra filen.

Kör sedan kommandot

sudo nano

och klistra in

$ r $ g $ b ;

exec ("grisar p 17 $ g"); exec ("grisar p 22 $ r"); exec ("grisar p 22 $ b"); ?>

och spara det som action_page.php

Denna kod mottar RGB -värdet och anger PWM -värdena på LED -remsan.

Steg 6: Kretsdesign

Kretsdesign
Kretsdesign

Nu när all programvara är konfigurerad är det dags att arbeta med hårdvaran.

Målet med kretsen är att skicka PWM (Pulse Width Modulated) signaler från Pi till LED -arrayen.

LED -remsan har fyra stift: röd, grön, blå och ström (5 volt i mitt fall).

Varje PWM -stift styr en av de tre färgerna genom en transistor, som fungerar som en omkopplare.

Varje transistor har tre stift: kollektor, bas och sändare.

PWM -signalen styr arbetscykeln (hur länge omkopplaren slås på och av).

Driftscykeln resulterar i att ljusen blir mörkare eller ljusare.

Eftersom lamporna tänds och släcks så snabbt ser människor det som fast ljus med varierande ljusstyrka.

OBS: I schemat representerar LED -symbolerna LED -matrisen och de strömbegränsande motstånden i tråden.

Steg 7: Smörj ditt bröd… Styrelse

Smöra ditt bröd… Styrelse
Smöra ditt bröd… Styrelse

När du gör anslutningar, se till att ha Pi avstängd.

Placera Pi -kilen med en rad nålar på vardera halvan av brödbrädan och anslut den till Pi med bandkabeln. Jag använde fast kärntråd för att minska röran på brödbrädan och för att se till att ingenting skulle komma att kopplas ur av misstag.

Placera transistorerna på den övre halvan av brödbrädan (kolumn A) och anslut LED -matrisen på den nedre halvan (raderna H, I eller J).

Anslut den negativa kraftskenan till GND -stiftet på kilen och den positiva skenan till 5V -stiftet.

Anslut den positiva kraftskenan till LED -matrisens strömförsörjningsstift.

För varje transistor, anslut sändarstiftet till den negativa kraftskenan och anslut kollektorstiftet till separata rader som motsvarar LED -matrisens stift (jag använde rad 1 som 5v och 2, 3 och 4 som grönt, rött och blått, i kolumn f). Anslut sedan fyra han- till honhoppstrådar från brödbrädan till LED -remsan.

Slutligen ansluter du den gröna transistorns basstift till stift 17 på kilen, den röda transistorbasen till stift 22 och den blåa transistorbasen till stift 24.

Steg 8: Testning

Testning
Testning

I en webbläsare navigerar du till Pi: s IP -adress och skriver sedan /main.html

Välj en färg, och bli förvånad över "underverk av modern teknik"!

Steg 9: Kontakta mig om du har några frågor/feedback

Om du har några frågor eller förslag lämna gärna en kommentar eller DM mig här så ska jag försöka svara så fort som möjligt.

Lycka till!

Rekommenderad: