=====Podpora pro projekty s Arduinem==== ==== Základní informace o Arduinu ==== používáme moduly Arduino Nano (které jsou fyzicky větší než Arduino Mini Pro) [[http://arduino.cc]]\\ [[http://arduino.cc/en/Main/Boards]]\\ [[http://arduino.cc/en/Main/ArduinoBoardUno]]\\ [[http://arduino.cc/en/Main/ArduinoBoardNano]] vývojové prostředí je k dipozici na adrese [[https://www.arduino.cc/en/Main/Software]] Moduly původem z Číny používají USB-UART převodník CH340G, ovladač pro Windows lze stáhnout {{:education:ch341ser.zip|zde}} (verze 3.6.2021.12), případně na stránkách výrobce převodníku [[http://www.wch-ic.com/downloads/CH341SER_ZIP.html]] (anglická jazyková mutace stránek) a [[http://www.wch.cn/downloads/CH341SER_ZIP.html]] (čínská jazyková mutace; pozn. 02/2022 verze ovladače na čínských stránkách nemusí být vždy stejná jako na anglických, aktuálně je nejnovější verze pouze na čínských stránkách) ==== Oživení a ověření základní funkčnosti ==== === Blikání LED === {{:education:nano_led.zip|}} === Seriová komunikace === {{:education:nano_serial.zip|}} === I2C Scanner pro Arduino Nano === {{ :education:nano_i2c_scanner.zip|}} ==== Knihovny a příklady použití pro jednotlivé moduly ==== seznam dostupných modulů [[https://docs.google.com/spreadsheets/d/1eXgFiZbOv-FYLSS8f-wMkrtQ7ab7YqBjkbKZQvYHOg0/edit?usp=sharing]]\\ pozn.: pro zobrazení obsahu je třeba přihlášení přístupovými údaji ČVUT ---- === BMP280 === * **Senzor** barometrického **tlaku** a **teploty** * Komunikace přes **I2C**, nebo **SPI** >> [[Arduino_BMP280 | Více informací]] << === BMP180 === * **Senzor** barometrického **tlaku** a **teploty** * Komunikace přes **I2C** >> [[Arduino_BMP180 | Více informací]] << === VL53L0X === * Time-of-Flight **senzor vzdálenosti** * Komunikace přes **I2C** >> [[Arduino_VL53L0X | Více informací]] << === MPU-9250 === * Tříosý **gyroskop**, **akcelerometr**, **magnetometr** * Komunikace přes **I2C**, nebo **SPI** >> [[Arduino_MPU-9250 | Více informací]] << === HTU21D(F) === * **Senzor teploty a vlhkosti** * Komunikace přes **I2C** >> [[Arduino_HTU21D | Více informací]] << === MLX90614(DAA) === * **IR teploměr** * Komunikace přes **SMBus**, nebo **PWM výstup** >> [[Arduino_MLX90614 | Více informací]] << === BH1750 === * **Senzor intenzity osvětlení** * Komunikace přes **I2C** >> [[Arduino_BH1750 | Více informací]] << === HMC5883L === * Tříosý **magnetometr** * Komunikace přes **I2C** >> [[Arduino_HMC5883L | Více informací]] << === DHT22 === * **Čidlo teploty a vlhkosti** * ±0.5°C ±5% >> [[Arduino_DHT22 | Více informací]] << === DHT11 === * **Čidlo teploty a vlhkosti** * ±2°C ±5% >> [[Arduino_DHT11 | Více informací]] << === DS18B20 === * Digitální **teploměr** * ±0.4°C >> [[Arduino_DS18B20 | Více informací]] << === RTC DS1307 === Time Library [[http://playground.arduino.cc/code/time]]\\ DS1307 RTC Library [[https://www.pjrc.com/teensy/td_libs_DS1307RTC.html]]\\ poznámky k použití Time Library [[http://forum.arduino.cc/index.php?topic=128928.0]] poznámky k použití RTC modulu\\ [[http://uart.cz/78/obvod-realneho-casu-ds1307/]]\\ [[http://uart.cz/383/arduino-a-obvod-realneho-casu/]] příklady použití\\ {{:education:nano_time.zip|hodiny s knihovnou Time}}\\ {{:education:nano_rtc_with_ds1307rtc_library.zip|RTC s knihovnou DS1307RTC}}\\ {{:education:nano_time_with_rtc_sync.zip|hodiny s knihovnou Time a synchronizací s RTC DS1307}} {{:education:ds1307-at24c32-tinyrtc-module_schematic.png|}} ===LCD=== knihovna LiquidCrystal [[https://www.arduino.cc/en/Reference/LiquidCrystal]]\\ API pro znakové displeje [[http://playground.arduino.cc/Code/LCDAPI]]\\ knihovny pro I2C displeje (rozcestník pro různé I2C čipy) [[http://playground.arduino.cc/Code/LCDi2c]]\\ podpora připojení displeje k Arduinu (rozcestník pro různé typy displejů) [[http://playground.arduino.cc/Code/LCD]] další poznámky\\ [[http://www.instructables.com/id/I2C-LCD-Controller-the-easy-way/]]\\ [[http://www.geeetech.com/wiki/index.php/Serial_I2C_1602_16×2_Character_LCD_Module]]\\ [[https://arduino-info.wikispaces.com/LCD-Blue-I2C]] příklady použití\\ {{:education:nano_lcd_test.zip|}}, pozn. displeje s modrým podsvícením mají adresu 0x27 (obvyklejší adresa i u jiných displejů), displeje se zeleným podsvícením mají adresu 0x3F (méně obvyklá adresa), viz {{https://forum.arduino.cc/index.php?topic=369998.0|https://forum.arduino.cc/index.php?topic=369998.0}} ===SD Card=== knihovna SD Library [[https://www.arduino.cc/en/Reference/SD]]\\ poznámky ke komunikaci s SD kartou [[https://www.arduino.cc/en/Reference/SDCardNotes]]\\ příklady použití\\ {{:education:nano_sd_card.zip|}} ===Servo=== [[http://www.arduino.cc/en/reference/servo]]\\ [[http://playground.arduino.cc/ComponentLib/servo]] ==="Digitalni potenciometr"- rotacni enkoder=== pozn.: modul označen KY-040\\ [[https://bigdanzblog.wordpress.com/2014/08/16/using-a-ky040-rotary-encoder-with-arduino/]]\\ [[http://www.pjrc.com/teensy/td_libs_Encoder.html]]\\ === TV výstup (kompozitní video) === knihovna TVout [[http://playground.arduino.cc/Main/TVout]] poznámky k použití knihovny\\ [[http://robodoupe.cz/2014/arduino-a-vystup-na-tv-prijimac-2/]]\\ [[https://code.google.com/p/arduino-tvout/wiki/FunctionalDescription]] příklady použití\\ {{:education:nano_tv.zip|}} === Senzory plynů MQ=== Senzory plynů řady MQ\\ (např. MQ3 - senzor koncentrace alkoholu, MQ9 - senzor koncentrance hořlavých plynů atd.) příklady použití\\ {{:education:gas_sensor_mq.zip|}} další informace\\ [[http://playground.arduino.cc/Main/MQGasSensors]]\\ [[https://www.mysensors.org/build/gas]]\\ === Senzor osvětlení - Flying Fish === příklady použití\\ {{:education:FlyingFishSensor.zip|}} další informace\\ [[https://defendtheplanet.net/2016/01/01/5v-light-detector-analog-digital-flying-fish-mh-sensor-series/]]\\ === PIR Senzor === Čidlo pohybu PIR senzor příklady použití\\ {{:education:PIR_sensor.zip|}} další informace\\ [[https://learn.adafruit.com/pir-passive-infrared-proximity-motion-sensor/using-a-pir]]\\ [[http://playground.arduino.cc/Code/PIRsense]]\\ === Převodníky úrovní === typické převodníky úrovní 5 V/3,3 V mohou vypadat např. jako [[https://www.laskarduino.cz/prevodnik-logickych-urovni-i2c-5v-na-3v/]] nebo [[https://www.laskarduino.cz/4-kanaly-obousmerny-prevodnik-logickych-urovni-5v-a-3-3v/]], běžně používané zapojení je pak uvedeno např. v [[https://drive.google.com/open?id=0B4B30jzMyzG8MHVzeWg0dXMwdG8]] ==== Přenos a záznam dat do PC ==== Arduino lze použít jako jednoduchý měřící systém k PC nebo tabletu. Na [[http://www.e-mole.cz/diy/molegraph|odkazu]] najdete program, který umožňuje číst, vizualizovat a ukládat data z Arduina. Je možné i řídít průběh měření. Komunikace s PC nebo tabletem probíhá přes USB kabel nebo Bluetooth. ==== Vývojové desky s WiFi rozhraním ==== === Vývojové desky s procesorem ESP 8266 (např. desky Wemos D1 mini a NodeMCU) === instalace podpory desek s chipem ESP 8266 do Arduino IDE [[https://github.com/esp8266/Arduino|https://github.com/esp8266/Arduino]] příklad použití\\ {{:education:wemosd1mini_webserver.zip|}} Uvedený příklad použití vychází z příkladu [[https://www.zive.cz/clanky/pojdme-programovat-elektroniku-postavime-si-titernou-wi-fi-meteostanici-s-lepsim-teplomerem-nez-netatmo/sc-3-a-188184/default.aspx|zde]]. Odkazovaný příklad obsahuje kromě možnosti odesílat HTML stránku i možnost připojit se pomocí JSON a ukládat data Google scriptem do tabulky na Google Drive. === Vývojové desky s procesorem ESP-WROOM-32 === instalace podpory desek s chipem ESP-WROOM-32 do Arduino IDE [[https://navody.arduino-shop.cz/navody-k-produktum/jednoducha-instalace-esp32-do-arduino-ide.html|https://navody.arduino-shop.cz/navody-k-produktum/jednoducha-instalace-esp32-do-arduino-ide.html]] pozn.: aktuální verze jádra jsou na adrese https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json původní adresu v konfiguraci Arduino IDE je potřeba přepsat, nikoli pouze doplnit novou === podpora pro práci s deskami s ESP 8266 a ESP 32 === ESP Exception Decoder [[https://github.com/me-no-dev/EspExceptionDecoder|https://github.com/me-no-dev/EspExceptionDecoder]] ====Další vzorové kódy==== autor: Václav Langer\\ připraveno pro Workshop 2015, doposud neověřeno {{:education:arduino_examples.zip|}}