Robotic Arm
Robotická ruka je mechanické zařízení navržené k imitaci lidské ruky a jejích pohybů. Běžně se používá v průmyslových prostředích, zdravotnictví, výzkumu a brzy i v domácnostech.
V tomto projektu vám předvedu, jak lze pomocí jednoduchých součástek kontrolovat teplotu a vlhkost v pokoji a nastavit tak např. svoje topení. Výhodou tohoto projektu je snadné zapojení, skript i rozšiřitelnost. Projekt se dá rozšířit pomocí relé modulů, které by zapínaly nebo vypínaly topení.
Zapojení je velmi jednoduché. Stačí na nepájivé pole zapojit teploměr/vlhkoměr DHT11, 3 ledky a odpory. První pin teploměru zapojíme na 5V Arduina, druhý pin zapojíme na 5. digitální pin na Arduinu a poslední, 4. pin zapojíme na zem Arduina. Dále jednoduše přes odpor zapojíme 3 led diody (červenou, zelenou a modrou) můžete samozřejmě použít i RGB diodu, ale výsledný skript i zapojení by bylo o něco těžší.
Zdrojový kód začíná definováním proměnných s pinem LED diod. Dále se importuje knihovna pro teploměr DHT11 a vytvoří se instance. Ve funkci setup se nejprve nastaví naše LED diody jako výstupní a začne sériová komunikace. Dále se spustí komunikace teploměru/vlhkoměru s arduinem.
V nekonečné smyčce loop se nejdříve vytvoří proměnné teploty a vlhkosti, poté se podmínkou if ošetří případné problémy s komunikací. Pokud se vše povede, vypíše se teplota a vlhkost na sériové lince. To celé se opakuje po 1500 milisekundách znovu.
Poté nastává čas na naše diody. Pomocí podmínek if si nastavíme, kdy se má jaká LED rozsvítit. V mém případě jsem nastavil, že pokud teplota bude větší než 21 stupňů, rozsvítí se červená dioda, pokud bude vlhkost větší než 55 procent, rozsvítí se modrá dioda a pokud bude vše v pořádku, bude svítit dioda zelená. Podmínky si samozřejmě můžete nastavit podle svého. Projekt je vhodný například k regulaci správné teploty a vlhkosti pro spánek. Každý totiž ví, že lépe se spí při nizší teplotě než v přetopeném bytu :-D.
int zelena = A0; int cervena = A1; int modra = A2; #include "DHT.h" #define typDHT11 DHT11 #define pinDHT 5 DHT mojeDHT(pinDHT, typDHT11); void setup() { pinMode(zelena, OUTPUT); pinMode(modra, OUTPUT); pinMode(cervena, OUTPUT); Serial.begin(9600); mojeDHT.begin(); } void loop() { float teplota = mojeDHT.readTemperature(); float vlhkost = mojeDHT.readHumidity(); if (isnan(teplota) || isnan(vlhkost)) { Serial.println("Chyba při čtení z DHT senzoru!"); } else { Serial.print("Teplota: "); Serial.print(teplota); Serial.print(" stupnu Celsia, "); Serial.print("vlhkost: "); Serial.print(vlhkost); Serial.println(" %"); } if (teplota > 21) { digitalWrite(cervena, HIGH); } else if (vlhkost > 55) { digitalWrite(modra, HIGH); } else { digitalWrite(zelena, HIGH); digitalWrite(cervena, LOW); digitalWrite(modra, LOW); } delay(1500); }
Použité součástky a moduly:
Robotická ruka je mechanické zařízení navržené k imitaci lidské ruky a jejích pohybů. Běžně se používá v průmyslových prostředích, zdravotnictví, výzkumu a brzy i v domácnostech.
Měření více parametrů současně v různých zařízeních při odběru v síti 230VAC pomocí modulu PZEM-004T-80 – 230V AC – 100A AC a ovládání pomocí Arduino Nano, se zobrazováním hodnot na tabletu nebo chytrém telefonu.