INHOUDSOPGAWE:
- Voorrade
- Stap 1: Oorsprong van die oplossing
- Stap 2: Uitleg
- Stap 3: Identifiseer en verwyder die weerstande
- Stap 4: Vergelyking tussen oplossings
- Stap 5: Laaste oorwegings
Video: 5V LCD -skerm met Arduino Due 3.3V I2C: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
Hierdie post het ten doel om 'n makliker manier om die Arduino Due (of ander 3.3V -bord) met die gewilde LCD 16x2 -skerm met die I2C -adaptermodule te verduidelik.
Die aanvanklike probleem is dat die LCD 5V nodig het om die agtergrond behoorlik te laat werk, maar die SCL- en SDA -penne moet op 3.3V werk om met die Arduino Due te kommunikeer sonder om skade aan te rig. Om dit op te los, het ek twee opsies gevind:
Die mees genoemde oplossing is om 'n tweerigting-logiese vlakomskakelaar te gebruik, wat die probleem inderdaad oplos. Maar dit voeg ook nog 'n komponent by u lys en bykomende bedradingaansluitings op u kring
Die ander manier wat ek gevind het, is om eenvoudig 2 pullup -weerstande in die "I2C -adapterrugsak" van die LCD af te soldeer. Behalwe dat dit baie makliker is, het dit ook ander voordele wat in die vergelyking aan die einde verduidelik word. Hierdie metode is die hooffokus van hierdie pos
Voorrade
Arduino Due
LCD 16x2 -skerm met die I2C -adaptermodule
Soldeerbout
Soldeerpomp of soldeerlont
Pincet
Stap 1: Oorsprong van die oplossing
Die oplossing is nie deur my uitgevind nie; ek het 'n redelike goeie voorstel en verduideliking op die Arduino Forum in die onderstaande skakel gesien, wat ek in hierdie pos sal weergee.
forum.arduino.cc/index.php?topic=553725.0
Antwoord van: david_prentice
Ek kon geen volledige tutoriaal op die internet vind nie, en omdat dit 'n baie algemene probleem is, probeer ek die oplossing hier in detail voorstel, sien hoe dit werk, en voeg inligting by wat 'n mate van skeptisisme oor die uitkomste daarvan kan versag.
Stap 2: Uitleg
Toestelle
Om die I2C -kommunikasie te laat werk, benodig dit pullup -weerstande wat aan die SDA- en SCL -penne gekoppel is. Dit is omdat die toestelle hierdie penne net LOW draai terwyl hulle kommunikeer. Om 'n HOOG voor te stel, hoef dit slegs nie 'n LAAG te stuur nie, en danksy die pulpsies gaan dit na HOOG. (hierdie begrip sal later redelik belangrik wees)
Die LCD "I2C-rugsak" het twee optrekkeweerstands van 4K7 wat aan die I2C-vereiste voldoen. Maar aangesien hulle aan Vcc gekoppel is, trek hulle SDA en SCL na 5 V. as jy 5 V gebruik.
As u na die datablad kyk, kan u sien dat die Due, in teenstelling met ander borde, reeds 1K5-optrekweerstands aan boord op sy hoof SDA, SCL-penne, het wat dit na 3,3 V. trek.
Toetse
- Vertoon LCD -> Arduino
- Gnd -> Gnd
- Vcc -> 5V
- SDA -> SDA
- SCL -> SCL
As u net die LCD op die Due aansluit (volgens die bedrading hierbo), sal die 1k5 (of 1k0) Due pullups wat gekoppel is aan 3.3V en die 4K7 LCD pullups wat gekoppel is aan die 5 V lei tot ledige I2C -lyne by 3.7 V (3.6 V) met 1k0). Dit is nie goed nie, aangesien die Due -datablad 'n maksimum spanning van 3,6 V vir sy I/O -lyne bepaal.
Deur hierdie scenario te toets, met slegs die LCD, het ek 3, 56 V. Deur 'n EEPROM -module by dieselfde SDA en SCL te voeg, het dit tot 3.606 V. gestyg. In beide gevalle werk alles normaal, maar dit is ver van die ideale spanning vlakke in ag genome die maksimum van 3,6 V.
So ja, daar is 'n kans dat dit sal werk net soos myne, terwyl dit nie verander word nie. Maar die spanningsvlak is nog steeds nie ideaal nie, en 'n teenstrydigheid met die Due of LCD -druk kan veroorsaak dat dit bo die limiet van 3,6 V oorskry. (Dit is raadsaam om ten minste eers met 'n 20K of 100K potensiometer noukeurig te toets wat die laagste weerstand tussen 5 V en SCL/SDA penne is voordat hulle tot 3,6 V kom, hoewel die res van die oplossing baie veiliger en waarskynlik makliker is)
Oplossing
Die oplossing is om die optrekweerstands eenvoudig uit die LCD-rugsak te verwyder, wat probeer om die lyn tot 5 V. te trek. Dan bly slegs die Due-aan boord-weerstande oor en trek die SCL- en SDA-lyne na 3.3V. Dit het perfek gewerk en die ledige penne op ongeveer 3,262 V gehou!
Die verbindings bly dieselfde:
- LCD -skerm -> Arduino
- Gnd -> Gnd
- Vcc -> 5V
- SDA -> SDA
- SCL -> SCL
As u wonder of die LCD nie die lyn na 5 V sal trek om 'n HOOG voor te stel tydens kommunikasie nie, onthou dat die toestelle op I2C slegs die lyne LOW trek, dit is die HOOG sein wat voorgestel word as dit nie inmeng nie, wat die 3.3 V van die Due se optrede aan boord.
Die 3.3 V is ook voldoende om die I2C -rugsak as 'n HOOG sein te beskou.
Stap 3: Identifiseer en verwyder die weerstande
Die prent hierbo toon in rooi die pullup -weerstande wat ek in my module gevind het.
Identifiseer
Aangesien die LCD I2C -adapterrugsak kan wissel, is die weerstande moontlik nie in dieselfde konfigurasie nie. Om die pullup -weerstande te identifiseer, kan u 'n multimeter met 'n kontinuïteitstoets gebruik. Elke optrekweerstand moet 'n einde aan die SCL- of SDA-pen hê en die ander kant aan Vcc.
In my geval was daar drie van die 4K7 (472 in SMD -kode) weerstande op die bord. Slegs twee van hulle voldoen aan die vereistes hierbo, en wys daarop dat dit die pullups is wat ons gesoek het!
Vir ekstra voorsorg (as dit om een of ander rede nie 4K7 was nie), het ek ook die ander weerstande getoets en bevestig dat nie een van hulle aan die vereistes voldoen om op te trek nie.
Verwyder
Al wat u hoef te doen is om hulle te laat los! Dit is makliker as u 'n soldeerpomp of soldeerstok en pincet het om te help.
Stap 4: Vergelyking tussen oplossings
Tweerigting Logic Level Converter (LLC)
Voordele:
Vereis geen soldeertoerusting of vermoë nie
Nadele:
Advertensieer meer kabels en die LLC in u lys met komponente
Messiger verbindings met die ekstra komponente
Effens duurder
Los die LCD-optelweerstands af
Voordele:
Skoner eindresultaat
U kan dit waarskynlik onmiddellik doen sonder om op die LLC te wag
Veral goed as u die verskeidenheid komponente en kompleksiteit in 'n komplekse projek wil verminder of wat u wil herhaal
Nadele:
Verander die LCD -stroombaan (as u wil hê dat dit gereed is om te gebruik met die Uno, reeds met die 4K7 pullups, kan u die veranderings ongedaan maak)
Stap 5: Laaste oorwegings
Ek hoop dat hierdie tutoriaal 'n bietjie lig werp op hierdie verenigbaarheidskwessie en sommige van die moontlike oplossings daarvan.
As u idees vir verbetering, beter verduidelikings, nuwe oplossings het, of as u 'n fout in die pos gevind het, vertel dit dan in die kommentaar!:)
Aanbeveel:
Arduino I2C 16*2 LCD -skermverbinding met uitsource: 10 stappe
Arduino I2C 16*2 lcd-skermverbinding met uitsource: I²C (Inter-Integrated Circuit), uitgespreek I-squared-C, is 'n multi-meester, multi-slaaf, pakkies, enkel-einde, seriële rekenaarbus uitgevind deur Philips Semiconductor (nou NXP Semiconductors)
HX1 -DM - die upcycled Arduino DUE Powered DIY trommelmasjien (gemaak met 'n dooie masjien MK2): 4 stappe
HX1 -DM - die upcycled Arduino DUE Powered DIY trommelmasjien (gemaak met 'n dooie masjien MK2): die spesifikasie. Hybride Midi -kontroleerder / dromasjien: Arduino DUE aangedryf! 16 snelheidswaarnemingsblokkies met 'n baie lae latency 1 &ms; 8 knoppies gebruiker toewysbaar aan enige Midi #CC-opdrag 16ch Ingeboude sequencer (geen rekenaar nodig nie!) MIDI in/uit/deur funksies
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Karakter LCD I2c -adapter (voorbeeld I2c -verbinding): 12 stappe (met foto's)
Karakter LCD I2c Adapter (I2c Connection Voorbeeld): Ek is besig met 'n verbindingskema vir 'n karakter display i2c adapter. Gaan die opdaterings op my webwerf na. Nou voeg ek olso 'n bedrading verbinding skema om oorspronklike biblioteek te gebruik nie my forked.LiquidCrystal Arduino biblioteek vir die karakter LCD -skerms, vurkprojekte
SENSOR SUHU DENGAN LCD DAN LED (maak temperatuursensor met LCD en LED): 6 stappe (met foto's)
SENSOR SUHU DENGAN LCD DAN LED (vervaardiging van temperatuursensor met LCD en LED): hier kan u 'n universele ontvanger van die Universiteit en die Verenigde State van Amerika gebruik. Ons kan ook hierdie e -posadres gebruik, en die sensor in