Turinys:

5 V LCD ekranas su „Arduino Due 3.3V I2C“: 5 žingsniai
5 V LCD ekranas su „Arduino Due 3.3V I2C“: 5 žingsniai

Video: 5 V LCD ekranas su „Arduino Due 3.3V I2C“: 5 žingsniai

Video: 5 V LCD ekranas su „Arduino Due 3.3V I2C“: 5 žingsniai
Video: Как использовать SSD1306 128x32 OLED-дисплей I2C с кодом Arduino 2024, Liepa
Anonim
5V LCD ekranas su „Arduino Due 3.3V I2C“
5V LCD ekranas su „Arduino Due 3.3V I2C“

Š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

Nustatykite ir pašalinkite rezistorius
Nustatykite ir pašalinkite rezistorius
Nustatykite ir pašalinkite rezistorius
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: