education:arduino
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
education:arduino [2023/05/29 09:05] – [Knihovny a příklady použití pro jednotlivé moduly] simurda | education: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 === | ||
{{: | {{: | ||
+ | |||
+ | === I2C Scanner pro Arduino Nano === | ||
+ | {{ : | ||
==== Knihovny a příklady použití pro jednotlivé moduly ==== | ==== Knihovny a příklady použití pro jednotlivé moduly ==== | ||
seznam dostupných modulů [[https:// | seznam dostupných modulů [[https:// | ||
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** | ||
* Komunikace přes **I2C** | * Komunikace přes **I2C** | ||
- | | + | >> [[Arduino_VL53L0X | Více informací]] << |
- | | + | |
=== MPU-9250 === | === MPU-9250 === | ||
Řádek 44: | Řádek 51: | ||
* **Senzor teploty a vlhkosti** | * **Senzor teploty a vlhkosti** | ||
* Komunikace přes **I2C** | * Komunikace přes **I2C** | ||
- | | + | |
- | * Nastavitelné rozlišení | + | |
- | * Vestavěné vyhřívání pro diagnostiku | + | |
- | * Snímání napájecího napětí | + | |
- | * Nastavitelné rozlišení | + | |
- | [[https:// | + | === MLX90614(DAA) === |
- | [[https:// | + | |
- | + | | |
- | | ^ HTU21D | + | >> [[Arduino_MLX90614 |
- | ^ 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 | + | * Komunikace přes **I2C** |
- | <code> | + | |
- | Wire.beginTransmission(HTU21D_ADDRESS); | + | |
- | Wire.write(SOFT_RESET); | + | === HMC5883L === |
- | Wire.endTransmission(); | + | * Tříosý **magnetometr** |
- | </code> | + | |
- | + | | |
- | Knihovna obsahuje: | + | |
- | '' | + | === DHT22 === |
- | '' | + | * **Čidlo |
- | '' | + | |
- | '' | + | >> [[Arduino_DHT22 | Více informací]] << |
- | '' | + | |
- | '' | + | === DHT11 === |
- | + | * **Čidlo | |
- | 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). | + | >> |
- | 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__ | + | * ±0.4°C |
- | | [[https:// | + | >> |
- | | [[https:// | + | |
- | | [[https:// | + | |
- | | [[https:// | + | |
- | + | ||
- | + | ||
- | <file cpp HTU21D.ino> | + | |
- | # | + | |
- | #include " | + | |
- | + | ||
- | HTU21D htu; | + | |
- | + | ||
- | void setup() { | + | |
- | | + | |
- | | + | |
- | | + | |
- | htuReset(); | + | |
- | 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(); | + | |
- | float humd = htu.readHumidity(); | + | |
- | | + | |
- | + | ||
- | Serial.println(" | + | |
- | Serial.print(temp); | + | |
- | Serial.print(humd); | + | |
- | | + | |
- | Serial.print(userReg & USER_REGISTER_HEATER_ENABLED ? " | + | |
- | Serial.print(userReg & USER_REGISTER_DISABLE_OTP_RELOAD | + | |
- | switch (userReg & USER_REGISTER_RESOLUTION_MASK) { // rozlišení [teplota + vlhkost] | + | |
- | case USER_REGISTER_RESOLUTION_RH12_TEMP14: | + | |
- | case USER_REGISTER_RESOLUTION_RH8_TEMP12: | + | |
- | case USER_REGISTER_RESOLUTION_RH10_TEMP13: | + | |
- | case USER_REGISTER_RESOLUTION_RH11_TEMP11: | + | |
- | } | + | |
- | for(int i = 7; i >= 0; i--) Serial.print(bitRead(userReg, | + | |
- | } | + | |
- | </file> | + | |
- | + | ||
- | + | ||
- | === Digitální teploměr DS18B20 === | + | |
- | Dallas Temperature Control Library | + | |
- | praktické poznámky k OneWire sběrnici [[http:// | + | |
- | + | ||
- | příklady použití\\ | + | |
- | {{: | + | |
- | + | ||
- | === Čidlo vlhkosti a teploty | + | |
- | podpora pro sensory DHT11 [[http:// | + | |
- | poznámky k čidlům DHTxx [[http:// | + | |
- | + | ||
- | příklady použití\\ | + | |
- | {{: | + | |
- | + | ||
- | + | ||
- | === Čidlo | + | |
- | pozn.: modul označen GY-30\\ | + | |
- | popis použití modulu BH1750 (s knihovnou BH1750) | + | |
- | popis použití modulu BH1750 (bez knihovny) [[http:// | + | |
- | + | ||
- | příklady použití\\ | + | |
- | {{: | + | |
- | + | ||
- | === Čidlo atmosférického tlaku BMP180 | + | |
- | pozn.: modul označen GY-68, kompatibilní s BMP085\\ | + | |
- | základní popis modulu [[https:// | + | |
- | knihovna Adafruit BMP085 | + | |
- | knihovna Adafruit sensors [[https:// | + | |
- | + | ||
- | příklady použití: | + | |
- | příklad sensorapi z knihovny Adafruit BMP085 | + | |
=== RTC DS1307 === | === RTC DS1307 === | ||
Řádek 257: | Řá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:// | + | Arduino lze použít jako jednoduchý měřící systém k PC nebo tabletu. Na [[http:// |
==== Vývojové desky s WiFi rozhraním ==== | ==== Vývojové desky s WiFi rozhraním ==== |
education/arduino.1685343910.txt.gz · Poslední úprava: 2023/08/18 12:36 (upraveno mimo DokuWiki)