Letní IoT: Den 1
m |
m |
||
Řádka 36: | Řádka 36: | ||
//popis zapojení | //popis zapojení | ||
− | #define (název - dáme si tam třeba '''modra''' - bude to modrá LEDKa) (číslo GPIO pinu); | + | #define (název - dáme si tam třeba '''modra''' - bude to modrá LEDKa) (číslo GPIO pinu); |
[https://www.iotwithus.com/wp-content/uploads/2018/11/esp8266-wemos-d1-mini-nodemcu-pinout.png Wemos pinout] | [https://www.iotwithus.com/wp-content/uploads/2018/11/esp8266-wemos-d1-mini-nodemcu-pinout.png Wemos pinout] | ||
Řádka 49: | Řádka 49: | ||
v void setup() musíme říct, že je to výstupní | v void setup() musíme říct, že je to výstupní | ||
− | pinMode(modra, | + | pinMode(modra, OUTPUT); |
− | pinMode(cervena, | + | pinMode(cervena, OUTPUT); |
a teď nám jen rozsvítit a zhasnout LEDku | a teď nám jen rozsvítit a zhasnout LEDku | ||
Řádka 56: | Řádka 56: | ||
k tomu používáme metodu "digitalWrite(název, HIGH - zapnuto / LOW - vypnuto);" | k tomu používáme metodu "digitalWrite(název, HIGH - zapnuto / LOW - vypnuto);" | ||
− | digitalWrite(modra, HIGH); - modrá LEDka se rozsvítí | + | digitalWrite(modra, HIGH); - modrá LEDka se rozsvítí |
− | digitalWrite(modra, LOW); - modrá LEDka zhasne | + | digitalWrite(modra, LOW); - modrá LEDka zhasne |
jelikož tyto věci trvají velmi krátkou dobu - lidské oko si toho nevšimne, dáme tam nějakou prodlevu | jelikož tyto věci trvají velmi krátkou dobu - lidské oko si toho nevšimne, dáme tam nějakou prodlevu | ||
Řádka 64: | Řádka 64: | ||
takže si kód doplníme o 2s prodlevy | takže si kód doplníme o 2s prodlevy | ||
− | digitalWrite(modra, HIGH); | + | digitalWrite(modra, HIGH); |
− | delay(2000); | + | delay(2000); |
− | digitalWrite(modra, LOW); | + | digitalWrite(modra, LOW); |
− | delay(2000); | + | delay(2000); |
=== Samostatný úkol === | === Samostatný úkol === | ||
Řádka 94: | Řádka 94: | ||
V některých případech máme prodlevu vždy stejnou a opakuje se nám tam vícekrát - když se rozhodneme, že ji změníme, tak to musíme celé přepisovat. | V některých případech máme prodlevu vždy stejnou a opakuje se nám tam vícekrát - když se rozhodneme, že ji změníme, tak to musíme celé přepisovat. | ||
− | To je vcelku nepraktické, co?... Takže využijeme proměnné. | + | To je vcelku nepraktické, co?... Takže využijeme proměnné. Chceme, aby se proměnná jmenovala prodleva a byla na 2 sekudny - tj. 2000 ms. |
− | + | int prodleva = 2000; | |
=== Samostatný úkol === | === Samostatný úkol === | ||
1) Předělej úkoly na ledky za použití proměnné v delay(); | 1) Předělej úkoly na ledky za použití proměnné v delay(); | ||
2) LEDka se rozsvítí na 1 s, 1 s nebude svítit, LEDka se rozsvítí na 2 s, 2 s nebude svítit, LEDka se rozsvítí na 3 s ... a tak dále | 2) LEDka se rozsvítí na 1 s, 1 s nebude svítit, LEDka se rozsvítí na 2 s, 2 s nebude svítit, LEDka se rozsvítí na 3 s ... a tak dále |
Verze z 7. 7. 2020, 18:43
Obsah |
Vývojové prostředí
Instalace a nastavení desky
Základní seznámení
Při vytvoření nového souboru tam máte dvě metody.
//zde se definují proměnné, importují knihovny, apod: void setup() { // put your setup code here, to run once: // zde napište to, co se má spustit na začátku: } void loop() { // put your main code here, to run repeatedly: // zde napište to, co má běžet pořád dokola: }
LEDka
Jako první věc si zkusíme rozsvítit a zhasnout LEDku.
Budeme potřebovat: Vývojovou desku, USB kabel, nepájivé pole 2 LEDky (červenou a modrou), 5 káblíků, 2 rezistory
//obrázek//
//popis zapojení
#define (název - dáme si tam třeba modra - bude to modrá LEDKa) (číslo GPIO pinu);
takže my budeme mít....
#define modra 18; #define cervena 17;
Toto dáme úplně na začátek dokumentu
v void setup() musíme říct, že je to výstupní
pinMode(modra, OUTPUT); pinMode(cervena, OUTPUT);
a teď nám jen rozsvítit a zhasnout LEDku
k tomu používáme metodu "digitalWrite(název, HIGH - zapnuto / LOW - vypnuto);"
digitalWrite(modra, HIGH); - modrá LEDka se rozsvítí digitalWrite(modra, LOW); - modrá LEDka zhasne
jelikož tyto věci trvají velmi krátkou dobu - lidské oko si toho nevšimne, dáme tam nějakou prodlevu k tomu se využívá delay(čas v milisekundách);
takže si kód doplníme o 2s prodlevy
digitalWrite(modra, HIGH); delay(2000); digitalWrite(modra, LOW); delay(2000);
Samostatný úkol
1) modrá i červená LEDka se rožne na 3 s a pak 3 s nebudou svítit 2) modrá ledka se rozsvítí na 4 s, pak zhasne a zároveň se rozsvítí červená ledka, ta zhasne po 4s a znovu se rozsvítí modrá 3) modrá LEDka bude svítit 5 sekund a dvě a půl svítit nebude
Proměnné
Obecně
Jsou různé datové typy, my budeme využívat nejvíce:
- čísla - int - text - String - ano / ne - boolean
Práce s intem
int cislo; definuji proměnnou s názvem číslo ins cislo = 6; definuji proměnnou s názvem číslo a dám ji číslo 6 cislo = 8; proměnné cislo dám číslo 8; cislo++; proměnná cislo se zvýší o 1; cislo--; proměnná cislo se sníží o 1;
Proměnná v delay
V některých případech máme prodlevu vždy stejnou a opakuje se nám tam vícekrát - když se rozhodneme, že ji změníme, tak to musíme celé přepisovat. To je vcelku nepraktické, co?... Takže využijeme proměnné. Chceme, aby se proměnná jmenovala prodleva a byla na 2 sekudny - tj. 2000 ms.
int prodleva = 2000;
Samostatný úkol
1) Předělej úkoly na ledky za použití proměnné v delay(); 2) LEDka se rozsvítí na 1 s, 1 s nebude svítit, LEDka se rozsvítí na 2 s, 2 s nebude svítit, LEDka se rozsvítí na 3 s ... a tak dále