Letní IoT: Den 4

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(RGB dioda)
m (Nákup zařízení)
 
(Není zobrazeno 26 mezilehlých verzí od 1 uživatele.)
Řádka 1: Řádka 1:
[[Category:VSE]][[Category:Informatika]][[Category:Letní IoT]]
+
[[Category:VSE]][[Category:Informatika]][[Category:Letní IoT]][[Category:IoT]]
  
= Opakování =
+
== Thingspeak ==
# Když bude více než 30°C, rozsvítí se červená LEDka, jinak se rozsvítí modrá, bude se to aktualizovat každých 6 sekund
+
# Na display se vypíše teplota v °C, °F a v kelvinech
+
  
= Sériový vstup =
+
[[IoT: ThingSpeak | ThingSpeak ]] — dokončení, ukázka grafů, popřípadě mobilní aplikace.
  
 +
[[IoT: Meteostanice | Meteostanice ]] — připojení displeje.
  
= RGB dioda =
+
== Opakování ==
 +
# Když bude více než 30°C, rozsvítí se červená LEDka, jinak se rozsvítí modrá, bude se to aktualizovat každých 6 sekund (výpis teploty do konzole)
 +
# Na display se vypíše teplota v °C a v Kelvinech
  
[[Letní IoT: Den 3: RGB LEDka 3. den]]
+
== Sériový vstup ==
  
Vytvoříme si vlastní metodu s 3 parametry (R, G, B) - viz. 3. den
+
[[IoT: Sériová komunikace # Sériový vstup | Sériový vstup ]] — naučíme se sériový vstup z konzole.
 +
 
 +
=== Samostatný úkol ===
 +
 
 +
Zadané slovo vypište na display.
 +
 
 +
== RGB LED dioda ==
 +
[[IoT: LED dioda # RGB LED dioda | RGB LED dioda ]] — prostudujte zapojení a kód. Udělejte úkoly.
 +
 
 +
== Volitelné úlohy ==
 +
 
 +
Na závěr našeho kurzu si můžete zkusit následující úlohy. Vyberte si, co Vás nejvíce zaujme.
 +
 
 +
=== WiFi lampička ===
 +
 
 +
[[IoT: WiFi lampička| WiFi lampička]] — přes mobil / notebook si můžete zapnout či vypnout LED diodu.
 +
 
 +
=== RGB LED dioda ===
 +
 
 +
Vytvoříme si vlastní metodu s třemi parametry (R, G, B)
  
 
analogWrite() má 1024 stavů ... 0 - 1023
 
analogWrite() má 1024 stavů ... 0 - 1023
 
RGB modul má 256 barev ... 0 - 255
 
RGB modul má 256 barev ... 0 - 255
  
= Thingspeak =
+
=== Servo ===
 +
 
 +
Lze si půjčit [https://dratek.cz/arduino/897-eses-servo-motor-9g.html?gclid=Cj0KCQiAv6yCBhCLARIsABqJTjY0_7VLpVN5Qivdotz0kgSFAWhToT_FMumWM3JxPV68B8gFLRXEWd0aAlC3EALw_wcB Servo SG90 9g micro motor] a zkuste ho zprovoznit.
 +
 
 +
=== RFID čtečka ===
 +
 
 +
Dále je k dispozici [https://www.laskarduino.cz/rfid-ctecka-s-vestavenou-antenou-mfrc-522-rc522/?gclid=Cj0KCQiAv6yCBhCLARIsABqJTjYxDCJk70qj-3V-j93dRBxeEO3x3LDCub9xpyNsjX4voU1Wpcy-AhcaAlhlEALw_wcB RFID čtečka] — zkuste vzorové kódy.
 +
 
 +
=== Další čidla ===
 +
 
 +
Dle aktuální nabídky, bude upřesněno.
  
= WiFi lampička =
+
== Nákup zařízení ==
 +
[[IoT: Nákup zařízení | Nákup zařízení]]
  
<code>
+
== Kontakt ==
 +
[http://jurasek.wz.cz/ Jirkův web]
  
#include <ESP8266WiFi.h>
+
Jiří Jurásek: jurasek.ml@outlook.com
+
// Nazev Wi-Fi site, do ktere se mam pripojit
+
const char* ssid = "TypeYourWifiSSID";
+
+
// Heslo Wi-Fi site, do ktere se mam pripojit
+
const char* password = "typeYourWiFiPassword";
+
+
// Je LEDka zapnuta
+
bool LEDState = false;
+
+
//pin na který je připojena LED
+
const char ledka = 5;
+
+
// Webovy server pobezi na portu 80 (HTTP komunikace)
+
WiFiServer server(80);
+
+
// Promenna s HTTP pozadavkem z prohlizece
+
String request;
+
+
void setup() {
+
// Nastartuj seriovou linku, do ktere budu vypisovat provozni informace
+
Serial.begin(9600);
+
+
// Na pin ledka je pripojene LEDState, nastavim jej tedy na vystup
+
// Zaroven nastavim logickou nulu, aby se LEDState po startu nesepnulo
+
pinMode(ledka, OUTPUT);
+
digitalWrite(ledka, LOW);
+
+
// Pripojeni k Wi-Fi
+
Serial.println();
+
Serial.print("Pripojuji k ");
+
Serial.println(ssid);
+
WiFi.begin(ssid, password);
+
+
// Dokud nejsem pripojeny k Wi-Fi,zapisuj do seriove linky tecky progressbaru
+
while (WiFi.status() != WL_CONNECTED) {
+
delay(100);
+
Serial.print(".");
+
}
+
+
// Jsem pripojeny k Wi-Fi a mohu pokracovat
+
Serial.println();
+
Serial.println("WiFi pripojena!");
+
+
// Spusteni serveru
+
server.begin();
+
Serial.println("Server spusten");
+
+
// Napis IP adresu, kterou mikropocitac dostal
+
Serial.print("Pouzij k pripojeni tuto adresu: ");
+
Serial.print("http://");
+
Serial.println(WiFi.localIP());
+
}
+
+
// Smycka loop se opakuje stale dokola
+
void loop() {
+
// Pokud ma promenna LEDState hodnotu pravda, posli na pin ledka logickou jedničku
+
if (LEDState == true) digitalWrite(ledka, HIGH);
+
else digitalWrite(ledka, LOW);
+
+
// Cekej, dokud se nepripoji nejaky klient
+
WiFiClient client = server.available();
+
if (!client) {
+
return;
+
}
+
+
// Cekej, dokud klient neposle nejaka data
+
Serial.println("Novy klient!");
+
while (!client.available()) {
+
delay(1);
+
}
+
+
// Precti a vypis prvni radek od klienta s URL dotazem
+
request = client.readStringUntil('\r');
+
Serial.println(request);
+
client.flush();
+
+
// Pokud je v radku vyraz ON, nastav promennou LEDState na pravdu
+
if (request.indexOf("ON") > -1) LEDState = true;
+
// Pokud je v radku vyraz OFF, nastav promennou LEDState na nepravdu
+
if (request.indexOf("OFF") > -1) LEDState = false;
+
+
// Posli pripojenemu klientu HTML kod stranky s tlacitky
+
client.println("HTTP/1.1 200 OK");
+
client.println("Content-Type: text/html");
+
client.println("");
+
client.println("<!DOCTYPE html>");
+
client.println("<html><body>");
+
client.print("<h1>Moje WiFi lampicka</h2>");
+
// Tlacitko pro sepnuti LEDState vede na adresu /ON
+
client.println("<a href=\"/ON\"><button>Zapnout LEDku</button></a>");
+
// Tlacitko pro odpojeni LEDState vede na adresu /OFF
+
client.println("<a href=\"/OFF\"><button>Vypnout LEDku</button></a><br />");
+
client.println("</body></html>");
+
+
// To je vse, ted jeste 1 ms pockam a cela smycka se muze zopakovat
+
delay(1);
+
Serial.println("Klient odpojen");
+
Serial.println("");
+
}
+
  
</code>
+
Čestmír Kolařík: cestmir.kolarik@seznam.cz

Aktuální verze z 7. 4. 2021, 21:19


Obsah

Thingspeak

ThingSpeak — dokončení, ukázka grafů, popřípadě mobilní aplikace.

Meteostanice — připojení displeje.

Opakování

  1. Když bude více než 30°C, rozsvítí se červená LEDka, jinak se rozsvítí modrá, bude se to aktualizovat každých 6 sekund (výpis teploty do konzole)
  2. Na display se vypíše teplota v °C a v Kelvinech

Sériový vstup

Sériový vstup — naučíme se sériový vstup z konzole.

Samostatný úkol

Zadané slovo vypište na display.

RGB LED dioda

RGB LED dioda — prostudujte zapojení a kód. Udělejte úkoly.

Volitelné úlohy

Na závěr našeho kurzu si můžete zkusit následující úlohy. Vyberte si, co Vás nejvíce zaujme.

WiFi lampička

WiFi lampička — přes mobil / notebook si můžete zapnout či vypnout LED diodu.

RGB LED dioda

Vytvoříme si vlastní metodu s třemi parametry (R, G, B)

analogWrite() má 1024 stavů ... 0 - 1023 RGB modul má 256 barev ... 0 - 255

Servo

Lze si půjčit Servo SG90 9g micro motor a zkuste ho zprovoznit.

RFID čtečka

Dále je k dispozici RFID čtečka — zkuste vzorové kódy.

Další čidla

Dle aktuální nabídky, bude upřesněno.

Nákup zařízení

Nákup zařízení

Kontakt

Jirkův web

Jiří Jurásek: jurasek.ml@outlook.com

Čestmír Kolařík: cestmir.kolarik@seznam.cz

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje