Turinys:

Svetainė/„WiFi“valdoma LED juostelė su „Raspberry Pi“: 9 žingsniai (su nuotraukomis)
Svetainė/„WiFi“valdoma LED juostelė su „Raspberry Pi“: 9 žingsniai (su nuotraukomis)

Video: Svetainė/„WiFi“valdoma LED juostelė su „Raspberry Pi“: 9 žingsniai (su nuotraukomis)

Video: Svetainė/„WiFi“valdoma LED juostelė su „Raspberry Pi“: 9 žingsniai (su nuotraukomis)
Video: Mano darbas – stebėti mišką ir čia vyksta kažkas keisto. 2024, Liepa
Anonim
Svetainė/„WiFi“valdoma LED juostelė su „Raspberry Pi“
Svetainė/„WiFi“valdoma LED juostelė su „Raspberry Pi“

Fonas:

Esu paauglys ir pastaruosius kelerius metus kuriu ir programuoju nedidelius elektronikos projektus, taip pat dalyvauju robotikos varžybose.

Neseniai dirbau atnaujindamas savo stalo sąranką ir nusprendžiau, kad gražus papildymas būtų nuotaikos apšvietimas. Iš pradžių aš ką tik nusipirkau 5 V baterija maitinamą LED juostą, valdomą nuotolinio valdymo pultu, tačiau tai nebuvo labai naudingas procesas ir turėjau idėją. Aš gulėjau keliose atsarginėse dalyse ir bandžiau sugalvoti ką nors bendro su „Raspberry Pi“, kurį gavau per Kalėdas. Ypač nuobodžią dieną gamtos mokslų klasėje supratau, kad galiu naudoti „Raspberry Pi“GPIO kaiščius, kad valdyčiau LED lemputes, jei tik turėčiau jas išvesti RGB reikšmes.

Mano pradinis dizaino planas buvo, kad žibintai būtų valdomi jutikliniu ekranu ant sienos ar stalo, tačiau po keleto pakeitimų nusprendžiau, kad lengviausias būdas būtų jį valdyti kitu įrenginiu. Nors svarsčiau, kaip rašyti programą savo telefonui „Java“, maža svetainė atrodė daug efektyvesnė.

Šis projektas yra atviras daugeliui patobulinimų, ir nors mano html + php yra eskiziniai, jie atlieka darbą

Temos:

Pagrindiniai dalykai, kuriuos šis vadovas pateks, yra ---

  1. GPIO valdymas „Raspberry Pi“
  2. „Apache“žiniatinklio serverio priegloba Pi
  3. Žiniatinklio serverio naudojimas RGB LED šviesos juostelės valdymui

1 žingsnis: reikalingos medžiagos ir reikmenys

  • 1 x Raspberry Pi (naudojau Pi 2 modelį B)
  • „MicroSD“kortelė
  • Kažkas galios jūsų „Pi“(USB kabelis ir kintamosios srovės adapteris)
  • 1 x USB WiFi adapteris ARBA Ethernet ryšys
  • 1 x USB į nuoseklųjį kabelį -
  • 1 x GPIO pertrauka -
  • 1 x maža duonos lentelė -
  • USB į „MicroSD“-
  • Kelių spalvų vientisos vielos viela
  • Aptvaras
  • 3 x NPN tipo tranzistoriai (naudojau BC547b tranzistorius)
  • 1x 5V LED šviesos juostelė
  • Sujungimo laidai nuo moterų iki vyrų -

2 žingsnis: „Pi“aplinkos nustatymas

„Pi“aplinkos nustatymas
„Pi“aplinkos nustatymas
„Pi“aplinkos nustatymas
„Pi“aplinkos nustatymas

Projektui uždėti panaudojau nuožulnią plastikinę dėžę, kad ji neišsiskirtų mano lentynoje. Aš išgręžiau skylę serijinio USB kabelio šone ir pastatiau „Pi“šalia duonos lentos ir „Pi Wedge“.

3 žingsnis: „Pi“nustatymas (1 dalis)

„Pi“nustatymas (1 dalis)
„Pi“nustatymas (1 dalis)

Šiam projektui panaudojau naujausią ne darbalaukio „Raspbian“versiją

Raspbian diegimo vadovą rasite čia:

(Jūsų kompiuteriui gali prireikti USB -microSD adapterio)

Įdiegę „Raspbian“į SD kortelę, galite prijungti ją prie „Raspberry Pi“ir prijungti eterneto kabelį arba USB „WiFi“adapterį prie „Pi“

Tada įdiekite „Tera Term“į savo kompiuterį, kuris leidžia prisijungti prie „Raspberry Pi“terminalo per kompiuterį:

Tada prijunkite USB nuoseklųjį kabelį iš „Pi“pleišto prie kompiuterio. Jį galima pasiekti per „Tera Term“. Įsitikinkite, kad serijos prievado duomenų perdavimo sparta nustatyta į 115200.

Pirma, „Pi“paskelbs raginimą prisijungti, jei OS buvo tinkamai įdiegta

Numatytasis vartotojo vardas ir slaptažodis yra šie:

Vartotojo vardas: pi

Slaptažodis: avietė

4 žingsnis: „Pi“nustatymas (2 dalis)

„WiFi“nustatymas

Terminale paleiskite komandą

sudo nano/etc/network/interfaces

Tada įklijuokite šį kodą ir pakeiskite SSID ir PSK savo maršrutizatoriaus pavadinimu ir slaptažodžiu

auto lo

iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid "ssid" wpa-psk "slaptažodis"

Šis failas leidžia „Pi“prisijungti prie „WiFi“

Tada iš naujo paleiskite „Pi“su linija

sudo perkraukite

Žiniatinklio serverio diegimas

Prisijunkite ir įdiekite „Apache“serverį naudodami

sudo apt -get install apache2 -y

ir

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

Norėdami rasti „Pi“IP adresą, paleiskite komandą

pagrindinio kompiuterio vardas -aš

Naudokite naršymą, kad pasiektumėte rodomą IP, kad patikrintumėte, ar jis veikia.

Pavyzdžiui, „Google Chrome“į adreso juostą įvesčiau 192.168.1.72.

Dokumentus, kurių turėtumėte laikytis, rasite adresu

Taip pat reikia įdiegti „PiGPIO“biblioteką, kuri leidžia valdyti duomenis, siunčiamus per GPIO kaiščius.

sudo apt-get install build-essential unzip wget

ir

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

5 žingsnis: kodo rašymas

Eikite į/var/www/html naudodami eilutę

cd/var/www/html

Kataloge bus numatytasis html failas, kurį turėsite redaguoti.

sudo nano index.html

„Nano“viduje ištrinkite viską, kas jau yra, ir pakeiskite jį šiuo kodu.

(„Tera Term“gali būti šiek tiek neįprasta kopijuojant ir įklijuojant, bet paprastai, kai nukopijuojate tekstą, „Alt+V“turėtų atlikti šį darbą)

funkcija readRGB (spalva) {if (color.length == 0) {document.getElementById ("txtHint"). internalHTML = ""; grįžti; } else {var xmlhttp = naujas XMLHttpRequest (); xmlhttp.onreadystatechange = function () {if (this.readyState == 4 && this.status == 400) {document.getElementById ("txtHint"). internalHTML = this.responseText; }}; temp = kodavimasURIComponent (spalva); xmlhttp.open ("GET", "action_page.php? q =" + temp, true); xmlhttp.send (); }} Pasirinkite spalvą:

Tada išsaugokite jį kaip main.html, o ne index.html

Aukščiau pateiktas kodas veikia kaip mygtukas, kurį paspaudžiate, ir kaip kodas, kuris siunčia jūsų pasirinktą spalvą į kitą failą.

Tada paleiskite komandą

sudo nano

ir įklijuokite

$ r $ g $ b ;

exec („kiaulės p 17 $ g“); exec ("kiaulės p 22 $ r"); exec ("kiaulės p 22 $ b"); ?>

ir išsaugokite jį kaip action_page.php

Šis kodas gauna RGB reikšmę ir nustato LED juostelės PWM reikšmes.

6 žingsnis: grandinės projektavimas

Grandinės dizainas
Grandinės dizainas

Dabar, kai visa programinė įranga yra nustatyta, laikas dirbti su aparatine įranga.

Grandinės tikslas yra siųsti PWM (impulsų pločio moduliuotus) signalus iš Pi į LED masyvą.

Šviesos diodų juostelėje yra keturi kaiščiai: raudona, žalia, mėlyna ir galia (mano atveju 5 voltai).

Kiekvienas PWM kaištis valdo vieną iš trijų spalvų per tranzistorių, kuris veikia kaip jungiklis.

Kiekvienas tranzistorius turi tris kaiščius: kolektorių, pagrindą ir emiterį.

PWM signalas valdo darbo ciklą (kiek laiko jungiklis įjungiamas ir išjungiamas).

Darbo ciklo metu lemputės tampa tamsesnės arba ryškesnės.

Kadangi žibintai įsijungia ir išsijungia taip greitai, žmonės tai mato kaip vientisą ir skirtingo ryškumo šviesą.

PASTABA: Schemoje šviesos diodų simboliai žymi šviesos diodų masyvą ir srovės ribojimo rezistorius laido viduje.

7 žingsnis: tepkite duoną… Lenta

Sviestas jūsų duona… Lenta
Sviestas jūsų duona… Lenta

Vykdydami ryšius, būtinai išjunkite „Pi“.

Įdėkite „Pi“pleištą su viena eilute kaiščių ant bet kurios duonos lentos pusės ir prijunkite jį prie „Pi“juostiniu kabeliu. Aš naudoju kietą laidą, kad sumažintumėte duonos lentos netvarką ir įsitikintumėte, kad niekas netyčia nebus atjungtas.

Padėkite tranzistorius ant viršutinės duonos lentos pusės (A stulpelis), o apatinėje pusėje prijunkite šviesos diodų masyvą (H, I arba J eilutės).

Prijunkite neigiamą maitinimo bėgelį prie pleišto GND kaiščio, o teigiamą - prie 5 V kaiščio.

Prijunkite teigiamą maitinimo bėgelį prie šviesos diodų bloko maitinimo kaiščio.

Kiekvienam tranzistoriui prijunkite emiterio kaištį prie neigiamo maitinimo bėgio ir prijunkite kolektoriaus kaištį prie atskirų eilučių, atitinkančių šviesos diodų matricos kaiščius (aš naudoju 1 eilutę kaip 5v, o 2, 3 ir 4 kaip žalią, raudoną ir mėlyną, f) skiltyje. Tada prijunkite keturis vyriškus ir moteriškus trumpiklius nuo duonos lentos prie šviesos diodų juostos.

Galiausiai prijunkite žalio tranzistoriaus pagrindo kaištį prie pleišto 17 kaiščio, raudoną tranzistoriaus pagrindą prie 22 kaiščio ir mėlyną tranzistoriaus pagrindą prie 24 kaiščio.

8 žingsnis: bandymas

Testavimas
Testavimas

Žiniatinklio naršyklėje eikite į „Pi“IP adresą ir po jo parašykite /main.html

Pasirinkite spalvą ir nustebinkite „šiuolaikinių technologijų stebuklais“!

9 žingsnis: susisiekite su manimi, jei turite klausimų/atsiliepimų

Jei turite klausimų ar pasiūlymų, nedvejodami palikite komentarą arba parašykite man DM ir aš pasistengsiu kuo greičiau atsakyti.

Sėkmės!

Rekomenduojamas: