SAMSUNG_032023 Advertisement SAMSUNG_032023 Advertisement SAMSUNG_032023 Advertisement

IoT a robotika: programovanie Arduina pomocou grafických blokov

0

Zaujímavú stavebnicu Smart Home Kit for Arduino, z ktorej sa dá postaviť názorný drevený model so senzormi, LED kami simulujúcimi svetlá, servami ovládajúcimi okná a dvere  sme už predstavili v článku. Môžete ho programovať a taktiež ovládať mobilnou aplikáciou. Vo voľnom pokračovaní sme ukázali príklady softvérovej obsluhy senzorov a motorov. Riadiacu dosku kompatibilnú s Arduino Uno sme programovali vo vývojovom prostredí Arduino IDE. Tento model však môžete programovať aj pomocou grafických blokov vo vývojovom prostredí Mixly. Názorné ukážky sú vo videu

Nakoľko stavebnica využíva klon Arduino Uno a vývojové prostredie Mixly je k dispozícii zdarma, môžete pomocou grafických blokov programovať aj iné zapojenia s Arduinom

Riadiaca doska (klon Arduina Uno) a Sensor Shield na pripojenie senzorov a akčných členov

Všetko potrebné na grafické programovanie nájdete na tomto linku. V zložke Tutorial for Mixly nájdete zložku Mixly Software. Sú tam inštalačné súbory vývojového prostredia Mixly pre Windows, MacOS a tiež predkonfigurovaná verzia Mixly 1.0 for Keyestudio, kde sú už knižnice pre senzory a akčné členy použité v modeli smarthome.

Prvá aplikácia je príklad „blinky“ pre Arduino, ktorá rozbliká belu LED diódu pripojenú na port D13.  Takmer rovnaký kód môžeme použiť na periodické spínanie relé. Je pripojené na porte D12

Zdrojový kód:

void setup(){
  pinMode(13, OUTPUT);
}
 
void loop(){
  //Blikanie LED na porte D13
  //
  digitalWrite(13,HIGH);
  delay(500);
  digitalWrite(13,LOW);
  delay(500);
 
}

V druhom príklade budeme striedavo hrať dva tóny

Príklad na ovládanie jednosmerného motora, ktorý poháňa vrtuľku na streche

Nasleduje obsluha tlačidla s indikovaním žltou LED a výpisom stavu cez sériový port

Zdrojový kód:

void setup(){
  Serial.begin(9600);
  pinMode(4, INPUT);
  Serial.begin(9600);
  pinMode(5, OUTPUT);
}
 
void loop(){
  Serial.println(digitalRead(4));
  delay(500);
  if (digitalRead(4) == 0) {
    digitalWrite(5,HIGH);
 
  } else {
    digitalWrite(5,LOW);
 
  }
}

Dvojriadkový LCD displej je pripojený štyrmi vodičmi na rozhranie I2C, ktoré využíva signály SCL a SDA. Využijú sa funkcie z knižnice  LiquidCrystal_I2C

Zdrojový kód:

#include Wire.h
#include LiquidCrystal_I2C.h
 
LiquidCrystal_I2C mylcd(0x27,16,2);
 
void setup(){
  mylcd.init();
  mylcd.backlight();
  mylcd.clear();
}
 
void loop(){
  mylcd.setCursor(0, 0);
  mylcd.print("NEXTECH");
  mylcd.setCursor(0, 1);
  mylcd.print("IoT serial");
  mylcd.scrollDisplayLeft();
  delay(300);
}

Pri jednoduchých príkladoch je grafické programovanie pomocou blokov názorné a inšpiratívne. Pri  zložitejších príkladoch je menej názorné a veľmi prácne prácne, takže treba čím skôr prejsť na klasické programovanie. Pozrite si kód komplexnejšieho programu v blokoch, je to skôr odstrašujúci príklad.

Ak to zosumarizujem, tak blokové programovanie má veľkú nechcenú výhodu. Nadchne pri jednoduchých veciach, ale ak treba urobiť niečo zložitejšie je mimoriadne nepraktické, zdĺhavé, otravné a priam vyzýva žiaka, či študenta, aby na to hodil loď a urobil to v klasickom programovacom jazyku

Pozrite si fungovanie modelu smarthome a programovanie vo vývojovom prostredí Arduino IDE

 

Zobrazit Galériu

Luboslav Lacko

Všetky autorove články
Smart Home Kit for Arduino Mixly arduino

Pridať komentár

Mohlo by vás zaujímať

Mohlo by vás zaujímať