Ahoj, chtěl bych číst teplotu a vlhkost I2C čidla HIH 8120 od Honeywellu arduinem MKR1000. Našel jsem knihovnu HIH61xx s , která mi hlásí při kompilaci v arduinu IDE chybu:
***
Documents\Arduino\libraries\SoftWire-1.0.4\src\SoftWire.cpp:1:25: fatal error: util/atomic.h: No such file or directory #include <util/atomic.h>
compilation terminated.
exit status 1
Nastala chyba při kompilaci u desky Arduino/Genuino MKR1000.
***
Problém je možná v tom, že ta knihovna není určená pro MKR1000...
Zkoušel jsem i následující kód, který chodí, ale je nějak nutno zajisti při komunikaci přes I2C pauzu asi 50ms mezi oslovením čidla masterem a čtením dat z čidla, jinak čidlo to hlásí/posílá "nepřipravená data v čidle"
***
#include <Wire.h>
void setup() {
Serial.begin(9600); // initialize serial communication
// Wire.setClock(100000);
Wire.begin(); // join i2c bus (address optional for master)
}
void loop() {
Wire.requestFrom(39,4,1); // request 4 bytes from slave device
while(Wire.available()) // slave may send less than requested
{
char c = Wire.read(); // receive a byte as character
Serial.println(c, HEX); // print
Serial.println(c, BIN);
Serial.println("----");
}
delay(2000);
}
***
Wire.requestFrom osloví čidlo adresou a data čte okamžitě. Tím nejsou data v čidle připravena. Proto jsem otevřel knihovnu wire.cpp a snažil se tam nasadit nějaký ten delay (asi špatně), což se nepodařilo.
Jak tedy postupovat, abych zajistil tu pauzu 50us?
Je nutno to programovat od základu? Je to uP SAMD21 v MKR1000
Díky
Arduino MKR1000 a I2C čidlo teploty a vlhkosti HIH8120 pauza
Diskuze a poradna o programátorech a programování různých obvodů
Moderátor: Moderátoři
Zpráva
Autor
Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“
Přejít na
- Pro všechny uživatele - čtěte pozorně !
- ↳ NOVÉ | Vaše dojmy a názory k této podobě fóra
- ↳ NOVÁ PRAVIDLA EB + GDPR (aktualizováno 01/2020)
- ↳ Upload/download server
- ↳ Provoz fóra
- ↳ Upozornění na SPAM, porušení Pravidel EB, BAN narušitelů, blokování IP adres
- Nové rubriky na zkoušku
- ↳ Pravidla sekce
- ↳ "Čínský" a jiný šmejd
- ↳ Historie a vzpomínky na doby dávno minulé
- ↳ Energie a energetika v domácnosti
- Opravářská a servisní část
- ↳ Audiotechnika
- ↳ Autorádia
- ↳ Bílá technika
- ↳ Měřící přístroje, detektory fyzikálních veličin
- ↳ Elektrické nářadí
- ↳ Dílenské vybavení, nářadí, pomůcky, přípravky
- ↳ Televizory, monitory a projektory - PORADNA pro amatéry a začátečníky
- ↳ Servis televizorů, monitorů a projektorů - PROFI sekce
- ↳ Příjem DVB-T, DVB-C, DVB-S, IPTV a dalších
- ↳ Digitální rozhlas
- ↳ DVD, VHS, SAT
- ↳ Satelitní technika a dekódování
- ↳ Svářečky, UPS, nabíječe, měniče, zdroje, trafa a další
- ↳ GSM / CDMA / LTE technika a telefony
- ↳ Fotoaparáty, kamery a jiné optické přístroje
- ↳ Linkové telefony, faxy, tel. ústředny včetně domácích
- ↳ Opravy a restaurování starých elektropřístrojů
- ↳ Navigace
- Průmyslová elektronika
- ↳ Auto - Moto technika
- ↳ Silnoproudá technika
- ↳ Bezdrátová technika a technologie, VF technika
- ↳ Mikrovlny a mikrovlnná technika nad 1GHz
- ↳ Měření, regulace a automatizace
- ↳ Osvětlovací technika
- ↳ Zabezpečovací technika
- ↳ Protipožární technika
- ↳ Kamerová technika
- ↳ NC stroje
- Výpočetní technika, MINI-PC, (mikro)procesory, programování
- ↳ Výpočetní technika
- ↳ Programování PIC, ATMEL, EEPROM a dalších obvodů
- ↳ Software
- ↳ Miniaturní počítače (Arduino, Raspberry a další)
- ↳ Simulátory a simulace obvodů
- ↳ 3D tisk
- Bastlíři
- ↳ Poradna
- ↳ Řešení problémů s různými konstrukcemi
- ↳ Součástky
- ↳ Teorie
- ↳ Zapojení ze šuplíku
- Služby
- ↳ Nabídka služeb
- ↳ Poptávka služeb, nabídky zaměstnání
- ↳ Nabídka přístrojů, součástek a náhradních dílů
- ↳ Sháňka po přístrojích, součástkách nebo náhradních dílech
- ↳ Přivezu, nakoupím, odvezu
- Ostatní
- ↳ Nezařaditelné
- ↳ Co je nového?
- ↳ SMS
- ↳ Na vyzkoušení
- ↳ Hvjezdná pjechota
- ↳ Koš