Domáce senzory pre arduino. Inteligentný dom založený na Arduine: pokyny na montáž krok za krokom. Aké riešenia ponúka Arduino?

Dobré popoludnie, dnes sa podelím o návod na výrobu hodín s izbovým teplomerom ( Urob si sám hodiny na arduino). Hodiny poháňa Arduino UNO a na zobrazenie času a teploty sa používa grafická obrazovka WG12864B. Ako snímač teploty - ds18b20. Na rozdiel od väčšiny iných hodín nebudem používať RTS (Real Time Clock), ale pokúsim sa zaobísť bez tohto prídavného modulu.

Obvody Arduino sa vyznačujú jednoduchosťou a každý sa môže začať učiť Arduino. O tom, ako prepojiť knižnice a flash arduino, si môžete prečítať v našom článku.

Začnime.

Na vytvorenie týchto hodín potrebujeme:

Arduino UNO (alebo akékoľvek iné Kompatibilné s Arduino zaplatiť)
- Grafická obrazovka WG12864B
- Snímač teploty ds18b20
- Rezistor 4,7 Kom 0,25 W
- Rezistor 100 ohm 0,25 W
- Priestor na batérie pre 4 batérie AA
- Zodpovedajúca škatuľka
- malý súbor
- lak na nechty (čierna alebo telová farba)
- Nejaký tenký plast alebo lepenka
- Izolačná páska
- Spojovacie vodiče
- Obvodová doska
- Gombíky
- spájkovačka
- Spájka, kolofónia
- Obojstranná lepiaca páska

Príprava grafickej obrazovky.
S pripojením obrazovky na prvý pohľad existuje veľa problémov a ťažkostí. Ale ak sa najprv vysporiadate s ich typmi, bude to oveľa jednoduchšie a prehľadnejšie. Na ovládači ks0107/ks0108 existuje veľa druhov a typov obrazoviek. Všetky obrazovky sú zvyčajne rozdelené do 4 typov:
Možnosť A: HDM64GS12L-4, Crystalfontz CFAG12864B, Sparkfun LCD-00710CM, NKC Electronics LCD-0022, WinStar WG12864B-TML-T
Option B: HDM64GS12L-5, Lumex LCM-S12864GSF, Futurlec BLUE128X64LCD, AZ Displays AGM1264F, Displaytech 64128A BC, Adafruit GLCD, DataVision DG12864-88, Topway LM12864LDW, Digitron SG12864J4, QY-12864F, TM12864J4, QY-12864F, TM12864F
Možnosť C: Shenzhen Jinghua Displays Co Ltd. JM12864
Možnosť D: Wintek- Cascades WD-G1906G, Wintek - GEN/WD-G1906G/KS0108B, Wintek/WD-G1906G/S6B0108A, TECDIS/Y19061/HD61202, Varitronix/MGLS19202/HD

Zoznam nie je úplný, je ich veľa. Najbežnejší a podľa môjho názoru pohodlný WG12864B3 V2.0. Displej je možné pripojiť k Arduinu cez sériový alebo paralelný port. Pri použití s ​​Arduino UNO je lepšie zvoliť pripojenie podľa sériový port- potom potrebujeme len 3 výstupy mikrokontroléra, namiesto aspoň 13 liniek pri pripojení cez paralelný port. Všetko je prepojené úplne jednoducho. Je tu ešte jedna nuance, v predaji nájdete dve možnosti zobrazenia, so vstavaným potenciometrom (na nastavenie kontrastu) a bez neho. Vybral som si a radím vám to isté, so vstavaným.


Tým sa znižuje počet dielov a čas spájkovania. Na podsvietenie sa tiež oplatí umiestniť 100 ohmový odpor obmedzujúci prúd. Pri priamom zapojení 5 voltov hrozí spálenie podsvietenia.
WG12864B - Arduino UNO
1 (GND) - GND
2 (VCC) - +5V
4 (RS) - 10
5 (R/W) - 11
6(E)-13
15 (PSB) - GND
19 (BLA) - cez odpor - + 5V
20 (BLK) - GND

Najpohodlnejším spôsobom je toto všetko zostaviť na zadnej strane obrazovky a priviesť z nej 5 vodičov na pripojenie k Arduino UNO. Nakoniec by to malo vyzerať asi takto:


Pre tých, ktorí si predsa len zvolia paralelné pripojenie, dám tabuľku zapojenia.

A diagram pre obrazovky možnosti B:



Na jednu komunikačnú linku je možné pripojiť viacero senzorov. Na naše hodinky stačí jeden. Pripojíme drôt z kolíka „DQ“ ds18b20 k „kolíku 5“ Arduino UNO.

Príprava dosky s gombíkmi.
Na nastavenie času a dátumu na hodinách nám poslúžia tri tlačidlá. Pre pohodlie pripájame tri tlačidlá na doske plošných spojov a vyvádzame vodiče.


Zapájame nasledovne: drôt spoločný pre všetky tri tlačidlá pripojíme k „GND“ Arduinu. Prvé tlačidlo, slúži na vstup do režimu nastavenia času a prepínanie podľa času a dátumu, pripojíme na "Pin 2". Druhé tlačidlo na zvýšenie hodnoty na „Kolík 3“ a tretie tlačidlo na zníženie hodnoty na „Kolík 4“.

Dávať všetko dokopy.
Vyhnúť sa skrat, obrazovka by mala byť izolovaná. V kruhu obalíme elektrickou páskou a ďalej späť upevnite na obojstrannú pásku, narezanú na veľkosť, tyč z izolačného materiálu. Postačí hrubý kartón alebo tenký plast. Použil som plast z papierovej tablety. Ukázalo sa nasledovné:


Na prednú stranu obrazovky pozdĺž okraja nalepíme obojstrannú pásku na penovú základňu, najlepšie čiernu.


Pripojenie štítu k Arduinu:


Pripojíme plus z priestoru pre batérie k „VIN“ Arduina, mínus k „GND“. Umiestnite ho na zadnú stranu Arduina. Pred inštaláciou do puzdra nezabudnite pripojiť snímač teploty a dosku tlačidiel.


Príprava a vyplnenie náčrtu.
Snímač teploty vyžaduje knižnicu OneWire.

Výstup obrazovky sa vykonáva prostredníctvom knižnice U8glib:

Ak chcete upraviť a vyplniť skicu, musíte nainštalovať tieto dve knižnice. Dá sa to urobiť dvoma spôsobmi. Stačí rozbaliť tieto archívy a rozbalené súbory umiestniť do priečinka „knižnice“, ktorý sa nachádza v priečinku s nainštalovaným Arduino IDE. Alebo druhá možnosť je nainštalovať knižnice priamo v programovacom prostredí. Bez rozbaľovania stiahnutých archívov v Arduino IDE vyberte ponuku Sketch - Include Library. Úplne hore v rozbaľovacom zozname vyberte možnosť Pridať knižnicu .Zip. V zobrazenom dialógovom okne vyberte knižnicu, ktorú chcete pridať. Znova otvorte ponuku Náčrt - Zahrnúť knižnicu. Úplne dole v rozbaľovacej ponuke by ste mali vidieť nová knižnica. Teraz môže byť knižnica použitá v programoch. Po tomto všetkom nezabudnite reštartovať Arduino IDE.

Teplotný senzor pracuje podľa protokolu One Wire a pre každé zariadenie má jedinečnú adresu – 64-bitový kód. Nie je praktické tento kód zakaždým hľadať. Preto musíte najskôr pripojiť senzor k Arduinu, vyplniť ho skicou umiestnenou v menu Súbor - Príklady - Teplota Dallasu - OneWireSearch. Ďalej spustite Nástroje - Monitor portov. Arduino by malo nájsť náš senzor, zapísať jeho adresu a aktuálne hodnoty teploty. Skopírujeme alebo jednoducho zapíšeme adresu nášho senzora. Otvorte skicu Arduino_WG12864B_Term, vyhľadajte riadok:

Byte addr=(0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97);//adresa môjho senzora

Adresu vášho senzora napíšeme medzi zložené zátvorky, čím nahradíme adresu môjho senzora.

zásoby:

//u8g.setPrintPos(44, 64); u8g.print(s); // Výstup sekúnd na kontrolu správnosti pohybu

Slúži na zobrazenie sekúnd vedľa nápisu „Údaje“. To je potrebné na presné nastavenie priebehu času.
Ak sú hodiny rýchle alebo pozadu, mali by ste zmeniť hodnotu v riadku:

If (micros() - prevmicros >494000) ( // zmeňte na niečo iné a upravte to bolo 500000

Empiricky som určil číslo, pri ktorom sú hodiny dostatočne presné. Ak sú vaše hodiny rýchle, mali by ste toto číslo zvýšiť, ak zaostávate, znížte ho. Na určenie presnosti pohybu potrebujete výstup v sekundách. Po presnej kalibrácii čísla môžu byť sekundy komentované a tým odstránené z obrazovky.

Integrované systémy riadenia pre inžiniersku komunikáciu obydlia, známe ako „ Inteligentný dom získavajú čoraz väčšiu obľubu. Rozsiahlejšiemu zavedeniu týchto systémov bránia skôr vysoké náklady na komponenty prvky a montážne práce. Inteligentná domácnosť na báze Arduina je riešením, ktoré je celkom dostupné pre každého, kto sa aspoň trochu orientuje v elektronike.

Čo je Arduino

Arduino je značka, pod ktorou hardvér a softvér pre nezávislú konštrukciu automatizačných a diaľkových riadiacich systémov.

V skutočnosti ide o modulárny konštruktor so širokou škálou možností. Hardvér Arduino je veľký sortiment dosiek plošných spojov, na ktorých sú usporiadané rôzne senzory, pohony a rozširovacie dosky. Jadrom systému je dosky s programovateľnými mikrokontrolérmi rôzne úrovne obtiažnosť od Arduino Pro Mini po Arduino Mega. Rozširujúce dosky umožňujú využívať veľké množstvo externých zariadení.

Na malom vytlačená obvodová doska je nainštalovaný mikrokontrolér, niektoré diskrétne prvky, kremeň a rôzne druhy konektory vrátane zvislých kolíkov, pomocou ktorých sa zostavujú regálové konštrukcie s pridaním rozširujúcich kariet. Čipy Atmega sa používajú ako mikrokontroléry. Rozhoduje typ ovládača funkčnosť poplatky v závislosti od počtu vstupov a výstupov.

Tak rozšírený modulArduino Unos mikrokontroléromAtmega328 má nasledujúce vlastnosti:

  • Digitálny vstup/výstup - 14
  • Z toho je 6 PWM
  • Analógové vstupy - 6
  • Pamäť - 32 KB
  • Napájanie - 7-12 V
  • Cena - 950 rubľov

Digitálne kontakty možno naprogramovať na vykonávanie špecifickej funkcie. Môže to byť vchod alebo východ. Tieto vstupy/výstupy môžu pracovať so zariadeniami, ktoré na svoju činnosť vyžadujú dve úrovne. Toto je logická jednotka alebo úroveň blízka napájaciemu napätiu a logická nízka úroveň zodpovedajúca nule. Zapnuté digitálnych vstupov možno pripojiť dvojúrovňové snímače. Patrí medzi ne pár magnet-jazýčkových spínačov. Tento senzor reaguje na otvorenie dverí a okien. Na tomto princípe funguje mnoho senzorov signalizácie vlámania a požiaru.

Digitálne výstupy môžu ovládať činnosť elektromagnetických relé, ktoré zase zapínajú a vypínajú sieťové zásuvky, ku ktorým sú pripojené rôzne domáce spotrebiče. Smart od Arduina bude stáť oveľa menej ako hotová priemyselná súprava.

Analógové vstupy cez analógovo-digitálne prevodníky prenášajú do regulátora informácie o stave snímačov teploty, osvetlenia a niektorých ďalších zariadení. Porovnaním hodnôt snímačov s príkazmi uloženými v pamäti môže centrálna jednotka systému ovládať zariadenia, kde je potrebná hladká zmena výkonu. Šesť výstupov pripojených k modulátoru šírky impulzov umožňuje plynulé riadenie výkonu záťaže. Napríklad upravte jas lampy, upravte teplotu ohrievača alebo ovládajte otáčky elektromotora.

najviac výkonná a multifunkčná doska tejto rady je Arduino Mega. Namontované na PCB ovládačAT mega 2560 , diskrétne prvky, USB konektor pre napájanie. Doska má 54 univerzálnych kontaktov, ktoré je možné naprogramovať na vykonávanie I/O funkcií. 14 z nich dokáže ovládať analógové zariadenia pomocou pulznej šírkovej modulácie. 16 analógových vstupov je navrhnutých na pripojenie akýchkoľvek analógových zariadení.

riadiaca doska Arduino Mega náklady do 1 500 rubľov. Najjednoduchší spôsob, ako to naprogramovať, je pomocou osobný počítač cez USB port.

Periférne moduly pre Arduino

Riadiaca doska je jadrom systému, ale nemôžete k nej pripojiť žiadne zariadenia. Výstupy majú malú zaťažiteľnosť a obmedzený prúd. Organizovať systém riadenia domáce prístroje budú potrebné externé napájacie moduly, komunikačné zariadenia a ďalšie zariadenia. To nie je problém, pretože pre Arduino ovládače bolo vyvinutých veľké množstvo periférnych modulov.

Tu je len niekoľko z nich:

  • Analyzátor plynu - MQ-2
  • Svetelný senzor - 2CH-Light-2
  • Externý snímač teploty - DS18B20-PL
  • Snímač izbovej teploty a vlhkosti – DHT-11
  • Ovládače motora - L298N, L9110
  • Reléové moduly - 1ch5V, 4ch5V
  • modul diaľkové ovládanie IC2262/2272

Senzor, ktorý deteguje únik plynu v miestnosti, reaguje na propán a bután, ktoré sú súčasťou domáceho plynu. Modul má nastavenie citlivosti a analógové/digitálne výstupy. Svetelný senzor môže byť súčasťou automatizovaný systém ovládanie svetla. Pozostáva z dvoch nezávislých kanálov s individuálne nastaviteľnou citlivosťou. Snímač vonkajšej teploty je určený na prevádzku pri teplotách od -55 do +125 stupňov. Snímač izbovej teploty a vlhkosti je určený pre . Teplotný rozsah od 0 do +55 0 С a vlhkosť od 20 do 90%.

Keďže napájacie napätie modulov Arduino leží v rozsahu od 7 do 12 voltov, na organizáciu bezpečnostného alebo požiarneho poplachu je možné použiť akékoľvek štandardné senzory, ktoré majú rovnaké prevádzkové úrovne.

Vodiči motorov umožňujú ovládať jednofázové, dvojfázové, štvorfázové a krokové motory. Pomocou takýchto zariadení môžete otvárať a zatvárať žalúzie alebo závesy. Servopohony pripojené k ovládačom umožňujú regulovať prietok chladiacej kvapaliny vo vykurovacích radiátoroch. Reléové kľúče sú v systéme "Smart Home" nepostrádateľné. Relé riadené potenciálom logickej jednotky +5 voltov umožňujú spínanie záťaže v obvodoch striedavého prúdu do 10 ampérov pri napätiach do 250 voltov.

S ich pomocou môžete zapínať a vypínať elektrické zásuvky, elektrické čerpadlá a iné systémy.

Modul diaľkového ovládania pozostáva z diaľkového ovládania a prijímacieho zariadenia. Diaľkové ovládanie je vybavené štyrmi tlačidlami a zabezpečuje prenos príkazov do prijímacej jednotky na vzdialenosť až 100 metrov. Všetky periférne moduly majú rovnaké napájacie napätie a sú kompatibilné s akýmkoľvek mikrokontrolérom Arduino.

Organizácia systému "Smart Home".

Bez určitých zručností, vedomostí obvodové schémy a základy elektroniky, je lepšie nebrať systém "Smart Home" v plnom rozsahu.

Programovanie Arduino mikrokontroléry vykonávané v C/C++.

Ak chcete začať, môžete napísať najjednoduchšie programy, ktoré dokážu zapínať a vypínať LED alebo ovládať činnosť mikromotora. Existuje veľa príkladov takýchto programov. Používajú jednoduché operátory formulára: if, while, then a ďalšie. Umožňujú dokonca aj školákom písať programy. Keď sú prvé programy správne spustené, môžete sa pokúsiť zostaviť zložitejšie zariadenia, kde sa výstupy PWM použijú na plynulé ovládanie svetla.

Ak chcete vytvoriť „inteligentný dom“ na Arduine vlastnými rukami, musíte vypracovať technický projekt, ktorý bude uvádzať počet senzorov a ovládačov pre každú miestnosť. Môžete začať s jednou miestnosťou, kde bude implementovaných niekoľko jednoduchých funkcií. Niektoré z nich budú vykonávané signálmi z externých snímačov a niektoré signálmi časovača. Keď človek ráno vstane do práce, ovládač Arduino na signál časovača zapne rýchlovarnú kanvicu alebo kávovar. Ak je vonku tma, čo zaznamená vonkajší senzor, svetlo v miestnosti sa plynulo rozsvieti. Pohodlná izbová teplota sa dá nastaviť aj na spánok aj prebúdzanie.

Pre malý počet funkcií je vhodný mikrokontrolér Arduino Uno a sada periférnych modulov.

Na ovládanie domácich spotrebičov budete potrebovať reléové kľúče, ktoré zapínajú a vypínajú elektrické zásuvky. Na ovládanie svetla potrebujete detektor pohybu. Ak je inteligentný systém inštalovaný v kuchyni, je potrebné zabezpečiť automatické zapnutie digestory, snímač úniku plynu v domácnosti a snímač úniku vody. V miestnosti musí byť nainštalovaný detektor dymu ako prvok požiarnej signalizácie.

Záver

Arduino ovládač vám umožní dokončiť projekt inteligentnej domácnosti a splniť relatívne malú sumu. Ak vypočítame všetky náklady na vybavenie trojizbového bytu, potom je nepravdepodobné, že by suma presiahla 30-40 tisíc rubľov. Ak znížite počet funkcií, rozpočet bude ešte skromnejší.

Prešiel som okolo, pozerám a tu píšu zaujímavosti o rôznych domácich výrobkoch. Tiež som nedávno niečo urobil, dovoľte mi, myslím, napíšem, možno sa to niekomu bude hodiť, no, alebo to bude len zaujímavé. Hovoríme o hardvéri lacného senzora pre domácich majstrov na zabudovanie do panelov spínačov a zásuviek.

Ale poďme pekne po poriadku.

O automatizačný systém pre „Smart Home“ sa zaujímam už relatívne dlho. Teraz ich mám niekoľko rôznych systémov spojené do jedného. Existujú priemyselné aj domáce komponenty. Chcem hovoriť o poslednom domácom produkte.

Pred časom som na internete narazil na systém domácej automatizácie MySensors. Celkom pokročilý (a neustále sa ďalej rozvíjajúci) bezdrôtový systém založený na Arduino a nRF24L01+. Nie je to však o tom, kto má záujem - zdroj sa pozrie.

Hlavnými výhodami systému pre mňa bola dobrá softvérová podpora, obojsmerná komunikácia, dostupnosť komponentov a ich nízka cena.

Keď som sa dosť hral na doskách na chlieb, rozhodol som sa vyvinúť zariadenie, ktoré sa dá primerane integrovať do domáceho interiéru (nemôžete ignorovať WAF). Ukázalo sa zariadenie, ktoré sa dá spolu s ďalšími zapustiť do steny v štandardnej 63mm krabici.

Toto je prvá montáž, ďalšie sa pokúsim spresniť. Veľký otvor (pre svetelný senzor) bude zakrytý tyčou z plexiskla.

V polorozloženom stave to vyzerá takto:

Pohľad z druhej strany:

To všetko pozostáva z (čínskeho) 8MHz / 3,3V Arduino Pro Mini, rádiového modulu nRF24L01 +, pohybového senzora HC-SR510, senzora DHT22 (teploty a vlhkosti), svetelného senzora BH1750 a štandardnej zástrčky JUNG (môžete pravdepodobne použi iné, ako Gira, Berker, atď. Celkové náklady sú približne 15 dolárov.

PCB navrhol Eagle. Zdroje. Objednané z ITEADStudio, bolo to dobre urobené (až na ten hodváb, nápisy dopadli tak-tak).



Možno je písmo príliš malé a tenké. Na gerbere to vyzeralo dobre.



Počas procesu montáže sa zistili menšie nepríjemnosti, niečo by sa dalo vylepšiť, ale vo všeobecnosti je doska celkom použiteľná.

Nápad na tento projekt vznikol a zaujal ma počas mojej dovolenky.

Myšlienka znela asi takto: „Bolo by skvelé mať robotické rameno, ktoré by som mohol ovládať sám!“. A po nejakom čase som sa pustil do vývoja a realizácie tohto projektu. Dúfam, že sa vám bude páčiť!

Hlavnými komponentmi projektu sú rukavica a samotné robotické rameno. Arduino bolo použité ako ovládač. Pohyb robotického ramena zabezpečujú servomotory. Rukavica je vybavená snímačmi ohybu: premenlivými odpormi, ktoré menia svoju odolnosť voči ohybu. Sú pripojené na jednu stranu deliča napätia a pevných odporov. Arduino číta zmenu napätia, keď sú senzory ohnuté a posiela signál do servomotorov, ktoré sa otáčajú proporcionálne. Video pracovného projektu nájdete nižšie.

Dizajn ramena je prevzatý z open-source projektu InMoov. Na stránke projektu si môžete stiahnuť 3-D modely všetkých uzlov a vytlačiť ich na 3-D tlačiarni.

Nižšie sú uvedené všetky kroky na implementáciu vlastného robotického ramena ovládaného rukavicou.

Potrebné materiály

Pre projekt budete potrebovať:

Všetky! Môžete začať svoj projekt robotického ramena!

Tlačenie ruky

Ruka je súčasťou open-source projektu s názvom InMoov. Ide o robota, ktorý je vytlačený na 3-D tlačiarni. Ruka je len samostatnou jednotkou celkového dizajnu. Stiahnite si z tejto stránky a vytlačte si nasledujúce podrobnosti:

Auriculaire3.stl

WristsmallV3.stl

Pre každý prípad pripájam rozklikávací zoznam dielov, pretože niektoré boli z hlavnej stránky projektu odstránené.

RobCableFrontV1.stl

RobRingV3.stl (v tejto časti som musel urobiť ďalšie otvory, aby sa do nich zmestili moje servá)

RobCableBackV2.stl

RobServoBedV4.stl

(Ide o dve "oplášťovacie" časti - nie sú potrebné z hľadiska tuhosti konštrukcie a jej fungovania)


Celkovo trvala tlač približne 13-15 hodín. Závisí od kvality tlače. Použil som MakerBot Replicator 2X. Odporúčam vytlačiť detaily prstov na štandardné resp s vysokým rozlíšením aby sa zabránilo nežiaducemu treniu v konštrukcii.


Pripojenie snímačov ohybu k Arduinu

Na pripojenie snímačov ohybu k Arduinu musíme do obvodu zaradiť napäťový delič. Ohybové snímače sú v podstate premenlivý odpor. Pri použití v tandeme s pevným odporom je možné sledovať rozdiel v napätí medzi týmito dvoma odpormi. Rozdiel môžete sledovať pomocou analógových kolíkov Arduino. Schéma zapojenia je znázornená nižšie (červený konektor je napätie, čierny je uzemnenie, modrý je konektor samotného signálu, ktorý je pripojený k analógovému vstupu Arduino).


Rezistory na fotografii majú hodnotu 22 kOhm. Farby vodičov zodpovedajú farbám zobrazeným v schéme zapojenia.

Všetky piny GND zo snímačov sú pripojené na spoločnú zem. Uzemnenie ide na kolík GND na Arduine. +5V na Arduine je pripojených na spoločný napájací pin zo všetkých senzorov. Každý modrý signálový konektor sa pripája k samostatnému analógovému vstupu na mikrokontroléri.




Obvod som zostavil na malej doske plošných spojov. Je vhodné zvoliť menšie rozmery dosky, aby ste ju mohli ďalej fixovať na rukavici. Náš zostavený obvod môžete upevniť na rukavici pomocou elementárnej nite a ihly. Okrem toho nebuďte leniví a okamžite použite elektrickú pásku na holé kontakty.




Inštalácia senzorov na rukavice

Môžeme začať inštalovať senzory a našu dosku plošných spojov na samotnú rukavicu. Najprv vyvŕtajte malý otvor do plastu snímačov. V miestach, kde končil snímací prvok, sú vyvŕtané otvory. DÔLEŽITÉ! Nikdy nevŕtajte dieru do citlivého materiálu. Potom si nasaďte rukavicu. Na vrchu každého spoja urobte značky ceruzkou alebo perom. Tieto miesta využijete na montáž senzorov. Snímače ohybu sú pripevnené bežným závitom. Prišite senzory k rukavici. Použite otvor, ktorý ste vytvorili na koncoch snímača. V miestach označenia spojov sú snímače „zachytené“ závitom na vrchu. To všetko je podrobnejšie znázornené na fotografii nižšie. Doska plošných spojov je prišitá k rukavici podobne ako snímače. Upozorňujeme, že pre pohyb prstov je potrebné ponechať určitú rezervu dĺžky vodičov. Toto je potrebné vziať do úvahy pri inštalácii našej dosky plošných spojov a výbere dĺžky konektorov z nej k snímačom.






O tomto kroku sa nebudem rozpisovať. Veľmi podrobne sa tomu venuje na webovej stránke InMoov (v časti „Náčrty zostavy“ a „Pomocník pri zostavovaní“):

Pri zostavovaní ruky sa uistite, že sú uzly správne nainštalované z hľadiska orientácie v priestore. Nezabudnite vyvŕtať otvory do prstov ramena robota pre 3 mm upevňovacie prvky, aby ste znížili trenie medzi kĺbmi. Z vonkajšej strany som skrutky naplnil lepidlom.


S inštaláciou rybárskeho vlasca sa neponáhľajte. Najprv skontrolujte činnosť servomotorov.

Test servomotora

V tomto bode by už servá mali byť nainštalované v zadnej časti vášho robotického ramena. Na pripojenie serva k Arduinu a napájanie som použil malú doštičku. Pripojte každý kladný kolík servomotora (červený) k jednej koľajnici doštičky a záporný kolík (čierny alebo hnedý) k druhej koľajnici.

DÔLEŽITÉ! Nezabudnite pripojiť kolík Arduina k zápornej koľajnici: nezabudnite, že všetky uzemňovacie kolíky musia byť spojené dohromady. Pin VCC sa môže pripojiť k rôznym zdrojom napájania, ale GND musí byť rovnaké.

Nahrajte program do Arduina (súbor s programom je priložený). Uistite sa, že pripojenie snímačov, servomotorov atď. Bolo to správne. Nasaďte si rukavicu a zapnite Arduino. Servomotory by sa mali otáčať podľa toho, ktorým prstom pohnete. Ak sa servá pohybujú, potom všetko funguje!


Ak ste skúsenejší používateľ Arduina a viete, ako skontrolovať aktuálne hodnoty zo snímačov ohybu, môžete si rozsah v programe upraviť tak, aby vyhovoval vašej realite. Predpokladám, že všetky snímače ohybu sú približne rovnaké, ale ak to tak nie je, určite vám pomôže kalibrácia snímačov.

Ak servá nefungujú správne, uistite sa, že ich správne zapojíte (napríklad, keď som pracoval na tomto projekte, zabudol som pripojiť GND pin Arduina ku GND napájacieho zdroja a všetky servá ako obvykle V tomto prípade nebude nič fungovať). Pred pokračovaním sa uistite, že všetko funguje.

Pridanie rybárskeho vlasca

Pridanie vlasca je pravdepodobne najťažšia a najzodpovednejšia časť projektu robotického ramena. Web InMoov má na to pokyny. Koncept je jednoduchý, no implementovať ho v praxi nie je také jednoduché. Upozorňujeme, že táto časť projektu si vyžaduje sústredenie a trpezlivosť. Jediný rozdiel medzi mojou verziou a dizajnom InMoov je použitie lepidla. Vďaka tomu môžeme získať možnosť viacerých nastavení špongie pri kalibrácii serv. Na to stačí roztaviť lepidlo a utiahnuť skrutky, ktoré potrebujeme. Aj keď, samozrejme, spoľahlivosť dizajnu klesá. Nakoniec po finálnej úprave a kalibrácii môžeme kedykoľvek použiť inú možnosť fixácie.

Ak chcete kalibrovať servá, otočte rotory tak, aby prsty robotického ramena boli na stole. Pripojte svoje Arduino a napájací zdroj. Hnacie vahadlá nastavte tak, aby v úplne "ľahom" stave ramena bolo napätie maximálne.


Vysvetlenie procesu kalibrácie je dosť ťažké. Navyše mi nevyhovoval napríklad návod s InMoov. To znamená, že pri upevňovaní musíte ukázať predstavivosť a prispôsobiť sa svojej realite - ako sú: typ hojdacích kresiel, typ vlasca alebo závitu, konštrukčné a montážne chyby, vzdialenosť inštalácie servomotorov vzhľadom na kĺby robotické rameno.

Našťastie je to posledná fáza projektu!

Doslov


Napriek tomu, že existujú oveľa zložitejšie a presnejšie (a tiež drahšie) návrhy, vyššie uvedený projekt je veľmi zaujímavý a má výborný potenciál pre praktické využitie. Takéto návrhy by sa nemali používať v priamom kontakte s osobou z dôvodu nepresnosti samotného konceptu. Ale priemysel, medicína atď. pre úlohy bez zvýšených požiadaviek na presnosť kĺbových pohybov je naše robotické rameno celkom vhodné. No z pohľadu ďalšieho "upgradu" ruky - tu je pole celkovo neorané. Začať z bezdrôtové ovládanie končiac výmenou pohonov, rozmerov, vývojom ďalších stupňov voľnosti.

To je dôvod, prečo milujem Arduino: môžete si veľmi rýchlo a za málo peňazí postaviť maketu alebo prototyp zariadenia, ktoré sa nielen ľahko naprogramuje, ale dokáže aj skutočne zaujímavé úlohy.

Nechajte svoje komentáre, otázky a zdieľajte osobná skúsenosť nižšie. V diskusii sa často rodia nové nápady a projekty!

Už dlho som chcel automatizovať proces sušenia kúpeľne po kúpaní. Mal som veľa recenzií na tému vlhkosť. Rozhodol som sa implementovať (takpovediac) jeden zo spôsobov, ako sa s tým vysporiadať. Mimochodom, v zime sušíme oblečenie v kúpeľni. Stačí zapnúť odsávací ventilátor. Ale sledovanie ventilátora nie je vždy praktické. Preto som sa rozhodol vložiť automatizáciu na tento prípad. Prvá skúsenosť s implementáciou bola neúspešná. Recenzia bola. Ale nevzdal som sa...

Keď som sa presťahoval do nového bytu, takmer okamžite som dal do kapoty ventilátor so spätným ventilom. Na vysušenie kúpeľne po kúpaní je potrebný ventilátor. Aby sa do bytu nedostali cudzie pachy od susedov (keď je ventilátor tichý), je potrebný spätný ventil. To sa stáva. Všetky vetracie kanály sú individuálne, ale cement sa pri pokladaní zrejme šetril. Pravdepodobne zápach prechádza cez trhliny.
Fanúšikovia Mám rôzne možnosti. Existujú jednoduché, sú s časovačom (úprava časového intervalu), ako na fotografii.


To je to, čo používam dodnes.
V tomto konkrétnom prípade (kto nemá ventilátor s časovačom) sa dá všetko urobiť na softvérovej úrovni.
Keďže bývam v byte „mravenisko“, jediné miesto na sušenie prádla je balkón. V kúpeľni môže vyblednúť. Sušenie vyžaduje buď nízku vlhkosť, alebo cirkuláciu vzduchu. Splnenie oboch podmienok je najlepšou možnosťou. Tento problém mal vyriešiť ventilátor. Spočiatku presne to robil. Hlavná vec je nezabudnúť ho vypnúť. Počas chodu ventilátora je potrebné mierne pootvoriť okno. Potrebujete pripomenúť školský problém s bazénom a dvoma rúrami? Aby vzduch mohol ísť do digestora, je potrebné, aby sa odniekiaľ dostal do bytu. Kto má drevené okná, nie plastové, problémy nebudú. Dosť prasklín. Ale s plastom sa byt zmení na terárium.
Vtedy som začal uvažovať o automatizácii procesu. Preto som objednal senzory.
O smutnú skúsenosť z realizácie môjho nápadu som sa už podelil. Tu je ten modul. V PRINCIPLE to nemôže fungovať. Ale nezostane nič. A bude využitý.


(Napätie zdroja: 5V. Maximálne zaťaženie: 10A 250V AC a 10A 30V priamy prúd). Používam ho ako relé box. Pre bežného fanúšika to stačí.
Nakreslil som aj schému modulu. Nebudú žiadne problémy s pripojením.


Červená LED indikuje prítomnosť napájacieho napätia. Zelená - aktivácia relé. Zbytočný snímač (snímač vlhkosti, už neexistuje) som vymenil za odpor 10kΩ. A tiež pridal väčší odpor. Prejde do "inteligentného" bloku. Obe zvýraznené červenou farbou. To všetko by malo eliminovať prípadné nedorozumenia. Koniec koncov, reléová jednotka je napájaná napätím 5 V a „inteligentná“ jednotka je napájaná 3,3 V. Reléový blok je riadený nízkou úrovňou. Vysoká úroveň vypne relé (ventilátor). Firmvér to zohľadňuje.
Obvod je založený na komparátore na LM393. Trimrový odpor bol pôvodne navrhnutý na nastavenie prahovej hodnoty pre spínač vlhkosti. Možno bude potrebné trochu otočiť.
Môže byť použité jednoduché bloky relé. Sú na predaj. Využijem to, čo zostalo po poslednom neúspešnom pokuse.
Je čas pozrieť sa, v akej forme dorazili senzory AM2302 (DHT22). Objednal som si tri naraz. Nemyslím si, že je to obmedzené na kúpeľňu. V mojej hlave je veľa nápadov. Kde len nájsť čas a chuť ich realizovať.


Senzory boli zapečatené v antistatických vreckách. Všetko v mysli. Spájkovanie je čisté. Nároky na vzhľad Nemám. Dokonca aj doska je umytá.


Na stránke obchodu sa píše:

AM2302 Humicap digitálny modul teploty a vlhkosti je digitálny výstupný signál obsahujúci kalibrovaný kombinovaný snímač teploty a vlhkosti. Používa špeciálnu technológiu snímania digitálnych modulov a technológiu snímačov teploty a vlhkosti, aby sa zabezpečila vysoká spoľahlivosť a vynikajúca dlhodobá stabilita. Senzor obsahuje kapacitný prvok na snímanie vlhkosti a vysoko presné zariadenia na meranie teploty s pripojeným vysoko výkonným 8-bitovým mikrokontrolérom. Preto má výrobok vynikajúcu kvalitu, rýchlu odozvu, schopnosť proti rušeniu, vysoké náklady a ďalšie výhody. Ultra malá veľkosť, nízka spotreba energie, vzdialenosť prenosu signálu až 20 metrov. Vďaka tomu je najlepšou voľbou pre všetky druhy aplikácií a dokonca aj tie najnáročnejšie aplikácie.
špecifikácia:
Rozmer: 40 x 23 mm
Hmotnosť: 4g
Napätie: 5V
Port: digitálna obojsmerná jednosmerná zbernica
Teplotný rozsah: -40-80 °C ± 0,5 °C
Vlhkosť: 20-90 % RH ± 2 % RH
Platforma: Arduino, SCM
Balenie obsahuje:
3 x Senzorový modul
Minimálne na doske súčiastok. Senzory sú nerozoberateľné, nezlomené.
Je čas pustiť sa do práce. Časť toho, čo použijem, som už ukázal. Potrebujem aj 5V zdroj. Vyrobím zo starej (už nepotrebnej) nabíjačky k telefónu.

Táto nabíjačka nemá USB port. No, je to veľmi staré (odporúčam použiť novšie, majú 5V výstup). Preto je výstup 7V. Musel som prispájkovať MC stabilizátor KREN5. V tomto nie je nič ťažké. Kto sa kamaráti s spájkovačkou, ten vie. A kto nie je kamarát, márne číta tému.


Neboj sa, urobil som provizórium. Po odladení mechanizmu bude všetko vyzerať slušne. Možno vymením nabíjačku. Všetko závisí od výsledku, s ktorým prídem do cieľa. Po „komplexnom testovaní“ ho nainštalujem lokálne (natrvalo). Možno budete musieť použiť zimnú / letnú verziu softvér. Charakteristiky teploty a vlhkosti vzduchu v zime/v lete sú rôzne.
Potrebujem aj WIFI modul z predchádzajúcej recenzie.


Užitočný konvertorový kábel (USB To RS232 TTL UART) pre Programovanie WIFI modul.


Bloková schéma môjho nápadu vyzerá jednoducho.


Ale samozrejme existujú nuansy.
Zostáva urobiť program na ovládanie ventilátora.
Niekoľko podmienok:
1. Ventilátor sa zapne, keď vlhkosť dosiahne viac ako 68%.
2. Pracovný čas (časovač) 5 minút.
3. Prenos údajov o teplote a vlhkosti cez WIFI (pre každý prípad).
4. Indikácia režimu pomocou WIFI.
Ak sa zastavíte pri podmienke číslo 1, tak vám postačí najjednoduchšie Arduino. Ale mám len jednu dosku Arduino a sú tam tri WIFI moduly :)
Pre mňa osobne je najťažším miestom príprava programu, trochu (mierne povedané) nie je mojou témou. Ale život plynie a unáša vo svojom priebehu stále viac a viac más ľudí. Rozsiahle rozlohy Arduina pochopím na príklade snímača vlhkosti DHT22 a modulu WIFI. Ale ak som uspel ja, môžete aj vy.
Najprv pár informácií pre hlupákov ako som ja.
V nastaveniach tých dosiek, ktoré budem používať, chýba program Arduino IDE. Napríklad je potrebné pridať ESP8266.

Pridávanie komponentov na príklade ESP8266.

Najprv som si stiahol a nainštaloval Arduino IDE do počítača. Potom spustím program.
Súbor → Nastavenia → Vložiť odkaz do pridania. odkazy → kliknite na tlačidlo OK. odkaz:



Vyžaduje si to internetové pripojenie. Nevyhnutne!
Potom idem za riaditeľom predstavenstva.
Nástroje→Nástenka:...→Správca nástenky.


Hľadá sa môj modul vyberám si Najnovšia verzia. Kliknem na inštaláciu.


V stiahnutom programe Arduino IDE tiež chýbajú knižnice pre senzory. Pribudnúť treba napríklad aj knižnicu DHT22.

Pripojenie knižnice pomocou snímača DHT22 ako príklad.

Najprv si z internetu stiahnem archív ako DHT.zip. Nájsť nie je problém.
Potom bežím Program Arduino IDE.
Skica → Zahrnúť knižnicu → Pridať knižnicu zip.


Zobrazí sa karta podobná tejto.


Zadajte umiestnenie úložiska…Otvoriť.
Knižnica je pripojená.


Zostáva málo čo robiť :)
Schéma zapojenia snímača vlhkosti sa môže líšiť. Môj prišiel ako modul s tromi kolíkmi a odpormi už nainštalovanými na doske.

A nakoniec vyplnenie náčrtu.

Výplň náčrtu.

Otváram hotový náčrt. V mojom prípade „WiFi-DHT22_AleksPoroshin68.ino.


Arduino IDE sa spustí automaticky.
Potom pripojím programátor, prejdem k nástrojom a pripojím Com-port. Ten, ku ktorému je pripojený, je zvýraznený. aktivujem to. Na mojom netbooku sú tri: toto sú com6, com8 a com10.


Učím sa firmware. Môžete zmeniť prístupové meno a heslo.

Kliknem na tlačidlo sťahovania.


Náčrt sa zostavuje. Dosť dlhý.


V tomto okamihu musíte stlačiť tlačidlo reset zostavený obvod modul.

Zároveň je GPIO 00 na nule.
Tu je samotná skica:
#include #include #include #include #include "DHT.h" #define DHTPIN 4 #define DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); float dhtTemp = NAN; plavák dhtVlhkosť = NAN; int ledPin = 12; //GPIO 12 /* Nastavte ich na požadované prihlasovacie údaje. */ const char *ssid = "AleksPoroshin"; const char *heslo = "12345678"; ESP8266WebServer server(80); /* Len malá testovacia správa. Prejdite na adresu http://192.168.4.1 vo webovom prehliadači * pripojenom k ​​tomuto prístupovému bodu, aby ste ho videli. */ void handleRoot() (String s = "\r\n ESP201"; s +=" "; s +=" "; //s += "Stav - Akcie - Konfigurácia"; s += "

Modul ESP 201

"; s += " "; if (isnan(dhtTemp)) s += " Teplota: Chyba čítania"; else ( s += " Teplota: "; s += dhtTemp; s += " C"; ) if ( isnan(dhtHumidity)) s += " Vlhkosť: Chyba čítania"; else ( s += " Vlhkosť: "; s += dhtHumidity; s += " %"; ) if(digitalRead(ledPin) == VYSOKÁ) s + = "Výfuk: vypnutý"; inak s += "Výfuk: zapnutý"; s += ""; server.send(200, "text/html", s); ) void setup() ( delay(1000); Serial.begin(115200); Serial.println(); Serial.print("Konfigurácia prístupového bodu. .."); /* Môžeš odstráňte parameter hesla, ak chcete, aby sa prístupový bod otvoril. */ WiFi.softAP(ssid, heslo); IPAddress mojaIP = WiFi.softAPIP(); Serial.print("IP adresa AP: "); Serial println(myIP); server.on("/", handleRoot); server.begin(); Serial.println("HTTP server spustený"); dht.begin(); Serial.println("Úspešná inicializácia DHT22"); pinMode(ledPin, OUTPUT); ) void loop() ( getDHT(); server.handleClient(); ) void getDHT() ( dhtTemp = dht.readTemperature(); dhtHumidity = dht.readHumidity()+5; if (dhtHumidity< 68) { digitalWrite(ledPin, HIGH); Serial.println("ledPin HIGH"); } else { digitalWrite(ledPin, LOW); Serial.println("ledPin LOW"); } }
Nenadávaj príliš tvrdo. len sa učím.
Po nahraní náčrtu na potvrdenie programovania pripájam GPIO na + 3,3V. Potom to vypnem. Firmvér sa načíta.


Robím rozloženie na doske. Všetko kontrolujem. Tvorba. Ale nie všetko je také dobré, ako by malo byť. V rozsahu, ktorý potrebujem, čínske senzory podhodnocujú hodnoty o 5-6%.


Viac dôverujem nemeckému drevorubačovi. Áno, a cena je niekoľko desiatok krát vyššia. A čo je najdôležitejšie, prešiel testom.
Predložená zmena programu (pridaných 5 jednotiek). Súhlasím, že to nie je správne. Ale v rozmedzí 40-70% ukazuje presne. Je správnejšie odstrániť charakteristiku a opraviť knižnicu. Nie som na to pripravený :). Klamal aj zvyšok senzorov. Hoci všetky ukazovali približne rovnako.

Takto vyzerá webová stránka, ak sa pripojí k môjmu WIFI modulu:


Heslá a vzhľad sú uvedené v náčrte.
K prepínaniu dochádza pri vlhkosti 68 %. Všetko je čisté.


Je tu však jedna výhrada. A nemožno to ignorovať. Na hranici 68% vlhkosti môže ventilátor cyklovať, zapínať a vypínať. Na vyriešenie tohto problému potrebujete časovač. Mám ventilátor s časovačom. Tie. žiaden problém. Každý, kto má bežného fanúšika, bude musieť tento problém vyriešiť na softvérovej úrovni.
Mojou ďalšou úlohou je to všetko poskladať podľa schémy, ale už nie na doštičkovom modeli a mesiac to skúšať. Všetky zmeny je možné vykonať počas prevádzky. Čo robiť a kam vložiť, všetko som napísal.
Niekoľko slov o inštalácii snímača. Neodporúčam to dávať do vetrania. Dôvod je jednoduchý. Aj v najčistejšom a najupravenejšom byte je prach, ktorý sa tam po zapnutí ventilátora vrhne (do veterinárneho kanála). Ale pred rokom som vytiahol ventilátor a poriadne ho vyčistil.


Aby nedochádzalo k častému výmene snímačov z dôvodu ich poškodenia, odporúčam nájsť pre ne vhodnejšie miesto, niekde v blízkosti. Navyše ho môžete zabaliť do netkanej textílie alebo niečoho podobného, ​​aby ste ho ochránili pred prachom. A budete šťastní.
Úplne som zabudol povedať, že ak si chcete „koeficienty“ regulácie vlhkosti nastaviť sami, musíte byť aspoň trochu v predmete. Ak takéto spotrebiče doma nemáte...


Bez nich len veľmi ťažko niečo na túto tému urobíte.
To je všetko.
Ako správne naložiť s informáciami z mojej recenzie, každý rozhodne sám za seba. Ak niečo nie je jasné, pýtajte sa. Snáď to aspoň niekomu pomohlo. Možno mi niekto bude chcieť pomôcť. Budem veľmi vďačný.
Veľa šťastia všetkým!
Kontrola funkčnosti:


Pokračovanie nabudúce…

Tovar bol poskytnutý na napísanie recenzie obchodom. Recenzia je zverejnená v súlade s bodom 18 Pravidiel stránky.

Plánujem kúpiť +51 Pridať k obľúbeným Páčila sa recenzia +26 +65