Sisukord:

5V LCD -ekraan koos Arduino Due 3.3V I2C -ga: 5 sammu
5V LCD -ekraan koos Arduino Due 3.3V I2C -ga: 5 sammu

Video: 5V LCD -ekraan koos Arduino Due 3.3V I2C -ga: 5 sammu

Video: 5V LCD -ekraan koos Arduino Due 3.3V I2C -ga: 5 sammu
Video: LDmicro 13: HC-05 Управление через приложение Bluetooth для телефона (программирование ПЛК микроконтроллера с помощью LDmicro) 2024, Juuli
Anonim
5V LCD -ekraan koos Arduino Due 3.3V I2C -ga
5V LCD -ekraan koos Arduino Due 3.3V I2C -ga

Selle postituse eesmärk on selgitada lihtsamat viisi Arduino Due (või muu 3,3 V plaadi) kasutamiseks koos populaarse 16x2 LCD -ekraaniga koos I2C -adapterimooduliga.

Esialgne probleem on see, et LCD vajab taustvalgustuse nõuetekohaseks töötamiseks 5 V pinget, kuid SCL ja SDA tihvtid peaksid töötama 3,3 V pingel, et suhelda Arduino Duega kahjustamata. Selle lahendamiseks leidsin kaks võimalust:

Enim mainitud lahendus on kahesuunalise loogilise taseme muunduri kasutamine, mis tõepoolest lahendab probleemi. Kuid see lisab teie loendisse veel ühe komponendi ja teie vooluahela täiendavad juhtmestikuühendused

Teine viis, mille olen leidnud, on lihtsalt LCD -ekraanilt "I2C adapteri seljakotis" 2 tõmbetakisti lahtijootmine. Lisaks sellele, et see on palju lihtsam, on sellel ka muid eeliseid, mida selgitatakse lõpus. See meetod on selle postituse põhirõhk

Tarvikud

Arduino Due

16x2 LCD ekraan koos I2C adapterimooduliga

Jootekolb

Jootmispump või jootmistaht

Pintsetid

Samm: Lahenduse päritolu

Lahendus ei olnud minu väljamõeldud, ma nägin Arduino foorumis päris head soovitust ja selgitust alloleval lingil, mida ma selles postituses kordan.

forum.arduino.cc/index.php?topic=553725.0

Vastus: david_prentice

Ma ei leidnud Internetist ühtegi täielikku õpetust ja kuna see on väga levinud probleem, proovin siin lahendust üksikasjalikult esitada, tunnistada, et see tegelikult toimib, ja lisada teavet, mis võib leevendada mõningast skeptilisust selle tulemuste suhtes.

2. samm: selgitus

Seadmed

I2C -side toimimiseks on vaja SDA- ja SCL -kontaktidega ühendatud tõmbetakisteid. Selle põhjuseks on asjaolu, et seadmed keeravad suhtlemisel need tihvtid ainult madalaks. KÕRGE esindamiseks peab see ainult LOW -d mitte saatma ja tänu tõmmetele läheb see HIGH -i. (see arusaamine on hiljem üsna oluline)

LCD "I2C seljakotis" on kaks 4K7 tõmbetakistit, mis vastavad I2C nõuetele. Kuid kuna need on ühendatud Vcc -ga, tõmbavad nad 5 V kasutamisel SDA ja SCL 5 V.

Kui vaatate andmelehte, näete, et erinevalt teistest tahvlitest on Due-l juba 1K5 tõmbetakistid põhilisel SDA-l, SCL-tihvtidel, mis tõmbab need 3,3 V.

Testid

  • Ekraani LCD -> Arduino
  • Gnd -> Gnd
  • Vcc -> 5V
  • SDA -> SDA
  • SCL -> SCL

Kui ühendate vedelkristallekraani lihtsalt Duega (järgides ülaltoodud juhtmestikku), põhjustavad 1k5 (või 1k0) Due tõmbejõud, mis on ühendatud 3,3 V ja 4K7 LCD tõmbega, mis on ühendatud 5 V pingega, põhjustavad tühikäigul olevad I2C liinid pingel 3,7 V (3,6 V) koos 1k0). See ei ole hea, kuna Due andmeleht näeb ette sisend-/väljundliinide maksimaalse pinge 3,6 V.

Seda stsenaariumi katsetades, ainult LCD -ga, sain 3, 56 V. Lisades samale SDA -le ja SCL -ile EEPROM -mooduli, tõusis see kuni 3,606 V. Mõlemal juhul töötas kõik normaalselt, kuid see pole kaugeltki ideaalne pinge arvestades taset, mis on ette nähtud 3,6 V.

Nii et jah, on võimalus, et see töötab täpselt nagu minu oma, muutmata. Kuid pingetase on endiselt ideaalist kaugel ja mõni lahknevus Due või LCD tõmbamisel võib põhjustada selle üle 3,6 V piiri. (Soovitatav oleks vähemalt enne 20K või 100K potentsiomeetriga hoolikalt katsetada, milline on madalaim takistus 5 V ja SCL/SDA tihvtide vahel, enne kui need jõuavad 3,6 V pingeni, kuigi ülejäänud lahus on palju turvalisem ja tõenäoliselt lihtsam)

Lahendus

Esitatud lahendus on lihtsalt eemaldada tõmbetakistid LCD-seljakoti küljest, mis püüavad liini tõmmata kuni 5 V. Seejärel jäävad alles ainult sisseehitatud tõmbetakistused Due, tõmmates SCL- ja SDA-liinid 3,3 V-ni. See töötas suurepäraselt, hoides tühikäigu tihvte umbes 3,262 V juures!

Ühendused jäävad samaks:

  • LCD -ekraan -> Arduino
  • Gnd -> Gnd
  • Vcc -> 5V
  • SDA -> SDA
  • SCL -> SCL

Kui te ei tea, kas vedelkristallekraan ei tõmba suhtlemisel HIGH -i tähistamiseks joont 5 V -ni, pidage meeles, et I2C -s tõmbavad seadmed ainult jooni LOW, olles HIGH -signaal, kui see ei sega, mis on 3,3 V Due's pardal tõmbed.

Samuti piisab 3,3 V -st, et I2C seljakott saaks seda lugeda HIGH -signaaliks.

Samm: tuvastage ja eemaldage takistid

Tuvastage ja eemaldage takistid
Tuvastage ja eemaldage takistid
Tuvastage ja eemaldage takistid
Tuvastage ja eemaldage takistid

Ülaltoodud pilt näitab punaselt tõmbe takistit, mille olen oma moodulist leidnud.

Tuvastage

Kuna LCD I2C adapteri seljakott võib erineda, ei pruugi takistid olla ühes konfiguratsioonis. Tõmbetakistuste tuvastamiseks võite kasutada järjepidevuse testiga multimeetrit. Igal tõmbetakistil peaks olema üks ots ühendatud SCL- või SDA-tihvtiga ja teine ots Vcc-ga.

Minu puhul oli tahvel 4K7 (SMD -koodis 472) kolm takistit. Ainult kaks neist vastasid ülaltoodud nõuetele, tuues välja, et need on pullupid, mida otsisime!

Täiendava ettevaatusabinõuna (kui need mingil põhjusel ei olnud 4K7), katsetasin ka teisi takisteid ja kinnitasin, et ükski neist ei vastanud tõmbejõu nõuetele.

Eemalda

Nüüd on teil vaja ainult neid desoldeerida! See on lihtsam, kui teil on abiks jootmispump või jootvatak ja pintsetid.

4. samm: lahenduste võrdlus

Kahesuunaline loogika taseme muundur (LLC)

Plussid:

Ei nõua jootmisseadmeid ega -võimalusi

Miinused:

Reklaamib teie loendi komponentide loendisse rohkem kaableid ja LLC -d

Messier ühendused lisakomponentidega

Veidi kallim

Desolder LCD pull-Up Resistors

Plussid:

Puhtam lõpptulemus

Tõenäoliselt saate seda kohe teha, ilma et peaksite LLC -d ootama

Eriti hea, kui soovite keerulises projektis vähendada komponentide mitmekesisust ja kokkupaneku keerukust või mida soovite kopeerida

Miinused:

Muudab LCD -vooluringi (kui soovite, et see oleks Uno -ga kasutusvalmis, kui teil on juba 4K7 pullupid, saate muudatused tagasi joosta)

5. samm: viimased kaalutlused

Loodan, et see õpetus valgustab seda ühilduvusprobleemi ja mõningaid selle võimalikke lahendusi.

Kui teil on paremaid ideid, paremaid selgitusi, uusi lahendusi või leidsite postitusest vea, siis palun rääkige sellest kommentaarides!:)

Soovitan: