Sisukord:
- 1. samm: ahela ülevaade
- 2. etapp: trükkplaatide tootmine
- 3. samm: tarkvara ülevaade
- 4. samm: disaini testimine
- 5. samm: järeldus
- 6. samm: kasutatud viited
Video: Uber I2C LCD kontrollerimoodul: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Preambul
Selles juhendis kirjeldatakse HD44780 LCD -põhise kontrollerimooduli loomist (pilt 1 ülal). Moodul võimaldab kasutajal I2C kaudu programmiliselt juhtida LCD kõiki aspekte, sealhulgas; LCD ja ekraan, kontrast ja taustvalguse intensiivsus. Ehkki selle prototüüpimiseks kasutati Arduino Uno R3, töötab see võrdselt hästi iga mikrokontrolleriga, mis toetab I2C -d.
Sissejuhatus
Nagu eespool mainitud, dokumenteerib see artikkel I2C LCD -kontrollerimooduli loomist, see oli mõeldud peamiselt projekteerimiseks, et määrata kindlaks, kui kaua kulub praktilise PCB loomiseks.
Disain asendab tavalist üldist kontrollerimoodulit (pilt 3 ülal) ja tugineb varem toodetud juhenditele ja teekidele.
Esialgsest kontseptsiooni prototüübist (pilt 2 ülal) kuni valmis, täielikult testitud PCB -ni (pilt 1 ülal) kulus kokku 5,5 päeva.
Milliseid osi mul vaja on? Vaadake allolevat materjalide nimekirja
Millist tarkvara ma vajan?
- Arduino IDE 1.6.9,
- Kicad v4.0.7, kui soovite PCBd muuta. Vastasel juhul saatke lihtsalt fail LCD_Controller.zip JLCPCB -le.
Milliseid tööriistu ma vajan?
- Mikroskoop vähemalt x3 (SMT jootmiseks),
- SMD jootekolb (vedeliku vooliku ja pliiatsiga joodisega),
- Tugevad pintsetid (SMT jootmiseks),
- Peened tangid (terav ja ninaga),
- DMM koos kuuldava järjepidevuse kontrolliga.
Milliseid oskusi mul vaja on?
- Palju kannatust,
- Suur käteosavus ja suurepärane käte/silmade koordinatsioon,
- Suurepärane jootmisoskus.
Käsitletud teemad
- Sissejuhatus
- Ahela ülevaade
- PCB tootmine
- Tarkvara ülevaade
- Disaini testimine
- Järeldus
- Kasutatud viited
1. samm: ahela ülevaade
Kogu elektroonika täielik skeem on toodud ülaltoodud pildil 1 koos sama PDF -iga allpool.
Vooluahel oli mõeldud standardse PCF8574A I2C LCD kontrollerimooduli täpseks asendajaks järgmiste täiustustega;
- I2C kasutaja valitav 3v3 või 5v ühilduvus,
- Digitaalne kontrastsuse juhtimine või tavapärane poti seadistus,
- Muutuv taustvalguse intensiivsuse valik koos kvartsi leevendusfunktsiooni juhtimisega, et saavutada sujuv tuhmumine.
LCD -ekraani juhtimine
See on standardse I2C LCD kontrollerimooduli faks, mis kasutab PCF8574A (IC2) I2C paralleelseks teisendamiseks.
Selle I2C vaikimisi aadress on 0x3F.
3v3 või 5v I2C ühilduvus
3v3 töö jaoks sobivad Q1, Q2 ROpt1, 2, 5 & 6, IC1, C2 ja C2.
Kui on vaja 5 -voldist tööd, siis ärge paigaldage ühtegi 3v3 komponenti, asendades need 0 -oomiliste takistitega ROpt 3 ja 4.
Digitaalne kontrast
Digitaalse kontrastsuse juhtimine saavutatakse digitaalse potentsiomeetri U2 MCP4561-103E/MS ja C4, R5 abil.
Kui on vaja tavalist mehaanilist potentsiomeetrit, saab selle paigaldada trükkplaadile RV1 10K U2, C4 ja R5 asemel. Vaata ühilduvat potentsiomeetrit BoM -ist.
Ühendades hüppaja J6, on I2C aadress 0x2E. Eeldati, et normaalseks tööks on see sild.
Muutuva taustvalguse intensiivsuse valik
Muutuvat taustvalgustuse intensiivsust reguleeritakse LCD LED -taustvalgustuse PWM -modulatsiooniga U1 kontakti 6 ja ATTiny85 kaudu. Täieliku ühilduvuse säilitamiseks standardse I2C LCD -kontrolleri mooduliga R1, T1 R7 ja T2 kasutatakse +ve toitepiirkonna moduleerimiseks.
Selle I2C vaikimisi aadress on 0x08. See on kasutaja valitav kompileerimise ajal enne U1 programmeerimist.
2. etapp: trükkplaatide tootmine
Nagu varem mainitud, oli see juhendamine harjutus, mille eesmärk oli peamiselt kindlaks teha, kui kaua kulub kavandi (millel oli praktiline eesmärk) valmimiseks.
Sel juhul mõtlesin esialgsele kontseptsioonile laupäeva pärastlõunal ja olin prototüübi lõpule viinud laupäeva õhtuks ülaltoodud pildil 1. Minu idee, nagu öeldud, oli luua oma I2C LCD -kontrollerimooduli variant, millel on identne jalajälg, pakkudes LCD -l täielikku programmilist kontrolli I2C üle.
Skemaatiline diagramm ja trükkplaatide paigutus töötati välja koos Kicad v4.0.7 piltidega 2 ja 3. See viidi lõpule pühapäeva pärastlõunal ja osad telliti Farnellilt ning PCB laaditi pühapäeva õhtuks üles JLCPCB -sse.
Komponendid saabusid Farnellist kolmapäeval, seejärel neljapäeval JLCPCB trükkplaadid (kasutasin asja kiirendamiseks DHL -i kohaletoimetamisteenust), pildid 4, 5, 6 ja 7.
Neljapäeva õhtuks oli konstrueeritud kaks tahvlit (3v3 ja 5v variandid) ja neid oli edukalt testitud 4x20 LCD -ekraanil. Pildid 8, 9 ja 10.
Hämmastav 5,5 päeva esialgsest ideest kuni selle valmimiseni.
Mind hämmastab, kui kiiresti suudavad JLCPCB tellimuse vastu võtta, kahepoolse PTH trükkplaadi valmistada ja Ühendkuningriiki saata. Villid 2 päeva tootmiseks ja 2 päeva kohaletoimetamiseks. See on kiirem kui Ühendkuningriigis asuvate trükkplaatide tootjate puhul ja murdosa hinnast.
3. samm: tarkvara ülevaade
Tarkvaral on kolm põhikomponenti, mis on vajalikud I2C LCD kontrollerimooduli juhtimiseks;
1. LiquidCrystal_I2C_PCF8574 Arduino raamatukogu
Saadaval siin
Kasutatakse teie Arduino visandis LCD -ekraani juhtimiseks.
Märkus. See töötab võrdselt hästi ka üldise I2C LCD -moodulikontrolleriga. Ainult see annab funktsionaalsust kui teised raamatukogud.
2. MCP4561_DIGI_POT Arduino raamatukogu
Kasutatakse eskiisis LCD -kontrastsuse programmiliseks juhtimiseks
Saadaval siin
3. LCD taustvalgustuse taseme programmeerimine PWM ja Quartic leevendusfunktsiooni abil, et saavutada sujuv tuhmumine
Nagu varem mainitud, sisaldab plaat ühte ATTiny85, mida kasutatakse ekraani taustvalgustuse järkjärgulise tuhmumise kontrollimiseks.
Selle tarkvara üksikasjad on toodud varasemas juhendatavas „Sujuv PWM -LED -i tuhmumine ATTiny85 -ga”
Sel juhul, et PCB lõplikud mõõtmed oleksid samad, mis tavalisel LCD -kontrollerimoodulil, valiti ATTiny85 SOIC -variant. Pildid 1 ja 2 näitavad, kuidas ATTiny85 SOIC programmeeriti ja testiti seadistatud prototüübis.
ATTiny85 -sse programmeeritud kood oli 'Tiny85_I2C_Slave_PWM_2.ino', mis on saadaval siin
Üksikasjaliku teabe saamiseks selle kohta, kuidas luua oma ATTiny85 programmeerijat, vaadake seda juhendit „ATTiny85, ATTiny84 ja ATMega328P programmeerimine: Arduino kui ISP”
4. samm: disaini testimine
Disaini testimiseks lõin visandi nimega "LCDControllerTest.ino", mis võimaldab kasutajal määrata mis tahes LCD -parameetri otse jadaklemmühenduse kaudu.
Eskiisi leiate minu GitHubi hoidlast I2C-LCD-Controller-Module
Ülaltoodud pildil 1 on näidatud 5v I2C ühilduv plaadipress, mis on paigaldatud 4x20 LCD -le, ja pilt 2 on vaikekuva, kui testkoodi esmakordselt käivitatakse.
Taustvalgustuse ja kontrasti jaoks kasutatakse järgmisi vaikeväärtusi;
- #define DISPLAY_BACKLIGHT_LOWER_VALUE_DEFAULT ((allkirjata pikk) (10))
- #define DISPLAY_CONTRAST_VALUE_DEFAULT ((uint8_t) (40))
Leidsin, et need töötasid hästi 4 x 20 LCD -ekraaniga, mis mul varuks oli.
5. samm: järeldus
Kui ma juba mõnda aega tagasi esimest korda elektroonika-/tarkvaratööstuses alustasin, oli suur rõhk traadipakendi või veroboard-konstruktsiooni kasutamisel prototüüpimiseks, kusjuures lõppskeemil oli palju ülekonstrueerimist, juhuks kui oleksite eksinud., arvestades tahvli uuesti keerutamise maksumust ja kestust.
Viga maksis teile ajakavas tavaliselt paar nädalat ja lõi kasumimarginaali (ja võib -olla ka teie töö) õhku.
PCBsid nimetati kunstiteosteks, sest need olid tõeliselt kunstiteosed. Loodud kaks korda täissuuruses kleepuva musta krepplindi abil, mille on joonistanud „joonistaja” või joonistaja, ja kunstimaja vähendas seda fotograafiliselt, et muuta foto šabloonide vastu.
Lülitusskeemid lõid ka märgistajad ja need joonistati käsitsi teie disainimärkmetest. Koopiad tehti fotostaatiliselt ja neid nimetati sinisteks väljatrükkideks. Kuna need olid alati sinist värvi.
Mikrokontrollerid olid alles lapsekingades ja tavaliselt vooluringis emuleeritud, kui teie ettevõte saaks seda endale lubada koos kaasneva keeruka ja kuluka arenduskeskkonnaga.
Tollase tegijana oli tarkvaraarendustööriistade keti ainuüksi maksumus ülemäärane, olite paratamatult sunnitud heksaklassi väärtusi otse EPROM -i sisestama (RAM/Flash, kui teil väga vedas) ja kulutasite seejärel tunde, tõlgendades sellest tulenevat käitumist. teie kood toimis, kui see ei tööta ootuspäraselt (bit 'wiggling' või seeriaprintf on kõige populaarsemad silumismeetodid. Mõned asjad ei muutu kunagi). Tavaliselt pidite kirjutama kõik oma teegid, kuna neid polnud saadaval (kindlasti polnud sellist rikkalikku allikat nagu Internet).
See tähendas, et veetsite palju aega, püüdes mõista, kuidas miski töötas, ja kulutasite vähem aega loominguliselt.
Kõik teie skeemid olid käsitsi joonistatud, tavaliselt A4 või A3, ja need tuli põhjalikult läbi mõelda, andes neile loogilise signaalitee voo vasakult paremale. Parandused tähendasid tavaliselt, et peate alustama värske lehega.
Enamikul juhtudel töötati teie lõplik vooluring püsivuse huvides välja veroboardi abil ja paigaldati lihtsasse ABS -korpusesse, et anda sellele professionaalne puudutus.
Selge kontrastina töötasin kogu selle projekti välja 5,5 päevaga, kasutades kvaliteetset vabavara, mille tulemuseks oli professionaalne standardne trükkplaat. Kui soov oleks mind võtnud, oleksin võinud selle paigaldada enda tehtud 3D -prinditud kasti.
Midagi, millest oleks võinud vähem kui kümme aastat tagasi unistada.
Kuidas asjad on paremuse poole muutunud.
6. samm: kasutatud viited
KiCAD Skemaatiline püüdmine ja trükkplaatide disain
KiCAD EDA
Arduino ORG tarkvaraarendustööriist
Arduino
LiquidCrystal_I2C_PCF8574 Arduino raamatukogu
Siin
MCP4561_DIGI_POT Arduino raamatukogu
Siin
Sujuv PWM LED -i tuhmumine ATTiny85 -ga
Siin
ATTiny85, ATTiny84 ja ATMega328P programmeerimine: Arduino ISP -na
Soovitan:
20x4 I2C sümboliga LCD -ekraani kasutamine Arduinoga: 6 sammu
Kuidas kasutada 20x4 I2C sümboliga LCD -ekraani Arduinoga: Selles lihtsas õpetuses õpime, kuidas kasutada 20x4 I2C sümboliga LCD -ekraani koos Arduino Unoga lihtsa teksti "Tere maailm" kuvamiseks. Vaadake videot
I2C / IIC LCD -ekraan - Kasutage SPI LCD -d I2C LCD -ekraanile SPI -IIC mooduli kasutamine Arduino abil: 5 sammu
I2C / IIC LCD -ekraan | Kasutage SPI LCD -d I2C LCD -ekraanile SPI -IIC mooduli kasutamine Arduinoga: Tere poisid, kuna tavalisel SPI LCD 1602 -l on ühendamiseks liiga palju juhtmeid, nii et seda on väga raske liita arduinoga, kuid turul on saadaval üks moodul teisendage SPI -ekraan IIC -ekraaniks, nii et peate ühendama ainult 4 juhet
I2C / IIC LCD -ekraan - Teisendage SPI LCD I2C LCD -ekraaniks: 5 sammu
I2C / IIC LCD -ekraan | Teisendage SPI LCD -ekraan I2C LCD -ekraaniks: spi lcd -ekraani kasutamine vajab selleks liiga palju ühendusi, mida on tõesti raske teha, nii et leidsin mooduli, mis suudab i2c -lcd teisendada spi -LCD -ks, nii et alustame
Märkide LCD I2c -adapter (I2c -ühenduse näide): 12 sammu (piltidega)
Märkide LCD I2c -adapter (I2c -ühenduse näide): teen tegelaskujuga i2c -adapteri ühendusskeemi. Kontrollige minu saidi värskendusi. Nüüd lisan ka juhtmestiku ühendusskeemi, et kasutada originaalraamatukogu, mitte minu kahvlit. sümbolitega LCD -ekraanide jaoks, kahvliga projektor
Hexapod Arduino Über Eine SSC32: 5 sammu
Hexapod Arduino Über Eine SSC32: Link zum http://youtu.be/E5Z6W_PGNAgMein erster versuch eines eigenbau Hexapod