Talaan ng mga Nilalaman:

Website / WiFi Controlled LED Strip With Raspberry Pi: 9 Hakbang (na may Mga Larawan)
Website / WiFi Controlled LED Strip With Raspberry Pi: 9 Hakbang (na may Mga Larawan)

Video: Website / WiFi Controlled LED Strip With Raspberry Pi: 9 Hakbang (na may Mga Larawan)

Video: Website / WiFi Controlled LED Strip With Raspberry Pi: 9 Hakbang (na may Mga Larawan)
Video: On the traces of an Ancient Civilization? 🗿 What if we have been mistaken on our past? 2024, Disyembre
Anonim
Website / WiFi Kinokontrol na LED Strip Sa Raspberry Pi
Website / WiFi Kinokontrol na LED Strip Sa Raspberry Pi

Background:

Ako ay isang tinedyer, at nagdidisenyo at nagprogram ng mga maliliit na proyekto ng electronics sa nagdaang ilang taon, kasama ang pakikilahok sa mga kumpetisyon ng robot.

Kamakailan ay nagtatrabaho ako sa pag-update ng aking pag-set up ng desk, at napagpasyahan kong ang isang magandang karagdagan ay ang ilang pag-iilaw ng mood. Sa una, bumili ako ng isang 5v na baterya na pinapatakbo ng LED strip na kinokontrol ng isang remote, ngunit hindi ito isang napaka-natutupad na proseso at may ideya ako. Mayroon akong ilang ekstrang bahagi na nakahiga, at nagsisikap na mag-isip ng isang bagay na gagawin sa Raspberry Pi na nakuha ko para sa Pasko. Sa panahon ng isang partikular na nakakainip na araw sa klase ng agham, napagtanto kong magagamit ko ang mga pin ng GPP ng Raspberry Pi upang makontrol ang mga ilaw na LED, hangga't mayroon akong mga output ng RGB na halaga.

Ang aking paunang plano sa disenyo ay ang kontrolin ng mga ilaw ng isang touchscreen display sa aking dingding o lamesa, ngunit pagkatapos ng ilang mga pagbabago ay napagpasyahan kong ang pinakamadaling paraan upang pumunta ay upang makontrol ito sa ibang aparato. Habang isinasaalang-alang ko ang pagsusulat ng isang app para sa aking telepono sa Java, ang isang maliit na website ay tila mas mahusay.

Ang proyektong ito ay bukas sa maraming mga pagpapabuti, at habang ang aking html + php ay uri ng hindi mahinahon, natapos nila ang trabaho

Mga Paksa:

Ang mga pangunahing puntos na tatama sa patnubay na ito ay ---

  1. Pagkontrol sa GPIO sa Raspberry Pi
  2. Pagho-host ng isang Apache web server sa Pi
  3. Gamit ang web server upang makontrol ang isang RGB LED light strip

Hakbang 1: Mga Kinakailangan na Materyales at Suplay

  • 1 x Raspberry Pi (Gumamit ako ng Pi 2 Model B)
  • Card ng MicroSD
  • Isang bagay upang mapagana ang iyong Pi (USB cable at AC power adapter)
  • 1 x USB WiFi adapter O isang koneksyon sa Ethernet
  • 1 x USB sa Serial Cable -
  • 1 x GPIO breakout -
  • 1 x maliit na breadboard -
  • USB sa MicroSD -
  • Maramihang Mga Kulay ng solidong core wire
  • Isang enclosure
  • 3 x NPN type transistors (Gumamit ako ng BC547b transistors)
  • 1x 5V LED light strip
  • Babae sa Mga lalaking jumper wires -

Hakbang 2: Pag-set up ng Kapaligiran ng Pi

Pag-set up ng Kapaligiran ng Pi
Pag-set up ng Kapaligiran ng Pi
Pag-set up ng Kapaligiran ng Pi
Pag-set up ng Kapaligiran ng Pi

Gumamit ako ng isang slanted plastic box upang isara ang proyekto upang hindi ito tumayo sa aking istante. Nag-drill ako ng isang butas sa gilid para sa serial USB cable, at pinosisyon ang Pi sa tabi ng breadboard at Pi Wedge.

Hakbang 3: Pagkuha ng Iyong Pi Set Up (Bahagi 1)

Pag-set up ng Iyong Pi (Bahagi 1)
Pag-set up ng Iyong Pi (Bahagi 1)

Para sa proyektong ito ginamit ko ang pinakabagong bersyon ng non-desktop Raspbian

Ang isang gabay sa kung paano mag-install ng Raspbian ay matatagpuan dito:

(Maaaring kailanganin mo ang isang USB sa microSD adapter para sa iyong computer)

Kapag na-install na ang Raspbian sa SD card, maaari mong ituloy na i-plug ito sa Raspberry Pi, at ikonekta ang Ethernet cable o USB WiFi adapter sa Pi

Susunod, i-install ang Tera Term sa iyong computer, na nagbibigay-daan sa iyo upang makipag-ugnay sa terminal ng Raspberry Pi sa pamamagitan ng iyong PC:

Pagkatapos, isaksak ang USB serial cable mula sa wedge ng Pi sa PC. Maaari itong ma-access sa pamamagitan ng Tera Term. Tiyaking ang serial port baud rate ay nakatakda sa 115200.

Una, mag-post ang Pi ng isang prompt upang mag-sign in kung ang OS ay na-install nang maayos

Ang default na username at password ay:

Username: pi

Password: raspberry

Hakbang 4: Pagkuha ng Iyong Pi Set Up (Bahagi 2)

Pagse-set up ng WiFi

Sa terminal, patakbuhin ang utos

sudo nano / etc / network / interface

Pagkatapos, i-paste sa code na ito at palitan ang SSID at PSK ng pangalan at password ng iyong router

auto lo

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

Pinapayagan ng file na ito ang Pi na kumonekta sa iyong WiFi

Susunod, i-restart ang Pi gamit ang linya

sudo reboot

Pag-install ng Web Server

Mag-log in, at pagkatapos ay i-install ang server ng Apache

sudo apt-get install apache2 -y

at

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

Upang mahanap ang IP address ng iyong Pi patakbuhin ang utos

hostname -ako

Gamitin ang iyong pag-browse upang ma-access ang IP na ipinapakita upang masuri kung gumagana ito.

Halimbawa, sa Google Chrome magta-type ako ng 192.168.1.72 sa address bar.

Ang dokumentasyong dapat mong sundin ay matatagpuan sa

Ang PiGPIO library ay kailangan ding mai-install, na nagbibigay-daan sa iyo upang makontrol ang data na ipinapadala sa mga GPIO pin.

sudo apt-get install ng build-essential unzip wget

at

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

Hakbang 5: Pagsulat ng Code

Mag-navigate sa / var / www / html gamit ang linya

cd / var / www / html

Sa direktoryo, magkakaroon ng isang default na html file, na kakailanganin mong i-edit.

sudo nano index.html

Sa loob ng Nano, tanggalin ang anumang mayroon na at palitan ito ng sumusunod na code.

(Ang Tera Term ay maaaring maging isang maliit na funky sa pagkopya at pag-paste, ngunit karaniwang sa sandaling nakopya mo ang teksto, dapat gawin ng alt + v ang trabaho)

function readRGB (kulay) {kung (color.length == 0) {document.getElementById ("txtHint"). innerHTML = ""; bumalik; } iba pa {var xmlhttp = bagong XMLHttpRequest (); xmlhttp.onreadystatechange = function () {if (this.readyState == 4 && this.status == 400) {document.getElementById ("txtHint"). innerHTML = this.responseText; }}; temp = encodeURIComponent (kulay); xmlhttp.open ("GET", "action_page.php? q =" + temp, totoo); xmlhttp.send (); }} Pumili ng Kulay:

Pagkatapos i-save ito bilang main.html, sa halip na index.html

Ang code sa itaas ay gumaganap bilang pindutan na pinindot mo, at bilang code na nagpapadala ng kulay na pinili mo sa iba pang file.

Susunod, patakbuhin ang utos

sudo nano

at idikit

$ r $ g $ b ;

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

at i-save ito bilang action_page.php

Natatanggap ng code na ito ang halaga ng RGB, at itinatakda ang mga halagang PWM sa LED strip.

Hakbang 6: Disenyo ng Circuit

Disenyo ng Circuit
Disenyo ng Circuit

Ngayon na naka-set up na ang lahat ng software, oras na upang magtrabaho sa hardware.

Ang layunin ng circuit ay upang magpadala ng mga signal ng PWM (Pulse Width Modulated) mula sa Pi sa LED array.

Ang LED strip ay may apat na mga pin: pula, berde, asul, at lakas (5 volts sa aking kaso).

Kinokontrol ng bawat PWM pin ang isa sa tatlong mga kulay sa pamamagitan ng isang transistor, na gumaganap bilang isang switch.

Ang bawat transistor ay may tatlong mga pin: kolektor, base, at emitter.

Kinokontrol ng signal ng PWM ang cycle ng tungkulin (kung gaano katagal nakabukas at patayin ang switch).

Nagreresulta ang cycle ng tungkulin sa mga ilaw na mas madidilim o mas maliwanag.

Dahil ang mga ilaw ay nakabukas at naka-off nang napakabilis, nakikita ito ng mga tao bilang solidong ilaw na may iba't ibang ningning.

TANDAAN: Sa eskematiko, ang mga simbolo ng LED ay kumakatawan sa LED array at ang kasalukuyang naglilimita ng mga resistor sa loob ng kawad.

Hakbang 7: Pagpatay sa Iyong Tinapay… Lupon

Pagpatay sa Iyong Tinapay… Lupon
Pagpatay sa Iyong Tinapay… Lupon

Habang gumagawa ng mga koneksyon, tiyaking naka-off ang Pi.

Ilagay ang Pi wedge na may isang hilera ng mga pin sa alinman sa kalahati ng breadboard, at ikonekta ito sa Pi gamit ang ribbon cable. Gumamit ako ng solidong core wire upang mabawasan ang kalat sa breadboard, at upang matiyak na walang aksidenteng mai-unplug.

Ilagay ang mga transistor sa itaas na kalahati ng breadboard (haligi A), at ikonekta ang LED array sa ibabang kalahati (mga hilera H, I, o J).

Ikonekta ang negatibong kapangyarihan ng tren sa pin ng GND sa kalang, at ang positibong riles sa 5V pin.

Ikonekta ang positibong power rail sa power supply pin ng LED array.

Para sa bawat transistor, ikonekta ang emitter pin sa negatibong power rail at ikonekta ang collector pin sa magkakahiwalay na mga hilera na naaayon sa mga pin ng LED array (ginamit ko ang row 1 bilang 5v, at 2, 3, at 4 bilang berde, pula, at asul, sa haligi f). Pagkatapos, ikonekta ang apat na lalaki sa mga babaeng jumper wires mula sa breadboard sa LED strip.

Panghuli, ikonekta ang base pin ng berdeng transistor upang i-pin ang 17 sa kalso, pulang base ng transistor sa pin 22, at asul na transistor na base sa pin 24.

Hakbang 8: Pagsubok

Pagsubok
Pagsubok

Sa isang web browser, mag-navigate sa IP address ng Pi, at pagkatapos nito isulat ang /main.html

Pumili ng isang kulay, at namangha sa mga "kababalaghan ng modernong teknolohiya"!

Hakbang 9: Makipag-ugnay sa Akin Kung Mayroon kang anumang mga Katanungan / Puna

Kung mayroon kang anumang mga katanungan o mungkahi huwag mag-atubiling mag-iwan ng isang puna o DM sa akin dito at susubukan kong tumugon nang mabilis.

Good luck!

Inirerekumendang: