Sadržaj:

LED traka s Raspberry Pi upravljanom web lokacijom/WiFi -om: 9 koraka (sa slikama)
LED traka s Raspberry Pi upravljanom web lokacijom/WiFi -om: 9 koraka (sa slikama)

Video: LED traka s Raspberry Pi upravljanom web lokacijom/WiFi -om: 9 koraka (sa slikama)

Video: LED traka s Raspberry Pi upravljanom web lokacijom/WiFi -om: 9 koraka (sa slikama)
Video: DIY - Digital LED Stair Lighting - Arduino APA102 LED 2024, Juli
Anonim
LED traka s web lokacijom/WiFi -om kontrolirana s Raspberry Pi
LED traka s web lokacijom/WiFi -om kontrolirana s Raspberry Pi

Pozadina:

Tinejdžer sam, a zadnjih nekoliko godina dizajniram i programiram male projekte elektronike, zajedno sa učešćem na takmičenjima iz robotike.

Nedavno sam radila na ažuriranju postavki svog stola i odlučila sam da bi dobar dodatak bilo malo rasvjete za raspoloženje. U početku sam upravo kupio LED traku sa 5V baterijom kojom se upravlja daljinskim upravljačem, ali to nije bio baš zadovoljavajući proces i imao sam ideju. Ležao sam nekoliko rezervnih dijelova i pokušavao smisliti nešto s Raspberry Pi -om koji sam nabavio za Božić. Tokom posebno dosadnog dana na satu prirodnih nauka, shvatio sam da bih mogao koristiti GPIO pinove Raspberry Pi -a za upravljanje LED svjetlima, sve dok su mi davali RGB vrijednosti.

Moj početni plan dizajna bio je da se svjetla kontroliraju pomoću zaslona osjetljivog na dodir montiranog na moj zid ili stol, ali nakon nekih revizija odlučio sam da bi najlakši način bio da ga kontrolišem drugim uređajem. Dok sam razmišljao o pisanju aplikacije za svoj telefon na Javi, mala web stranica djelovala je mnogo efikasnije.

Ovaj projekt je otvoren za mnoga poboljšanja, i iako su moji html + php nekako skicirani, oni završavaju posao

Teme:

Glavne tačke koje će ovaj vodič pogoditi su ---

  1. Kontrola GPIO -a na Raspberry Pi -u
  2. Hostovanje Apache web servera na Pi -u
  3. Korištenje web servera za kontrolu RGB LED svjetlosne trake

Korak 1: Potrebni materijali i zalihe

  • 1 x Raspberry Pi (koristio sam Pi 2 model B)
  • MicroSD kartica
  • Nešto za napajanje vašeg Pi (USB kabel i adapter za naizmjeničnu struju)
  • 1 x USB WiFi adapter ILI Ethernet veza
  • 1 x USB na serijski kabel -
  • 1 x GPIO proboj -
  • 1 x mala ploča -
  • USB na MicroSD -
  • Više boja pune žice
  • Kućište
  • 3 x tranzistora tipa NPN (koristio sam tranzistore BC547b)
  • 1x 5V LED svjetlosna traka
  • Žice za muške kratkospojnike -

Korak 2: Postavljanje Pi okruženja

Postavljanje Pi okruženja
Postavljanje Pi okruženja
Postavljanje Pi okruženja
Postavljanje Pi okruženja

Koristio sam iskošenu plastičnu kutiju da zatvorim projekt kako se ne bi isticao na mojoj polici. Izbušio sam rupu sa strane za serijski USB kabel i postavio Pi pored matične ploče i Pi Wedge.

Korak 3: Postavljanje vašeg Pi -a (1. dio)

Postavljanje vašeg Pi -a (1. dio)
Postavljanje vašeg Pi -a (1. dio)

Za ovaj projekt koristio sam najnoviju verziju Raspbiana koji nije za radnu površinu

Vodič o tome kako instalirati Raspbian možete pronaći ovdje:

(Možda će vam trebati USB na microSD adapter za računar)

Nakon što je Raspbian instaliran na SD karticu, možete ga nastaviti priključivati na Raspberry Pi i spojiti Ethernet kabel ili USB WiFi adapter na Pi

Zatim instalirajte Tera Term na svoje računalo, što vam omogućava povezivanje s terminalom Raspberry Pi putem vašeg računala:

Zatim priključite USB serijski kabel s Pi klina u računalo. Može mu se pristupiti putem termina Tera. Uvjerite se da je brzina prijenosa serijskog porta postavljena na 115200.

Prvo, Pi će postaviti upit za prijavu ako je OS pravilno instaliran

Zadano korisničko ime i lozinka su:

Korisničko ime: pi

Lozinka: malina

Korak 4: Postavljanje vašeg Pi -a (2. dio)

Postavljanje WiFi -ja

Na terminalu pokrenite naredbu

sudo nano/etc/network/sučelja

Zatim zalijepite ovaj kôd i zamijenite SSID i PSK imenom i lozinkom usmjerivača

auto lo

iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid "ssid" wpa-psk "lozinka"

Ova datoteka omogućava da se Pi poveže na vaš WiFi

Zatim ponovno pokrenite Pi linijom

sudo reboot

Instaliranje web servera

Prijavite se, a zatim instalirajte Apache server sa

sudo apt -get install apache2 -y

i

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

Da biste pronašli IP adresu svog Pi -a, pokrenite naredbu

hostname -I

Upotrijebite svoje pretraživanje za pristup IP -u koji je prikazan kako biste provjerili radi li.

Na primjer, u Google Chromeu bih upisao 192.168.1.72 u adresnu traku.

Dokumentaciju koju trebate pratiti možete pronaći na

Biblioteku PiGPIO također je potrebno instalirati, što vam omogućuje kontrolu podataka koji se šalju putem GPIO pinova.

sudo apt-get install build-essential unzip wget

i

wget https://abyz.me.uk/rpi/pigpio/pigpio.zip && unzip pigpio.zip && cd PIGPIO && sudo make install

Korak 5: Pisanje koda

Idite linijom na/var/www/html

cd/var/www/html

U direktoriju će se nalaziti zadana html datoteka koju ćete morati urediti.

sudo nano index.html

Unutar Nanoa obrišite sve što već postoji i zamijenite ga sljedećim kodom.

(Termin Term može biti pomalo duhovit s kopiranjem i lijepljenjem, ali obično nakon što kopirate tekst, alt+v bi trebao obaviti posao)

funkcija readRGB (boja) {if (color.length == 0) {document.getElementById ("txtHint"). innerHTML = ""; return; } else {var xmlhttp = novi XMLHttpRequest (); xmlhttp.onreadystatechange = function () {if (this.readyState == 4 && this.status == 400) {document.getElementById ("txtHint"). innerHTML = this.responseText; }}; temp = encodeURIComponent (boja); xmlhttp.open ("GET", "action_page.php? q =" + temp, true); xmlhttp.send (); }} Odaberite boju:

Zatim ga spremite kao main.html, umjesto index.html

Gornji kôd djeluje kao dugme koje pritisnete i kao kôd koji šalje boju koju odaberete drugoj datoteci.

Zatim pokrenite naredbu

sudo nano

i zalijepite

$ r $ g $ b ;

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

i spremite ga kao action_page.php

Ovaj kod prima RGB vrijednost i postavlja PWM vrijednosti na LED traci.

Korak 6: Dizajn kola

Dizajn kola
Dizajn kola

Sada kada je sav softver postavljen, vrijeme je za rad na hardveru.

Cilj kruga je slanje PWM (Pulse Width Modulated) signala iz Pi u LED niz.

LED traka ima četiri pina: crvenu, zelenu, plavu i napajanje (5 volti u mom slučaju).

Svaki PWM pin upravlja jednom od tri boje putem tranzistora, koji djeluje kao prekidač.

Svaki tranzistor ima tri pina: kolektor, bazu i emiter.

PWM signal kontrolira radni ciklus (koliko dugo se prekidač uključuje i isključuje).

Radni ciklus dovodi do toga da su svjetla tamnija ili svjetlija.

S obzirom da se svjetla tako brzo pale i gase, ljudi ga vide kao čvrsto svjetlo s različitom svjetlinom.

NAPOMENA: Na shemi LED simboli predstavljaju niz LED dioda i otpornike za ograničavanje struje unutar žice.

Korak 7: Namažite svoj kruh… Board

Maslac svoj kruh… Board
Maslac svoj kruh… Board

Prilikom povezivanja, obavezno isključite Pi.

Postavite Pi klin s jednim redom pinova na bilo koju polovicu matične ploče i povežite ga s Pi pomoću vrpčnog kabela. Koristio sam žicu s čvrstim jezgrom kako bih smanjio nered na ploči i osigurao da se ništa slučajno ne isključi.

Postavite tranzistore na gornju polovicu matične ploče (stupac A) i spojite LED niz na donju polovicu (redovi H, I ili J).

Spojite negativni vod za napajanje na GND pin na klinu, a pozitivni vod na pin 5V.

Spojite pozitivnu vodilicu na pin za napajanje LED niza.

Za svaki tranzistor spojite pin emitera na negativnu tračnicu napajanja i spojite pin kolektora u odvojene redove koji odgovaraju pinovima LED niza (koristio sam red 1 kao 5v, a 2, 3 i 4 kao zelenu, crvenu i plavu boju, u koloni f). Zatim spojite četiri muške i ženske kratkospojne žice od matične ploče do LED trake.

Na kraju, spojite iglu osnove zelenog tranzistora na pin 17 na klinu, crvenu bazu tranzistora na pin 22 i plavu bazu tranzistora na pin 24.

Korak 8: Testiranje

Testiranje
Testiranje

U web pregledniku idite do Pi -ove IP adrese, a nakon nje upišite /main.html

Odaberite boju i zadivite se "čudima moderne tehnologije"!

Korak 9: Kontaktirajte me ako imate bilo kakvih pitanja/povratnih informacija

Ako imate bilo kakvih pitanja ili prijedloga, ostavite komentar ili mi pošaljite poruku ovdje, a ja ću pokušati odgovoriti u najkraćem mogućem roku.

Sretno!

Preporučuje se: