Uživatelské nástroje

Nástroje pro tento web


education:arduino

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
education:arduino [2023/05/29 08:47] – [Knihovny a příklady použití pro jednotlivé moduly] simurdaeducation:arduino [2023/10/10 09:59] (aktuální) – [Oživení a ověření základní funkčnosti] xhavlikj
Řádek 21: Řádek 21:
 === Seriová komunikace === === Seriová komunikace ===
 {{:education:nano_serial.zip|}} {{:education:nano_serial.zip|}}
 +
 +=== I2C Scanner pro Arduino Nano ===
 +{{ :education:nano_i2c_scanner.zip|}}
 ==== Knihovny a příklady použití pro jednotlivé moduly ==== ==== 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]]\\ 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 pozn.: pro zobrazení obsahu je třeba přihlášení přístupovými údaji ČVUT
 +----
 === BMP280 === === BMP280 ===
   * **Senzor** barometrického **tlaku** a **teploty**   * **Senzor** barometrického **tlaku** a **teploty**
   * Komunikace přes **I2C**, nebo **SPI**   * Komunikace přes **I2C**, nebo **SPI**
   >> [[Arduino_BMP280 | Více informací]] <<   >> [[Arduino_BMP280 | Více informací]] <<
 +  
 +=== BMP180 ===
 +  * **Senzor** barometrického **tlaku** a **teploty**
 +  * Komunikace přes **I2C**
 +  >> [[Arduino_BMP180 | Více informací]] <<
  
 === VL53L0X === === VL53L0X ===
   * Time-of-Flight **senzor vzdálenosti**   * Time-of-Flight **senzor vzdálenosti**
-  * Měření IR laserem 1. třídy 
   * Komunikace přes **I2C**   * Komunikace přes **I2C**
-  * Programovatelný digitální výstup GPIO1 +  >> [[Arduino_VL53L0X Více informací]] <<
-  * XSHUT shutdown pin pro řízení spotřeby a reset senzoru +
-  * Napájení **2.6 - 3.5V** +
-  * Měření **až do 2m** +
- +
-[[https://github.com/adafruit/Adafruit_VL53L0X Adafruit_VL53L0X]] \\ +
-[[https://www.st.com/resource/en/datasheet/vl53l0x.pdf | Data sheet]] \\ +
-[[https://documentation.help/VL53L0X-API/documentation.pdf | Dokumentace API]] +
- +
-|  ^ VL53L0X ^ ARDUINO ^ ESP32 ^ +
-^ I2C |  SDA  |  A4  |GPIO21 | +
-^ ::: |  SCL  |  A5  |GPIO22 | +
-^ Volitelné((Není nutné zapojovat)) |  XSHUT  |  LIBOVOLNÝ  || +
-^ ::: |  GPIO1  |  LIBOVOLNÝ  || +
- +
-Senzoru lze přidělit vlastní I2C adresu. To umožňuje používání více těchto senzorů na jedné I2C sběrnici. +
-== 3 režimy měření: == +
-  - Jednotlivé - Po naměření jedné hodnoty přejde do SW standby +
-  - Stálé - Po dokončení jednoho měření se spustí další +
-  - Stálé s časováním - Stálé měření v nastaveném intervalu +
-== 4 profily: == +
-  - [[https://github.com/adafruit/Adafruit_VL53L0X/blob/master/src/Adafruit_VL53L0X.h#:~:text=typedef%20enum%20%7B-,VL53L0X_SENSE_DEFAULT,-%3D%200%2C |  Default mode]] +
-  - [[https://github.com/adafruit/Adafruit_VL53L0X/blob/master/src/Adafruit_VL53L0X.h#:~:text=VL53L0X_SENSE_LONG_RANGE | Long range]] +
-  - [[https://github.com/adafruit/Adafruit_VL53L0X/blob/master/src/Adafruit_VL53L0X.h#:~:text=VL53L0X_SENSE_HIGH_SPEED | High speed]] +
-  - [[https://github.com/adafruit/Adafruit_VL53L0X/blob/master/src/Adafruit_VL53L0X.h#:~:text=VL53L0X_SENSE_HIGH_ACCURACY | High accuracy]] +
- +
-Knihovna obsahuje:\\ +
-''[[https://github.com/adafruit/Adafruit_VL53L0X/blob/master/src/Adafruit_VL53L0X.h#:~:text=boolean%20begin(,VL53L0X_Sense_config_t%20vl_config%20%3D%20VL53L0X_SENSE_DEFAULT)%3B | begin(i2c_addr, debug, TwoWire, vl_config);]] - i2c_addr'' - nová adresa, ''debug'' - true/false, ''TwoWire'' - &Wire, ''vl_config'' - profily\\ +
-''[[https://github.com/adafruit/Adafruit_VL53L0X/blob/master/src/Adafruit_VL53L0X.h#:~:text=return%20getSingleRangingMeasurement(pRangingMeasurementData%2C%20debug)%3B|getSingleRangingMeasurement(pRangingMeasurementData, debug);]] - pRangingMeasurementData'' - proměnná pro uložení dat, ''debug'' - true/false\\ +
-''RangeStatus'' - stav [uint8_t]\\ +
-''RangeMilliMeter'' - vzdálenost [mm]\\ +
- +
-<file cpp VL53L0X.ino> +
-#include "Adafruit_VL53L0X.h" // Kód je psaný pro verzi knihovny 1.2.2 +
- +
-Adafruit_VL53L0X lox = Adafruit_VL53L0X(); +
- +
-void setup() { +
-  Serial.begin(9600); +
-  Serial.println("\nVL53L0X test"); +
- +
-  if (!lox.begin(0x30, false, &Wire, Adafruit_VL53L0X::VL53L0X_SENSE_DEFAULT)) { +
-    Serial.println(F("Chyba komunikace s VL53L0X")); +
-    while (1) ; +
-  } +
-+
- +
-void loop() { +
-  VL53L0X_RangingMeasurementData_t measure; +
- +
-  lox.getSingleRangingMeasurement(&measure, false);  // 'true' pro výpis ladících dat (debug) +
- +
-  switch (measure.RangeStatus) { // Vyhodnocení stavu +
-    case 0: Serial.print("Valid\t"); break; +
-    case 1: Serial.print("Sigma fail"); break; +
-    case 2: Serial.print("Signal fail"); break; +
-    case 3: Serial.print("Min Range Fail"); break; +
-    case 4: Serial.print("Phase Fail"); break; +
-    case 5: Serial.print("HardWare Fail"); break; +
-    case 255: Serial.print("None\t"); break; +
-  } +
-  Serial.print("\t"); +
-  Serial.print(measure.RangeMilliMeter);  Serial.println(" mm"); +
- +
-  delay(500); +
-+
-</file>+
  
 === MPU-9250 === === MPU-9250 ===
   * Tříosý **gyroskop**, **akcelerometr**, **magnetometr**   * Tříosý **gyroskop**, **akcelerometr**, **magnetometr**
-  * 16-bit ADC pro každou měřenou veličinu 
   * Komunikace přes **I2C**, nebo **SPI**   * Komunikace přes **I2C**, nebo **SPI**
-  * Napájení **2.4 - 3.6V** +  >> [[Arduino_MPU-9250 Více informací]] <<
-  * Nastavitelné rozsahy pro maximální přesnost +
-  * Nastavitelných [[https://github.com/bolderflight/invensense-imu/blob/main/src/mpu9250.h#:~:text=DLPF_BANDWIDTH_184HZ%20%3D%200x01,DLPF_BANDWIDTH_5HZ%20%3D%200x06 6 šířek pásma DLPF]]((Digital-Low-Pass-Filter)) +
-  * WOM((Wake-On-Motion)) režim pro nižší spotřebu +
- +
-[[https://github.com/bolderflight/invensense-imu | invensense-imu]] \\ +
-[[https://github.com/bolderflight/invensense-imu/blob/main/README.md | Podrobná dokumentace knihovny]] \\ +
-[[https://www.laskakit.cz/user/related_files/ps-mpu-9250a-01-v1_1.pdf | Data sheet]] \\ +
- +
-|  ^  MPU9250  ^  ARDUINO  ^  ESP32  ^ +
-^  I2C  |  SDA  |  A4  |  GPIO21 +
-^  :::  |  SCL  |  A5  |  GPIO22 +
-^  SPI  |  SCL  |  13  |  GPIO18 +
-^  :::  |  AD0  |  12  |  GPIO19 +
-^  :::  |  SDA  |  11  |  GPIO23 +
-^  :::  |  NCS  |  LIBOVOLNÝ  || +
-^  Volitelné((Není nutné zapojovat)) |  INT  |  LIBOVOLNÝ  || +
-^  :::  |  FSYNC  |  LIBOVOLNÝ  || +
- +
-I2C adresa senzoru se nastavuje logickou úrovní na pinu AD0. To umožňuje používání 2 těchto senzorů na jedné I2C sběrnici. \\ +
-== Funkce: == +
-**WOM**\\ +
-''[[https://github.com/bolderflight/invensense-imu/blob/main/src/mpu9250.h#:~:text=bool%20EnableWom(int16_t%20threshold_mg%2C%20const%20WomRate%20wom_rate)%3B | EnableWom(threshold_mg, wom_rate);]]''\\ +
-V režimu WOM senzor vyhodnocuje data z akcelerometru v nastavených intervalech((wom_rate)). Když pohyb přesáhne nastavenou mez((threshold_mg)), na pinu INT se objeví logická 1.\\ +
-\\ +
-**Data Ready Interrupt**\\ +
-''[[https://github.com/bolderflight/invensense-imu/blob/main/src/mpu9250.h#:~:text=bool%20EnableDrdyInt()%3B | EnableDrdyInt();]]''\\ +
-Druhé využití INT pinu je signalizace nových dat\\ +
-\\ +
-**Nastavení**\\ +
-''[[https://github.com/bolderflight/invensense-imu/blob/main/src/mpu9250.h#:~:text=bool%20ConfigSrd(const%20uint8_t%20srd)%3B | ConfigSrd(srd);]]'' -  +
-Sample Rate Divider umožňuje nastavit rychlost vzorkování\\ +
-''[[https://github.com/bolderflight/invensense-imu/blob/main/src/mpu9250.h#:~:text=bool%20ConfigAccelRange(const%20AccelRange%20range)%3B | ConfigAccelRange(range);]]'' +
-''[[https://github.com/bolderflight/invensense-imu/blob/main/src/mpu9250.h#:~:text=bool%20ConfigGyroRange(const%20GyroRange%20range)%3B | ConfigGyroRange(range);]]'' -  +
-Tyto funkce umožňují nastavení rozsahu\\ +
-''[[https://github.com/bolderflight/invensense-imu/blob/main/src/mpu9250.h#:~:text=bool%20ConfigDlpfBandwidth(const%20DlpfBandwidth%20dlpf)%3B | ConfigDlpfBandwidth(dlpf);]]'' -  +
-Funkce umožňuje nastavení digitální dolní propusti (Digital Low Pass Filter)\\ +
- +
- +
- +
- +
-== 4 rozsahy: == +
-^  [[https://github.com/bolderflight/invensense-imu/blob/main/src/mpu6500.h#:~:text=enum-,GyroRange,-%3A%20int8_t%20%7B | Gyroskop]]  ^  [[https://github.com/bolderflight/invensense-imu/blob/main/src/mpu6500.h#:~:text=enum-,AccelRange,-%3A%20int8_t%20%7B | Akcelerometr]]  ^  Magnetometr ^ +
-|  ±250 °/s  |  ±2 g  |  ±4800 µT  | +
-|  ±500 °/s  |  ±4 g  |  :::  | +
-|  ±1000 °/s  |  ±8 g  |  :::  | +
-|  ±2000 °/s  |  ±16 g  |  :::  | +
- +
-<file cpp MPU-9250.ino> +
-#include "mpu9250.h"  // Kód je psaný pro verzi knihovny 6.0.3 +
- +
-bfs::Mpu9250 imu; +
- +
-void SensorInterrupt() { +
-  Serial.println("Pohyb"); +
-+
- +
-void setup() { +
-  Serial.begin(115200); +
-  Serial.println("\nMPU9250 test"); +
- +
-  Wire.begin();                                    // nastavení I2C: Wire.begin(SDA, SCL); +
-  Wire.setClock(400000);                           // rychlost I2C komunikace (400kHz) +
-  imu.Config(&Wire, bfs::Mpu9250::I2C_ADDR_PRIM);  // I2C, adresa: |AD0=LOW I2C_ADDR_PRIM| |AD0=HIGH I2C_ADDR_SEC| +
-  //imu.Config(&SPI, 5); // SPI bus, CS pin +
- +
-  if (!imu.Begin()) {  // spuštění komunikace se senzorem +
-    Serial.println("CHYBA komunikace se senzorem"); +
-    while (1) {} +
-  } +
- +
-  // práh 40mg, rychlost dat z akcelerometru 15.63Hz +
-  //imu.EnableWom(40, bfs::Mpu9250::WOM_RATE_15_63HZ);  // Wake on motion +
-  //pinMode(2, INPUT); // INT pin sentoru na pinu 2 Arduina/ESP32 +
-  //attachInterrupt(2, SensorInterrupt, RISING); +
- +
-  if (!imu.ConfigSrd(19)) Serial.println("CHYBA nastavovani SRD");  // rychlost vzorkovani[Hz] = 1000/(srd + 1) +
-  if (!imu.ConfigAccelRange(bfs::Mpu9250::ACCEL_RANGE_4G)) Serial.println("CHYBA nastavovani rozsahu akcelerometru"); +
-  if (!imu.ConfigGyroRange(bfs::Mpu9250::GYRO_RANGE_1000DPS)) Serial.println("CHYBA nastavovani rozsahu gyroskopu"); +
-  if (!imu.ConfigDlpfBandwidth(bfs::Mpu9250::DLPF_BANDWIDTH_20HZ)) Serial.println("CHYBA nastavovani DLPF"); +
- +
-  PrintSRD(); +
-  PrintAccelRange(); +
-  PrintGyroRange(); +
-  PrintDlpfBbandwidth(); +
-  delay(5000); +
-+
- +
-void loop() { +
-  PrintData(); +
-  delay(500); +
-+
- +
-void PrintSRD() { +
-  uint8_t srd = imu.srd(); +
-  Serial.print("SRD: ");  +
-  Serial.print(srd); +
-  Serial.print(" -> "); +
-  Serial.print(1000.0 / (srd + 1)); +
-  Serial.println("Hz"); +
-+
- +
-void PrintAccelRange() { +
-  Serial.print("Rozsah akcelerometru: +-"); +
-  switch (imu.accel_range()) { +
-    case 0x00: Serial.println("2g"); break; +
-    case 0x08: Serial.println("4g"); break; +
-    case 0x10: Serial.println("8g"); break; +
-    case 0x18: Serial.println("16g"); break; +
-  }; +
-+
- +
-void PrintGyroRange() { +
-  Serial.print("Rozsah gyroskopu: +-"); +
-  switch (imu.gyro_range()) { +
-    case 0x00: Serial.println("250°/s"); break; +
-    case 0x08: Serial.println("500°/s"); break; +
-    case 0x10: Serial.println("1000°/s"); break; +
-    case 0x18: Serial.println("2000°/s"); break; +
-  } +
-+
- +
-void PrintDlpfBbandwidth() { +
-  Serial.print("Sirka pasma DLPF: "); +
-  switch (imu.dlpf_bandwidth()) { +
-    case 0x01: Serial.println("184Hz"); break; +
-    case 0x02: Serial.println("92Hz"); break; +
-    case 0x03: Serial.println("41Hz"); break; +
-    case 0x04: Serial.println("20Hz"); break; +
-    case 0x05: Serial.println("10Hz"); break; +
-    case 0x06: Serial.println("5Hz"); break; +
-  }; +
-+
- +
-void PrintData() { +
-  if (imu.Read()) { +
-    Serial.println("\nimu\tmag\tacc X\tacc Y\tacc Z\tgyr X\tgyr Y\t gyr Z\tmag X\tmag Y\tmag Z\ttemp"); +
-    Serial.print(imu.new_imu_data());   Serial.print("\t"); +
-    Serial.print(imu.new_mag_data());   Serial.print("\t"); +
-    Serial.print(imu.accel_x_mps2());   Serial.print("\t"); +
-    Serial.print(imu.accel_y_mps2());   Serial.print("\t"); +
-    Serial.print(imu.accel_z_mps2());   Serial.print("\t"); +
-    Serial.print(imu.gyro_x_radps());   Serial.print("\t"); +
-    Serial.print(imu.gyro_y_radps());   Serial.print("\t"); +
-    Serial.print(imu.gyro_z_radps());   Serial.print("\t"); +
-    Serial.print(imu.mag_x_ut());       Serial.print("\t"); +
-    Serial.print(imu.mag_y_ut());       Serial.print("\t"); +
-    Serial.print(imu.mag_z_ut());       Serial.print("\t"); +
-    Serial.println(imu.die_temp_c()); +
-  } +
-+
-</file>+
  
 === HTU21D(F) === === HTU21D(F) ===
   * **Senzor teploty a vlhkosti**   * **Senzor teploty a vlhkosti**
   * Komunikace přes **I2C**   * Komunikace přes **I2C**
-  * Napájení **1.5 - 3.6V** +  >> [[Arduino_HTU21D | Více informací]] <<
-  * Nastavitelné rozlišení +
-  * Vestavěné vyhřívání pro diagnostiku +
-  * Snímání napájecího napětí +
-  * Nastavitelné rozlišení+
  
-[[https://github.com/sparkfun/SparkFun_HTU21D_Breakout_Arduino_Library| SparkFun_HTU21D_Breakout_Arduino_Library]]\\ +=== MLX90614(DAA) === 
-[[https://cz.mouser.com/datasheet/2/418/5/NG_DS_HPC199_6_A1-1128627.pdf | Data sheet]]\\ +  * **IR teploměr** 
- +  * Komunikace es **SMBus**, nebo **PWM výstup** 
- ^  HTU21D  ^  ARDUINO  ^  ESP32  ^ +  >> [[Arduino_MLX90614 Více informací]] << 
-^ I2C |  SDA  |  A4  |GPIO21 | +   
-^ ::: |  SCL  |  A5  |GPIO22 | +=== BH1750 ==
- +  * **Senzor intenzity osvětlení** 
-Výrobce doporučuje senzor po každém spuštění restartovat. Aktuální verze knihovny tuto funkci nenabízí, nicméně definuje íkaz SOFT_RESET. Následující kus kódu lze pro tento účel používat. +  * Komunikace přes **I2C** 
-<code> +  >> [[Arduino_BH1750 Více informací]] << 
-Wire.beginTransmission(HTU21D_ADDRESS); +   
-Wire.write(SOFT_RESET); +=== HMC5883L === 
-Wire.endTransmission(); +  * Tříosý **magnetometr** 
-</code> +  * Komunikace přes **I2C** 
- +  >> [[Arduino_HMC5883L Více informací]] << 
-Knihovna obsahuje:\\ +   
-''[[https://github.com/sparkfun/SparkFun_HTU21D_Breakout_Arduino_Library/blob/master/src/SparkFunHTU21D.h#:~:text=void%20begin(TwoWire%20%26wirePort%20%3D%20Wire)%3B begin(&wirePort);]]'' - ''wirePort'' - I2C sběrnice\\ +=== DHT22 === 
-''[[https://github.com/sparkfun/SparkFun_HTU21D_Breakout_Arduino_Library/blob/master/src/SparkFunHTU21D.h#:~:text=float%20readTemperature(void)%3B|readTemperature();]]'' - vrátí naměřenou teplotu [°C] jako ''float''\\ +  * **Čidlo teploty vlhkosti** 
-''[[https://github.com/sparkfun/SparkFun_HTU21D_Breakout_Arduino_Library/blob/master/src/SparkFunHTU21D.h#:~:text=float%20readHumidity(void)%3B|readHumidity();]]'' - vrátí naměřenou vlhkost [%] jako ''float'' \\ +  * ±0.5°C ±5
-''[[https://github.com/sparkfun/SparkFun_HTU21D_Breakout_Arduino_Library/blob/master/src/SparkFunHTU21D.h#:~:text=void%20setResolution(byte%20resBits)%3B|setResolution(resBits);]]'' - Slouží k nastavení rozlišení pro teplotu a vlhkost\\ +  >> [[Arduino_DHT22 | Více informací]] << 
-''[[https://github.com/sparkfun/SparkFun_HTU21D_Breakout_Arduino_L\\ibrary/blob/master/src/SparkFunHTU21D.h#:~:text=void%20writeUserRegister(byte%20val)%3B|writeUserRegister(val);]]'' - Slouží pro nastavení senzoru, ''val'' - 8 bitů nastavení\\ +   
-''[[https://github.com/sparkfun/SparkFun_HTU21D_Breakout_Arduino_Library/blob/master/src/SparkFunHTU21D.h#:~:text=byte%20readUserRegister(void)%3B|readUserRegister();]]'' - Slouží pro přečtení nastavení senzoru +=== DHT11 === 
- +  * **Čidlo teploty a vlhkosti** 
-První a poslední bit určuje nastavení rozlišení. +  * ±2°C ±5% 
-Bit 6 indikuje napájecí napětí menší něž 2.25V (End of Battery). +  >> [[Arduino_DHT11 | Více informací]] << 
-Bitem číslo 2 se zapíná nebo vypíná vestavěné vyhřívání. Pokud se senzor zahřeje, měl by měřit vyšší teplotu a nižší vlhkost. Díky tomu lze automaticky ověřit funkčnost senzoru. Více informací je v datasheetu na straně 13. +   
- +=== DS18B20 === 
-^  ROZLIŠENÍ  ||  +  * Digitální **teploměr** 
-|  __Teplota__  |  __Vlhkost__ +  * ±0.4°C 
- [[https://github.com/sparkfun/SparkFun_HTU21D_Breakout_Arduino_Library/blob/master/src/SparkFunHTU21D.h#:~:text=USER_REGISTER_RESOLUTION_RH12_TEMP14|14b 12b]]  || +  >> [[Arduino_DS18B20 | Více informací]] <<
-|  [[https://github.com/sparkfun/SparkFun_HTU21D_Breakout_Arduino_Library/blob/master/src/SparkFunHTU21D.h#:~:text=USER_REGISTER_RESOLUTION_RH8_TEMP12|12b 8b]]  || +
- [[https://github.com/sparkfun/SparkFun_HTU21D_Breakout_Arduino_Library/blob/master/src/SparkFunHTU21D.h#:~:text=USER_REGISTER_RESOLUTION_RH10_TEMP13|13b 10b]]  || +
- [[https://github.com/sparkfun/SparkFun_HTU21D_Breakout_Arduino_Library/blob/master/src/SparkFunHTU21D.h#:~:text=USER_REGISTER_RESOLUTION_RH11_TEMP11|11b 11b]]  || +
- +
- +
-<file cpp HTU21D.ino> +
-#include <Wire.h> +
-#include "SparkFunHTU21D.h" // Kód je psaný pro verzi knihovny 1.1.3 +
- +
-HTU21D htu; +
- +
-void setup() { +
-  Serial.begin(9600); +
-  Serial.println("\nHTU21D test"); +
-  htu.begin(); // Spuštění komunikace se senzorem +
-  htuReset();  // Knihovna tuto funkci neobsahuje +
-  printInfo(); +
-  /Zápis do registru: vypnutí OTP, změna rozlišení na 8bitů pro vlhkost a 12bitů pro teplotu *+
-  htu.writeUserRegister(USER_REGISTER_DISABLE_OTP_RELOAD | USER_REGISTER_RESOLUTION_RH8_TEMP12); +
-+
- +
-void loop() { +
-  printInfo(); +
-  delay(1000); +
-+
- +
-void htuReset() { +
-  Wire.beginTransmission(HTU21D_ADDRESS); +
-  Wire.write(SOFT_RESET); +
-  Wire.endTransmission(); +
-+
- +
-void printInfo() { +
-  float temp = htu.readTemperature();       // Měření teploty +
-  float humd = htu.readHumidity();          // Měření vlhkosti +
-  uint8_t userReg = htu.readUserRegister(); // Načtení registru +
- +
-  Serial.println("\n\nteplota\t\tvlhkost\t\tbattery\t\theater\t\tOTP reload\trozliseni\tregistr"); +
-  Serial.print(temp); Serial.print("°C\t\t"); +
-  Serial.print(humd); Serial.print("%\t\t"); +
-  Serial.print(userReg & USER_REGISTER_END_OF_BATTERY ? "low" : "ok");  Serial.print("\t\t"); +
-  Serial.print(userReg & USER_REGISTER_HEATER_ENABLED ? "on" : "off");  Serial.print("\t\t"); +
-  Serial.print(userReg & USER_REGISTER_DISABLE_OTP_RELOAD  ? "disable" : "enable"); Serial.print("\t\t"); +
-  switch (userReg & USER_REGISTER_RESOLUTION_MASK) { // rozlišení [teplota + vlhkost] +
-    case USER_REGISTER_RESOLUTION_RH12_TEMP14: Serial.print("14 + 12\t\t"); break; +
-    case USER_REGISTER_RESOLUTION_RH8_TEMP12: Serial.print("12 +  8\t\t"); break; +
-    case USER_REGISTER_RESOLUTION_RH10_TEMP13: Serial.print("13 + 10\t\t"); break; +
-    case USER_REGISTER_RESOLUTION_RH11_TEMP11: Serial.print("11 + 11\t\t"); break; +
-  } +
-  for(int i = 7; i >= 0; i--) Serial.print(bitRead(userReg, i)); // Výpis registru +
-+
-</file> +
- +
- +
-=== Digitální teploměr DS18B20 === +
-Dallas Temperature Control Library [[http://www.milesburton.com/?title=Dallas_Temperature_Control_Library]]\\ +
-praktické poznámky k OneWire sběrnici [[http://playground.arduino.cc/Learning/OneWire]] +
- +
-příklady použití\\ +
-{{:education:nano_ds18b20.zip|}} +
- +
-=== Čidlo vlhkosti a teploty DHT11 === +
-podpora pro sensory DHT11 [[http://playground.arduino.cc/Main/DHT11Lib]]\\ +
-poznámky k čidlům DHTxx [[http://playground.arduino.cc/Main/DHTLib]] +
- +
-příklady použití\\ +
-{{:education:nano_dht.zip|}} +
- +
- +
-=== Čidlo úrovně osvětlení BH1750 === +
-pozn.: modul označen GY-30\\ +
-popis použití modulu BH1750 (s knihovnou BH1750) [[http://blog.venca-x.cz/arduino-mereni-svetelne-intenzity-s-bh1750/]]\\ +
-popis použití modulu BH1750 (bez knihovny) [[http://blog.simtronyx.de/en/measurement-of-illuminance-with-a-bh1750fvi-breakout-board-gy-30-and-an-arduino-uno/]] +
- +
-příklady použití\\ +
-{{:education:nano_bh1750.zip|}} +
- +
-=== Čidlo atmosférického tlaku BMP180 === +
-pozn.: modul označen GY-68, kompatibilní s BMP085\\ +
-základní popis modulu [[https://laborja.wordpress.com/venta/arduino/gy-68-pressure-sensor-bmp180/]]\\ +
-knihovna Adafruit BMP085 [[https://github.com/adafruit/Adafruit_BMP085_Unified]]\\ +
-knihovna Adafruit sensors [[https://github.com/adafruit/Adafruit_Sensor]]\\ +
- +
-příklady použití:\\ +
-příklad sensorapi z knihovny Adafruit BMP085+
  
 === RTC DS1307 === === RTC DS1307 ===
Řádek 475: Řádek 175:
 ==== Přenos a záznam dat do PC ==== ==== 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.+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 WiFi rozhraním ====
education/arduino.1685342835.txt.gz · Poslední úprava: 2023/08/18 12:36 (upraveno mimo DokuWiki)