Turinys:
- Prekės
- 1 žingsnis: sprendimo kilmė
- 2 žingsnis: paaiškinimas
- 3 žingsnis: nustatykite ir pašalinkite rezistorius
- 4 žingsnis: sprendimų palyginimas
- 5 žingsnis: galutiniai dalykai
Video: 5 V LCD ekranas su „Arduino Due 3.3V I2C“: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Šiuo įrašu siekiama paaiškinti paprastesnį būdą naudoti „Arduino Due“(arba kitą 3,3 V plokštę) su populiariu 16x2 skystųjų kristalų ekranu su „I2C“adapterio moduliu.
Pradinė problema yra ta, kad skystųjų kristalų ekranui reikia 5 V, kad jo foninis apšvietimas veiktų tinkamai, tačiau SCL ir SDA kaiščiai turėtų veikti esant 3,3 V įtampai, kad galėtų bendrauti su „Arduino Due“nesukeliant žalos. Norėdami tai išspręsti, radau dvi galimybes:
Labiausiai paminėtas sprendimas yra naudoti dvikryptį loginio lygio keitiklį, kuris iš tikrųjų išsprendžia problemą. Tačiau tai taip pat prideda dar vieną komponentą prie jūsų sąrašo ir papildomas laidų jungtis jūsų grandinėje
Kitas būdas, kurį radau, yra paprasčiausiai iš LCD ištraukti 2 ištraukimo rezistorius „I2C adapterio kuprinėje“. Be to, kad tai daug lengviau, jis turi ir kitų pranašumų, paaiškintų palyginime pabaigoje. Šis metodas yra pagrindinis šio įrašo akcentas
Prekės
Arduino Due
16x2 skystųjų kristalų ekranas su I2C adapterio moduliu
Lituoklis
Litavimo siurblys arba litavimo dagtis
Pincetai
1 žingsnis: sprendimo kilmė
Sprendimas buvo ne mano sugalvotas, aš pamačiau gana gerą pasiūlymą ir paaiškinimą „Arduino“forume žemiau esančioje nuorodoje, kurią pakartosiu šiame įraše.
forum.arduino.cc/index.php?topic=553725.0
Atsakymas iš: david_prentice
Internete neradau jokios išsamios pamokos ir, kadangi tai labai dažna problema, bandau čia išsamiai pateikti sprendimą, liudyti, kad jis iš tikrųjų veikia, ir pridėti informacijos, galinčios sušvelninti skepticizmą dėl jo rezultatų.
2 žingsnis: paaiškinimas
Įrenginiai
Kad „I2C“ryšys veiktų, jam reikia traukimo rezistorių, prijungtų prie SDA ir SCL kaiščių. Taip yra todėl, kad prietaisai bendraudami šiuos kaiščius pasuka tik žemai. Norint pavaizduoti HIGH, jis turi tik nesiųsti LOW, o prisitraukimų dėka jis eina į HIGH. (šis supratimas bus labai svarbus vėliau)
LCD „I2C kuprinė“turi du 4K7 ištraukiamus rezistorius, kurie atitinka I2C reikalavimus. Bet kadangi jie yra prijungti prie Vcc, jei naudosite 5 V, jie ištrauks SDA ir SCL iki 5 V.
Jei pažvelgsite į duomenų lapą, pamatysite, kad, skirtingai nuo kitų plokščių, „Due“pagrindiniuose SDA, SCL kaiščiuose jau yra 1K5 ištraukiamieji rezistoriai, kurie juos traukia iki 3,3 V.
Bandymai
- Ekranas LCD -> „Arduino“
- Gnd -> Gnd
- Vcc -> 5V
- SDA -> SDA
- SCL -> SCL
Jei tiesiog prijungsite skystųjų kristalų ekraną prie „Due“(vadovaudamiesi aukščiau pateiktais laidais), 1k5 (arba 1k0) „Due“prisitraukimai, prijungti prie 3,3 V, ir 4K7 LCD prisitraukimai, prijungti prie 5 V, sukels tuščiosios eigos I2C linijas esant 3,7 V (3,6 V) su 1k0). Tai nėra gerai, nes „Due“duomenų lape nustatyta maksimali 3,6 V įtampa jo įvesties/išvesties linijoms.
Išbandęs šį scenarijų, turėdamas tik LCD, gavau 3, 56 V. Pridėjus EEPROM modulį prie tų pačių SDA ir SCL, jis padidėjo iki 3.606 V. Abiem atvejais viskas veikė normaliai, tačiau įtampa toli gražu nėra ideali lygius, atsižvelgiant į maksimalią 3,6 V įtampą.
Taigi taip, yra tikimybė, kad jis veiks taip pat, kaip ir mano, nedarant jokių pakeitimų. Tačiau įtampos lygis vis dar toli gražu nėra idealus ir dėl tam tikrų neatitikimų dėl „Due“arba LCD traukimo jis gali viršyti 3,6 V ribą. (Patartina prieš kruopščiai išbandyti 20K arba 100K potenciometrą, koks yra mažiausias pasipriešinimas tarp 5 V ir SCL/SDA kaiščių, kol jie pasiekia 3,6 V, nors likęs tirpalas yra daug saugesnis ir tikriausiai lengvesnis)
Sprendimas
Pateiktas sprendimas yra tiesiog pašalinti ištraukiamus rezistorius iš LCD kuprinės, kurie bando ištraukti liniją iki 5 V. Tada liks tik „Due onboard“traukimo rezistoriai, traukiantys SCL ir SDA linijas iki 3,3 V.. Jis veikė puikiai, išlaikydamas tuščiosios eigos kaiščius esant maždaug 3,262 V įtampai!
Ryšiai išlieka tie patys:
- LCD ekranas -> Arduino
- Gnd -> Gnd
- Vcc -> 5V
- SDA -> SDA
- SCL -> SCL
Jei jums įdomu, ar skystųjų kristalų ekranas netraukia linijos iki 5 V, kad bendraudamas parodytų AUKŠTUMĄ, atminkite, kad „I2C“įrenginiai traukia tik žemas linijas, o tai yra HIGH signalas, kuris netrukdo, o tai bus 3,3 V „Due“borto prisitraukimai.
Be to, 3,3 V pakanka, kad I2C kuprinė būtų laikoma HIGH signalu.
3 žingsnis: nustatykite ir pašalinkite rezistorius
Aukščiau esančiame paveikslėlyje raudonai rodomi prisitraukimo rezistoriai, kuriuos radau savo modulyje.
Nustatykite
Kadangi LCD I2C adapterio kuprinė gali skirtis, rezistoriai gali būti ne tos pačios konfigūracijos. Norėdami nustatyti traukimo rezistorius, galite naudoti multimetrą su tęstinumo testu. Kiekvieno traukimo rezistoriaus vienas galas turi būti prijungtas prie SCL arba SDA kaiščio, o kitas galas prie Vcc.
Mano atveju, plokštėje buvo trys iš 4K7 (472 SMD kodu) rezistorių. Tik du iš jų atitiko aukščiau nurodytus reikalavimus, nurodydami, kad tai yra traukiniai, kurių mes ieškojome!
Dėl papildomų atsargumo priemonių (jei dėl kokių nors priežasčių jie nebuvo 4K7), aš taip pat išbandžiau kitus rezistorius ir patvirtinau, kad nė vienas iš jų neatitinka traukimo reikalavimų.
Pašalinti
Dabar viskas, ką jums reikia padaryti, yra juos išlydyti! Lengviau, jei turite litavimo siurblį arba litavimo dagtį ir pincetus.
4 žingsnis: sprendimų palyginimas
Dviejų krypčių loginio lygio keitiklis (LLC)
Argumentai "už":
Nereikalauja jokios litavimo įrangos ar galimybių
Minusai:
Į jūsų sąrašo komponentų sąrašą įtraukia daugiau kabelių ir LLC
„Messier“jungtys su papildomais komponentais
Šiek tiek brangesnis
Atitirpinkite LCD traukiamus rezistorius
Argumentai "už":
Švaresnis galutinis rezultatas
Tikriausiai tai galite padaryti iš karto, nereikia laukti LLC
Ypač gerai, jei norite sumažinti sudėtingo projekto komponentų įvairovę ir surinkimo sudėtingumą arba kuriuos norite pakartoti
Minusai:
Pakeičia skystųjų kristalų grandinę (jei norite, kad jis būtų „paruoštas naudoti“su „Uno“, jau turintis „4K7“prisitraukimus, galite anuliuoti pakeitimus, juos perkaitinant)
5 žingsnis: galutiniai dalykai
Tikiuosi, kad ši pamoka šiek tiek paaiškins šią suderinamumo problemą ir kai kuriuos galimus jos sprendimus.
Jei turite kokių nors tobulinimo idėjų, geresnių paaiškinimų, naujų sprendimų ar radote kokių nors klaidų įraše, praneškite man komentaruose!:)
Rekomenduojamas:
„Bluetooth“valdomas „Messenger“skystųjų kristalų ekranas -- 16x2 skystųjų kristalų ekranas -- Hc05 -- Paprasta -- Belaidžio ryšio skelbimų lenta: 8 žingsniai
„Bluetooth“valdomas „Messenger“skystųjų kristalų ekranas || 16x2 skystųjų kristalų ekranas || Hc05 || Paprasta || Belaidžio ryšio skelbimų lenta: …………………………. Prenumeruokite mano „YouTube“kanalą, kad gautumėte daugiau vaizdo įrašų …… ………………………………… Skelbimų lenta naudojama žmonėms atnaujinti nauja informacija arba jei norite išsiųsti pranešimą kambaryje arba po
TTGO (spalvotas) ekranas su mikropitonu (TTGO T-ekranas): 6 žingsniai
TTGO (spalvotas) ekranas su „Micropython“(TTGO T-ekranas): „TTGO T-Display“yra plokštė, pagrįsta ESP32, kurioje yra 1,14 colio spalvotas ekranas. Lentą galima nusipirkti už mažesnį nei 7 USD prizą (įskaitant pristatymą, prizas matomas „banggood“). Tai neįtikėtinas prizas už ESP32, įskaitant ekraną. T
I2C / IIC LCD ekranas - Naudokite SPI LCD prie I2C LCD ekrano Naudodami SPI to IIC modulį su „Arduino“: 5 žingsniai
I2C / IIC LCD ekranas | Naudokite SPI LCD prie I2C LCD ekrano SPI to IIC modulio naudojimas su „Arduino“: Sveiki, vaikinai, nes įprastas SPI LCD 1602 turi per daug laidų prijungti, todėl labai sunku jį sujungti su „arduino“, tačiau rinkoje yra vienas modulis, kuris gali konvertuoti SPI ekraną į IIC ekraną, todėl jums reikia prijungti tik 4 laidus
I2C / IIC LCD ekranas - Konvertuokite SPI LCD į I2C LCD ekraną: 5 žingsniai
I2C / IIC LCD ekranas | Konvertuokite SPI LCD į I2C LCD ekraną: naudojant „spi lcd“ekraną reikia per daug jungčių, o tai padaryti tikrai sunku, todėl radau modulį, kuris gali konvertuoti „i2c LCD“į „spi lcd“, todėl pradėkime
„Pasidaryk pats“I2C LCD ekranas su įėjimais: 6 žingsniai
„Pasidaryk pats“I2C skystųjų kristalų ekranas su įėjimais: tipiškas lygiagretus skystųjų kristalų ekranas, naudojamas su „Arduino“(16x2 arba 20x4), turi 16 kontaktų. „Arduino“reikia tik 6 įvesties/išvesties kaiščių, bet kas būtų, jei galėtumėte tai sumažinti iki dviejų įvesties/išvesties kaiščių ir vis tiek turėtumėte tuos kaiščius kitiems įrenginiams? „I2C“sąsaja yra