Kaunas, Eiguliai, darželis, dailė, šokiai, elektronika, 486DX, LŽŪU, linux, fotografija, dviratis, automobiliai, akvariumai, žmona, dukra...

28th
NOV

Protingas namas. 2 Dalis. Apšvietimo valdymas.

Parašė dinux kategorijoje Linux, Protingas namas

Iškarto sakau, nebuvo minties valdyti kambarių apšvietimo, tame prasmės aš nematau. Pažaisčiau pats, parodyčiau draugams tuom viskas ir pasibaigtu.

Tikslas buvo kiemo apšvietimo valdymas. Namo perimetre yra 10W “senukiniai” LED žibintai, parkavimosi vieta apšviesta 20W LED žibintu. Ir statybininkai visiems nameliams sustatė ~50cm aukščio žibintus su 5W LED lemputėmis. Taip pat statytojas pasirūpino, kad 5W žibintas automatiškai užsidegtu nusileidus saulei (ant stogo yra šviesos imtuvas). Visi kiti šviestuvai jau mano paties montuoti.

Visų žibintų maitinimas paimtas nuo minėto šviesos daviklio, o tai reiškia, kad ir labai norit, šviesiu paros metu žibintai nedega.

Viskas pajungta nuo Raspberry gpio pin’ų (jungčių). Naudotas rėlių blokas iš Kinijos. Buvo minčių bloką lituotis pačiam, bet perkant detales pvz Lemonoj, vien jos kainuoja daugiau nei gatavas produktas.

Programinė įranga ir kaip viską valdau. GPIO išvadus labai paprasta valdyti su WiringPi. Aš naudoju Archlinux, tad šį paketą instaliuoju:

sudo pacman -Sy wiringpi

Pasinaudodami gpio komanda pasižiūrime ką turime išvaduose:

[dinux@alarmpi ~]$ gpio readall
 +-----+-----+---------+------+---+-Model B1-+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   0 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5V      |     |     |
 |   1 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 |  OUT | 0 |  7 || 8  | 1 | ALT0 | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 1 | ALT0 | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 |   IN | 0 | 11 || 12 | 1 | IN   | GPIO. 1 | 1   | 18  |
 |  21 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | OUT  | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI |  OUT | 1 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO |  OUT | 1 | 21 || 22 | 0 | OUT  | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK |  OUT | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+-Model B1-+---+------+---------+-----+-----+

Rėlių valdymui panaudojau pin’us pagal BCM 10, 9, 11, pagal wPi 12, 13, 14
Pagal nutylėjimą šie pin’ai (jei neklystu) buvo IN todėl jų rėžimą keičiu

gpio mode 12 out
gpio mode 13 out
gpio mode 14 out

Po šių komandų mano minėti pin’ai jau dirba kaip išėjimas (taip kaip parodyta aukščiau esančioje lentelėje)

Norint įjungti/išjungti rėlę pajungta prie wPi 12 kontakto, naudojame:

gpio write 12 1
# arba
gpio write 12 0

Jungimo schema taip pat labai paprasta. +5V ir GND paimiau nuo laisvų GPIO išvadu, valdymo signalas jau ankščiau minėti pin’ai. Įtampai ir signalams perduoti naudojau UTP kabelį (atstumas ~1 metras) prie jo galų litavau Dupont cable jumeper

Vis dėlto, vienoje vietoje buvau strigęs. Atrodo viskas sujungta gerai, signalas ateina (indikacinis LED užsidega), bet rėlė nesuveikia. Pasirodo problema buvo vienas blogas kabeliukas ir būtent GND. Pakeitus jį jau netik indikacinis LED užsižiebdavo, bet ir rėlė suveikdavo.

imgp3647-pef_6cbkryimgp3649-pef_r1lbryimgp3655-pef_8q5dryimgp3656-pef_gjnoryimgp3658-pef_3587qyimgp3659-pef_2g3qry

Na ir žemiau video. Tiesa prastokos kokybės, bet esmė yra parodoma.

Skaitytojų komentarai

  1. Sup |

    Kaip padarei valdymą telefonu?

  2. dinux |

    Programą rašiau pats. Naudojau android-studio (tai mano pirma ir kol kas vienintelė androidinė programa). Serveris (raspberry pi + lighthttpd). Programa duomenis gauna XML formatu, atiduoda į serverį POST metodu.

  3. Sup |

    Šaunu!

    Šiuo metu darau kažką panašaus.

Palik komentarą

  Wordpress Theme Protected By Wp Spam Blocker

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close