Letní IoT: Den 1

Z MiS
Přejít na: navigace, hledání


Obsah

Vývojové prostředí

Instalace a nastavení desky

ESP: Nastavení IDE

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);

Wemos pinout

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:

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
delay(cislo); počká to tolik, kolik je to číslo (když 1000 - tak sekundu)
delay(2 * cislo); počká to dvojnásobek

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

Sériový výstup

K vypsání do konzole se používá

Serial.print("Text"); - vypíše text v uvozovkách
Serial.println(cislo); - na nový řádek vypíše proměnnou cislo

Cykly

Cykly nám slouží k tomu, že se něco opakuje dokud není něco splněno...


For cyklus

for(int i = 0; i < 10; i++)
{
  ...kód...
}

for(int i - proměnná i; i < 10 - dokud je i menší než 10; i++ - pokaždé se i zvýší o jedno)

buď tam dáme i < 10, nebo i <= 9 - je to jedno můžeme dát také

for(int i = 10; i > 1; i--)
{
  ...kód...
}

V některých případech se to může hodit

Samostatný úkol

  1. Vypište (Serial.println()) čísla od 0 do 10 (se sekundovou prodlevou)
  2. LEDka blikne (rozsvítí se na sekundu a pak zhasne na sekundu) a pak 3 sekundy nesvítí, 2 × blikne, 3 ... 10 × blikne
  3. LEDka se rozsvítí na sekundu, zhasne na sekundu, rozsvítí se na dvě sekundy, zhasne na dvě sekundy, rozsvítí se na 3... zhasne na 10 sekund, rozsvítí se na sekundu
Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje