Turinys:
- 1 žingsnis: Kaip veikia „I2c“
- 2 žingsnis:
- 3 žingsnis: naudojimas
- 4 žingsnis: perskaitykite vertę
- 5 veiksmas: perskaitykite „Vale“iš kanalo
- 6 veiksmas: parašykite vertę
- 7 žingsnis: papildomos funkcijos
- 8 veiksmas: jungties schemos pavyzdžiai
- 9 žingsnis: ačiū
Video: PCF8591 (i2c analoginis įvesties/išvesties plėtiklis) Greitas ir paprastas naudojimas: 9 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Biblioteka, skirta naudoti i2c pcf8591 IC su arduino ir esp8266.
Šis IC gali valdyti (iki 4) analoginį įėjimą ir (arba) 1 analoginį išėjimą, pavyzdžiui, išmatuoti įtampą, nuskaityti termistoriaus vertę arba išblukti.
Gali skaityti analoginę vertę ir rašyti analoginę reikšmę tik 2 laidais (puikiai tinka ESP-01).
Stengiuosi supaprastinti šio IC naudojimą su minimaliu operacijų rinkiniu.
Atnaujintą versiją rasite mano svetainėje
1 žingsnis: Kaip veikia „I2c“
„I2C“veikia su dviem laidais: SDA (duomenų linija) ir SCL (laikrodžio linija).
Abi šios linijos yra atviro nutekėjimo, tačiau ištraukiamos su rezistoriais.
Paprastai linijoje yra vienas šeimininkas ir vienas ar keli vergai, nors gali būti keli šeimininkai, tačiau apie tai kalbėsime vėliau.
Tiek šeimininkai, tiek vergai gali perduoti arba priimti duomenis, todėl įrenginys gali būti vienoje iš šių keturių būsenų: pagrindinis perdavimas, pagrindinis priėmimas, vergo perdavimas, vergo priėmimas.
2 žingsnis:
Mano biblioteką rasite čia.
Atsisiųsti.
Viršutiniame dešiniajame kampe spustelėkite mygtuką ATSISIŲSTI, pervardykite nesuspaustą aplanką PCF8591.
Patikrinkite, ar aplanke PCF8591 yra PCF8591.cpp ir PCF8591.h.
Įdėkite bibliotekos aplanką PCF8591 į savo / libraries / aplanką.
Jums gali tekti sukurti bibliotekų pakatalogį, jei tai jūsų pirmoji biblioteka.
Iš naujo paleiskite IDE.
3 žingsnis: naudojimas
Konstruktorius: turite įvesti „i2c“adresą (norėdami patikrinti adresą, naudokite šį vadovą „I2cScanner“)
PCF8591 (adresas uint8_t);
Esp8266, jei norite nurodyti SDA ir SCL kaištį, naudokite tai:
PCF8591 (adresas uint8_t, uint8_t sda, uint8_t scl);
4 žingsnis: perskaitykite vertę
IC, kaip matote paveikslėlyje, turi 4 analogines įvestis ir 1 analoginę išvestį.
Taigi, norėdami perskaityti visas analogines įvestis viename perdavime, galite tai padaryti (vertė yra nuo 0 iki 255):
PCF8591:: AnalogInput ai = pcf8591.analogReadAll ();
Serijinis atspaudas (ai.ain0); Serial.print (" -"); Serijinis spaudinys (ai.ain1); Serial.print (" -"); Serijinis atspaudas (ai.ain2); Serial.print (" -"); Serial.println (ai.ain3);
jei norite skaityti vieną analoginį įėjimą ar kanalą:
int ana = pcf8591.analogRead (AIN0); // skaityti analogą 0
5 veiksmas: perskaitykite „Vale“iš kanalo
Šis IC turi kelių tipų skaitymą ir galite naudoti analoginį įvestį arba analoginį kanalą (kai naudojate vieno skaitymo analoginę įvestį ir kanalas yra nuotraukose).
Pavyzdžiui, norėdami perskaityti 0 kanalo vertę dviejuose diferenciniuose įėjimuose, turite atlikti šiuos veiksmus:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // skaityti analogą 0
6 veiksmas: parašykite vertę
Jei norite parašyti analoginę vertę, turite tai padaryti (vertė yra nuo 0 iki 255):
pcf8591.analogWrite (128);
7 žingsnis: papildomos funkcijos
Papildoma funkcija yra skaityti rašymo įtampą: Norėdami apskaičiuoti įtampą, turite perduoti tam tikrą parametrą:
- Įtampa: gauti įtampą iš mikrovaldiklio įtampos (tik AVR Nr. esp8266, jei esp 3.3v fiksuota)
- referenceVoltage: jei mikrokontrolerisReferenceVoltage false, paimkite šią vertę Komanda yra:
tuščia įtampaWrite (plūdės vertė, bool mikrovaldiklisReferenceVoltage = true, float referenceVoltage = 5.0);
plūdės įtampaRead (uint8_t analoginis Pin, bool mikrokontrolerisReferenceVoltage = tiesa, plūdės nuorodaVoltage = 5,0);
Pavyzdys yra:
pcf8591.voltageWrite (2.7); // 2.7 voltų išvestis
vėlavimas (3000);
plūdė ana0V = pcf8591.voltageRead (AIN0); // Skaitykite įtampą iš analoginio 0
Serial.println (ana0V);
8 veiksmas: jungties schemos pavyzdžiai
9 žingsnis: ačiū
„i2c“projektų serija (kolekcija):
- Drėgmės temperatūros jutiklis
- Analoginis plėtiklis
- Skaitmeninis plėtiklis
- LCD ekranas
Rekomenduojamas:
Greitas perjungiklis iki 50 USD! „Kazeshifter Arduino“reguliuojamas greitas perjungiklis: 7 žingsniai
Greitas perjungiklis iki 50 USD! „Kazeshifter Arduino“reguliuojamas greitas perjungiklis: Sveiki, „Superbike“ar motociklų mylėtojai! Pagal šią pamoką pasidalinsiu, kaip pigiai pasigaminti savo greitąjį perjungiklį! Žmonėms, kurie tingisi skaityti šią instrukciją, tiesiog žiūrėkite mano vaizdo įrašą! Pastaba: kai kuriems dviračiams kai jau naudojate degalų įpurškimo sistemą
Universali įvesties/išvesties išplėtimo plokštė, skirta valdyti daugelį „Nixie“vamzdžių naudojant I2C: 9 žingsniai (su nuotraukomis)
Universali įvesties/išvesties išplėtimo plokštė, skirta valdyti daugelį „Nixie“vamzdžių su „I2C“: šiuo metu labai įdomu prikelti senovinius „nixie“vamzdelius. Rinkoje galima rasti daugybę „nixie“vamzdinių laikrodžių rinkinių. Atrodė, kad net buvo gyvybingai prekiaujama senomis rusiškų niuksinių vamzdžių atsargomis. Taip pat čia apie instrukcijas
Raspberry Pi - PCA9536 Įvesties/išvesties „Expander Python“pamoka: 4 žingsniai
„Raspberry Pi“-PCA9536 įvesties/išvesties plėtiklio „Python“vadovėlis: „PCA9536“yra 8 kontaktų CMOS įrenginys, teikiantis 4 bitus bendrosios paskirties lygiagrečios įvesties/išvesties (GPIO) išplėtimo, skirto I2C magistralės/SMBus programoms. Jį sudaro 4 bitų konfigūracijos registras, skirtas įvesties ar išvesties pasirinkimui, 4 bitų
DHT12 („i2c“pigus drėgmės ir temperatūros jutiklis), greitas ir paprastas naudojimas: 14 žingsnių
DHT12 („i2c“pigus drėgmės ir temperatūros jutiklis), greitas paprastas naudojimas: atnaujinimus ir kitus galite rasti mano svetainėje https://www.mischianti.org/2019/01/01/dht12-library-en/. Man patinka jutiklis, kuris gali būti naudojamas su 2 laidais („i2c“protokolas), bet man patinka nebrangus. Tai yra „Arduino“ir esp8266 biblioteka, skirta DHT12 serijai
„Raspberry Pi“- PCA9536 „Java“įvesties/išvesties plėtiklis: 4 žingsniai
„Raspberry Pi“-„PCA9536“įvesties/išvesties plėtiklio „Java“pamoka: „PCA9536“yra 8 kontaktų CMOS įrenginys, teikiantis 4 bitus bendrosios paskirties lygiagrečios įvesties/išvesties (GPIO) išplėtimo, skirto I2C magistralės/SMBus programoms. Jį sudaro 4 bitų konfigūracijos registras, skirtas įvesties ar išvesties pasirinkimui, 4 bitų