Satura rādītājs:

Vietnes/WiFi kontrolēta LED sloksne ar Raspberry Pi: 9 soļi (ar attēliem)
Vietnes/WiFi kontrolēta LED sloksne ar Raspberry Pi: 9 soļi (ar attēliem)

Video: Vietnes/WiFi kontrolēta LED sloksne ar Raspberry Pi: 9 soļi (ar attēliem)

Video: Vietnes/WiFi kontrolēta LED sloksne ar Raspberry Pi: 9 soļi (ar attēliem)
Video: 20 товаров для автомобиля с Алиэкспресс, автотовары №29 2024, Jūlijs
Anonim
Vietnes/WiFi kontrolēta LED sloksne ar Raspberry Pi
Vietnes/WiFi kontrolēta LED sloksne ar Raspberry Pi

Fons:

Esmu pusaudzis, un pēdējos gadus esmu izstrādājis un programmējis mazus elektronikas projektus, kā arī piedalījies robotikas sacensībās.

Nesen strādāju pie sava galda iestatījumu atjaunināšanas, un es nolēmu, ka jauks papildinājums būtu garastāvokļa apgaismojums. Sākumā es tikko nopirku ar 5 V bateriju darbināmu LED sloksni, ko kontrolē tālvadības pults, taču tas nebija ļoti piepildīts process, un man bija ideja. Man bija dažas rezerves daļas, un es mēģināju izdomāt, ko darīt ar Raspberry Pi, ko es saņēmu Ziemassvētkos. Īpaši garlaicīgas dienas laikā dabaszinātņu stundā es sapratu, ka varu izmantot Raspberry Pi GPIO tapas, lai kontrolētu gaismas diodes, ja vien tās izvadītu RGB vērtības.

Mans sākotnējais dizaina plāns bija, lai gaismas kontrolētu ar skārienekrāna displeju pie sienas vai galda, taču pēc dažām izmaiņām es nolēmu, ka vienkāršākais veids, kā to izdarīt, būtu kontrolēt to ar citu ierīci. Kamēr es apsvēru iespēju rakstīt lietotni savam tālrunim Java, neliela vietne šķita daudz efektīvāka.

Šis projekts ir atvērts daudziem uzlabojumiem, un, lai gan mans html + php ir kaut kā ieskicēts, viņi paveic darbu

Tēmas:

Šīs rokasgrāmatas galvenie punkti ir ---

  1. GPIO vadīšana Raspberry Pi
  2. Apache tīmekļa servera mitināšana Pi
  3. Tīmekļa servera izmantošana, lai kontrolētu RGB LED gaismas joslu

1. darbība. Nepieciešamie materiāli un piederumi

  • 1 x Raspberry Pi (es izmantoju Pi 2 modeli B)
  • MicroSD karte
  • Kaut kas jūsu Pi barošanai (USB kabelis un maiņstrāvas adapteris)
  • 1 x USB WiFi adapteris VAI Ethernet savienojums
  • 1 x USB seriālais kabelis -
  • 1 x GPIO pārtraukums -
  • 1 x mazs maizes dēlis -
  • USB uz MicroSD -
  • Vairākas cietā serdes stieples krāsas
  • Iežogojums
  • 3 x NPN tipa tranzistori (es izmantoju BC547b tranzistorus)
  • 1x 5V LED gaismas sloksne
  • Džempera vadi no sievietes līdz vīrietim -

2. solis: Pi vides iestatīšana

Pi vides iestatīšana
Pi vides iestatīšana
Pi vides iestatīšana
Pi vides iestatīšana

Projekta norobežošanai es izmantoju slīpu plastmasas kasti, lai tā neizceltos manā plauktā. Es urbju caurumu sānos seriālajam USB kabelim un novietoju Pi blakus maizes dēlim un Pi ķīlim.

3. darbība: Pi iestatīšana (1. daļa)

Pi iestatīšana (1. daļa)
Pi iestatīšana (1. daļa)

Šim projektam es izmantoju Raspbian, kas nav darbvirsma, jaunāko versiju

Rokasgrāmatu par Raspbian instalēšanu var atrast šeit:

(Jūsu datoram var būt nepieciešams USB -microSD adapteris)

Kad Raspbian ir instalēts SD kartē, varat to pievienot Raspberry Pi un savienot Ethernet kabeli vai USB WiFi adapteri ar Pi

Pēc tam instalējiet datorā Tera Term, kas ļauj datoram izveidot savienojumu ar Raspberry Pi termināli:

Pēc tam pievienojiet USB seriālo kabeli no Pi ķīļa datoram. Tam var piekļūt, izmantojot Tera Term. Pārliecinieties, vai seriālā porta pārraides ātrums ir iestatīts uz 115200.

Pirmkārt, Pi publicēs uzvedni, lai pierakstītos, ja OS ir pareizi instalēta

Noklusējuma lietotājvārds un parole ir:

Lietotājvārds: pi

Parole: aveņu

4. solis: Pi iestatīšana (2. daļa)

WiFi iestatīšana

Terminālī palaidiet komandu

sudo nano/etc/network/interfaces

Pēc tam ielīmējiet šo kodu un aizstājiet SSID un PSK ar maršrutētāja nosaukumu un paroli

auto lo

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

Šis fails ļauj Pi izveidot savienojumu ar jūsu WiFi

Pēc tam restartējiet Pi ar līniju

sudo atsāknēšana

Tīmekļa servera instalēšana

Piesakieties un pēc tam instalējiet Apache serveri ar

sudo apt -get install apache2 -y

un

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

Lai atrastu jūsu Pi IP adresi, palaidiet komandu

saimniekdatora nosaukums -es

Izmantojiet pārlūkprogrammu, lai piekļūtu parādītajam IP, lai pārbaudītu, vai tas darbojas.

Piemēram, pārlūkā Google Chrome es adreses joslā ierakstītu 192.168.1.72.

Dokumentācija, kas jums jāievēro, ir atrodama vietnē

Tāpat ir jāinstalē PiGPIO bibliotēka, kas ļauj kontrolēt datus, kas tiek nosūtīti, izmantojot GPIO tapas.

sudo apt-get install build-essential unzip wget

un

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

5. darbība: koda rakstīšana

Ar līniju dodieties uz/var/www/html

cd/var/www/html

Katalogā būs noklusējuma html fails, kas jums būs jārediģē.

sudo nano index.html

Nano iekšpusē izdzēsiet visu, kas jau ir, un aizstājiet to ar šādu kodu.

(Tera Term var būt nedaudz dīvains ar kopēšanu un ielīmēšanu, bet parasti, tiklīdz esat nokopējis tekstu, Alt+V ir jādara šis uzdevums)

funkcija readRGB (krāsa) {if (color.length == 0) {document.getElementById ("txtHint"). internalHTML = ""; atgriešanās; } cits {var xmlhttp = jauns XMLHttpRequest (); xmlhttp.onreadystatechange = function () {if (this.readyState == 4 && this.status == 400) {document.getElementById ("txtHint"). internalHTML = this.responseText; }}; temp = kodētURIComponent (krāsa); xmlhttp.open ("GET", "action_page.php? q =" + temp, true); xmlhttp.send (); }} Izvēlieties krāsu:

Pēc tam saglabājiet to kā main.html, nevis index.html

Iepriekš minētais kods darbojas kā nospiestā poga un kā kods, kas nosūta jūsu izvēlēto krāsu uz citu failu.

Tālāk palaidiet komandu

sudo nano

un ielīmējiet

$ r $ g $ b ;

exec ("cūkas p 17 $ g"); exec ("cūkas p 22 $ r"); exec ("cūkas p 22 $ b"); ?>

un saglabājiet to kā action_page.php

Šis kods saņem RGB vērtību un nosaka LED joslā PWM vērtības.

6. darbība: shēmas dizains

Ķēdes dizains
Ķēdes dizains

Tagad, kad visa programmatūra ir iestatīta, ir pienācis laiks strādāt ar aparatūru.

Ķēdes mērķis ir nosūtīt PWM (impulsa platuma modulācijas) signālus no Pi uz LED masīvu.

LED sloksnei ir četras tapas: sarkana, zaļa, zila un jauda (manā gadījumā 5 volti).

Katra PWM tapa kontrolē vienu no trim krāsām caur tranzistoru, kas darbojas kā slēdzis.

Katram tranzistoram ir trīs tapas: kolektors, bāze un emitētājs.

PWM signāls kontrolē darba ciklu (cik ilgi slēdzis ieslēdzas un izslēdzas).

Darba cikla rezultātā gaismas kļūst tumšākas vai gaišākas.

Tā kā gaismas ieslēdzas un izslēdzas tik ātri, cilvēki to uzskata par nepārtrauktu gaismu ar dažādu spilgtumu.

PIEZĪME. Shēmā LED simboli apzīmē LED bloku un strāvas ierobežojošos rezistorus vadā.

7. solis: sviesta maize… Padome

Sviesta jūsu maize… Padome
Sviesta jūsu maize… Padome

Veicot savienojumus, noteikti izslēdziet Pi.

Novietojiet Pi ķīli ar vienu tapas rindu uz abām maizes dēļa pusēm un savienojiet to ar Pi ar lentes kabeli. Es izmantoju cietu vadu, lai samazinātu maizes dēļa jucekli un pārliecinātos, ka nekas nejauši netiks atvienots.

Novietojiet tranzistorus uz maizes dēļa augšējās puses (A sleja) un pievienojiet LED bloku apakšējai pusei (H, I vai J rindas).

Pievienojiet negatīvo strāvas sliedi pie ķīļa GND tapas un pozitīvo sliedi ar 5V tapu.

Pievienojiet pozitīvās barošanas sliedi LED bloka barošanas tapai.

Katram tranzistoram pievienojiet emitētāja tapu pie negatīvās barošanas sliedes un pievienojiet kolektora tapu atsevišķām rindām, kas atbilst LED masīva tapām (es izmantoju 1. rindu kā 5v un 2., 3. un 4. rindu kā zaļu, sarkanu un zilu, f) slejā. Pēc tam no maizes dēļa līdz LED sloksnei pievienojiet četrus vīriešu un sieviešu džemperu vadus.

Visbeidzot, savienojiet zaļā tranzistora pamatnes tapu ar ķīļa 17. tapu, sarkano tranzistora pamatni ar 22. tapu un zilo tranzistora pamatni ar 24. tapu.

8. darbība: pārbaude

Testēšana
Testēšana

Tīmekļa pārlūkprogrammā dodieties uz Pi IP adresi un pēc tam ierakstiet /main.html

Izvēlieties krāsu un izbrīnieties par "mūsdienu tehnoloģiju brīnumiem"!

9. darbība. Sazinieties ar mani, ja jums ir kādi jautājumi/atsauksmes

Ja jums ir kādi jautājumi vai ieteikumi, lūdzu, atstājiet komentāru vai rakstiet man šeit, un es centīšos atbildēt pēc iespējas ātrāk.

Veiksmi!

Ieteicams: