Obsah:

Webový pás/WiFi riadený LED pás s Raspberry Pi: 9 krokov (s obrázkami)
Webový pás/WiFi riadený LED pás s Raspberry Pi: 9 krokov (s obrázkami)

Video: Webový pás/WiFi riadený LED pás s Raspberry Pi: 9 krokov (s obrázkami)

Video: Webový pás/WiFi riadený LED pás s Raspberry Pi: 9 krokov (s obrázkami)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Jún
Anonim
Webový pás/WiFi riadený LED pás s Raspberry Pi
Webový pás/WiFi riadený LED pás s Raspberry Pi

Pozadie:

Som tínedžer a posledné roky som navrhoval a programoval malé projekty v oblasti elektroniky a zúčastňoval som sa robotických súťaží.

Nedávno som pracoval na aktualizácii svojho nastavenia stola a rozhodol som sa, že príjemným doplnkom bude náladové osvetlenie. Najprv som si kúpil 5 V batériou napájaný LED pás ovládaný diaľkovým ovládačom, ale nebol to veľmi napĺňajúci proces a mal som nápad. Ležalo mi niekoľko náhradných dielov a pokúšal som sa vymyslieť niečo spoločné s Raspberry Pi, ktoré som dostal na Vianoce. Počas obzvlášť nudného dňa na hodine vedy som si uvedomil, že môžem použiť GPIO piny Raspberry Pi na ovládanie LED svetiel, pokiaľ ich budem mať na výstupe hodnoty RGB.

Môj pôvodný plán návrhu bol nechať svetlá ovládať dotykovým displejom namontovaným na mojej stene alebo stole, ale po niekoľkých revíziách som sa rozhodol, že najľahším spôsobom bude ovládanie pomocou iného zariadenia. Aj keď som zvažoval napísanie aplikácie pre svoj telefón v Jave, malá webová stránka sa mi zdala oveľa efektívnejšia.

Tento projekt je otvorený mnohým vylepšeniam, a hoci sú moje html + php akési útržkovité, prácu zvládnu

Témy:

Hlavné body, ktoré táto príručka zasiahne, sú ---

  1. Ovládanie GPIO na Raspberry Pi
  2. Hostenie webového servera Apache na serveri Pi
  3. Použitie webového servera na ovládanie svetelného pásu LED RGB

Krok 1: Požadovaný materiál a zásoby

  • 1 x Raspberry Pi (použil som Pi 2 Model B)
  • MicroSD karta
  • Niečo na napájanie vášho Pi (kábel USB a sieťový adaptér)
  • 1 x USB WiFi adaptér ALEBO ethernetové pripojenie
  • 1 x kábel USB na sériový port -
  • 1 x GPIO breakout -
  • 1 x malý breadboard -
  • USB na MicroSD -
  • Viacfarebné prevedenie drôtu s plným jadrom
  • Ohrada
  • 3 x tranzistory typu NPN (použil som tranzistory BC547b)
  • 1x 5V LED svetelný pás
  • Prepojovacie vodiče medzi ženami a mužmi -

Krok 2: Nastavenie prostredia Pi

Nastavenie prostredia Pi
Nastavenie prostredia Pi
Nastavenie prostredia Pi
Nastavenie prostredia Pi

Na uzavretie projektu som použil šikmú plastovú škatuľu, aby nevynikla na mojej poličke. Do boku som vyvŕtal otvor pre sériový kábel USB a Pi som umiestnil vedľa dosky na chlieb a Pi Wedge.

Krok 3: Inštalácia vášho Pi (časť 1)

Nastavenie vášho Pi (časť 1)
Nastavenie vášho Pi (časť 1)

Na tento projekt som použil najnovšiu verziu programu Raspbian, ktorý nie je stolný počítač

Návod, ako nainštalovať Raspbian, nájdete tu:

(Na svoj počítač možno budete potrebovať adaptér USB na microSD)

Akonáhle je Raspbian nainštalovaný na SD kartu, môžete pristúpiť k jeho pripojeniu k Raspberry Pi a k Pi pripojiť ethernetový kábel alebo USB WiFi adaptér

Ďalej si nainštalujte do počítača Tera Term, ktorý vám umožní prepojenie s terminálom Raspberry Pi prostredníctvom počítača:

Potom zapojte sériový kábel USB z klinu Pi do počítača. Dá sa k nemu získať prístup prostredníctvom terminálu Tera. Uistite sa, že je prenosová rýchlosť sériového portu nastavená na 115200.

Pi najskôr pošle výzvu na prihlásenie, ak bol operačný systém správne nainštalovaný

Predvolené používateľské meno a heslo sú:

Používateľské meno: pi

Heslo: malina

Krok 4: Inštalácia vášho Pi (časť 2)

Nastavenie WiFi

V termináli spustite príkaz

sudo nano/etc/network/interfaces

Potom vložte tento kód a SSID a PSK nahraďte názvom a heslom smerovač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 "heslo"

Tento súbor umožňuje Pi pripojenie k vašej WiFi

Ďalej reštartujte Pi pomocou linky

sudo reštart

Inštalácia webového servera

Prihláste sa a potom nainštalujte server Apache pomocou

sudo apt -get install apache2 -y

a

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

Ak chcete nájsť IP adresu vášho Pi, spustite príkaz

názov hostiteľa -I

Pomocou prehliadania získajte prístup k zobrazenej adrese IP a skontrolujte, či funguje.

Napríklad v prehliadači Google Chrome by som do panela s adresou zadal 192.168.1.72.

Dokumentáciu, ktorú by ste sa mali riadiť, nájdete na

Je tiež potrebné nainštalovať knižnicu PiGPIO, ktorá vám umožní ovládať odosielané údaje cez piny GPIO.

sudo apt-get install build-essential unzip wget

a

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

Krok 5: Napíšte kód

Riadkom prejdite na/var/www/html

cd/var/www/html

V adresári bude predvolený súbor html, ktorý budete musieť upraviť.

sudo nano index.html

V Nano odstráňte všetko, čo už existuje, a nahraďte ho nasledujúcim kódom.

(Termín Tera môže byť pri kopírovaní a vkladaní trochu zábavný, ale zvyčajne, keď už skopírujete text, Alt+v by to malo urobiť)

funkcia readRGB (farba) {if (color.length == 0) {document.getElementById ("txtHint"). innerHTML = ""; návrat; } else {var xmlhttp = new XMLHttpRequest (); xmlhttp.onreadystatechange = function () {if (this.readyState == 4 && this.status == 400) {document.getElementById ("txtHint"). innerHTML = this.responseText; }}; temp = encodeURIComponent (farba); xmlhttp.open ("GET", "action_page.php? q =" + temp, true); xmlhttp.send (); }} Vyberte farbu:

Potom ho uložte ako main.html, namiesto index.html

Vyššie uvedený kód slúži ako tlačidlo, ktoré stlačíte, a ako kód, ktorý odošle vami zvolenú farbu do druhého súboru.

Ďalej spustite príkaz

sudo nano

a vložte

$ r $ g $ b “;

exec („ošípané p 17 $ g“); exec ("ošípané p 22 $ r"); exec ("ošípané p 22 $ b"); ?>

a uložte ho ako action_page.php

Tento kód prijíma hodnotu RGB a nastavuje hodnoty PWM na pásiku LED.

Krok 6: Návrh obvodu

Návrh obvodu
Návrh obvodu

Teraz, keď je všetok softvér nastavený, je čas začať pracovať na hardvéri.

Cieľom obvodu je odoslať signály PWM (modulované šírkou impulzu) z Pi do poľa LED.

LED pásik má štyri piny: červený, zelený, modrý a napájací (v mojom prípade 5 voltov).

Každý pin PWM ovláda jednu z troch farieb prostredníctvom tranzistora, ktorý funguje ako prepínač.

Každý tranzistor má tri piny: kolektor, základňu a žiarič.

Signál PWM riadi pracovný cyklus (ako dlho sa vypínač zapína a vypína).

Výsledkom pracovného cyklu je, že svetlá sú tmavšie alebo jasnejšie.

Pretože sa svetlá zapínajú a vypínajú tak rýchlo, ľudia ho vnímajú ako plné svetlo s rôznym jasom.

POZNÁMKA: V schéme symboly LED predstavujú pole LED a odpory obmedzujúce prúd vo vodiči.

Krok 7: Vymazanie chleba… Doska

Vymazať si chlieb… Doska
Vymazať si chlieb… Doska

Pri pripájaní dbajte na to, aby bol Pi vypnutý.

Umiestnite klin Pi s jedným radom kolíkov na jednu polovicu dosky a prepojte ho s Pi káblom. Na zníženie neporiadku na doske som použil drôt s plným jadrom a zaistil som, aby sa nič omylom neodpojilo.

Tranzistory umiestnite na hornú polovicu dosky (stĺpec A) a zospodu pripojte pole LED (rady H, I alebo J).

Pripojte zápornú napájaciu lištu k kolíku GND na kline a kladnú koľajnicu k 5V kolíku.

Pripojte kladnú napájaciu lištu k kolíku napájania sústavy LED.

Pre každý tranzistor pripojte kolík emitora k zápornej napájacej lište a kolektorový kolík pripojte k oddeleným radom zodpovedajúcim pinom poľa LED (riadok 1 som použil ako 5v a 2, 3 a 4 ako zelený, červený a modrý, v stĺpci f). Potom pripojte štyri prepojovacie vodiče medzi samcom a samicou z nepájivého poľa k LED pásku.

Nakoniec pripojte kolík základne zeleného tranzistora k pinu 17 na kline, červenú základňu tranzistora k pinu 22 a modrú základňu tranzistora k pinu 24.

Krok 8: Testovanie

Testovanie
Testovanie

Vo webovom prehliadači prejdite na IP adresu Pi a potom zadajte /main.html

Vyberte si farbu a nechajte sa prekvapiť „zázrakmi modernej technológie“!

Krok 9: V prípade akýchkoľvek otázok/spätnej väzby ma kontaktujte

Ak máte akékoľvek otázky alebo návrhy, neváhajte zanechať komentár alebo mi napíšte tu DM a ja sa pokúsim odpovedať čo najskôr.

Veľa štastia!

Odporúča: