Мазмұны:
- 1 -қадам: Бөлшектердің сипаттамасы - СКД пернетақтасының экраны модулі
- 2 -қадам: Бөліктерді сипаттау - I2C сериялық модулі
- 3 -қадам: Қосылымдар
- 4 -қадам: RST пернесін басқа 5 кілтке ұқсас етіп қолдану
- 5 -қадам: Бағдарламалық қамтамасыз ету
- 6 -қадам: шолу және талқылау
Бейне: I2C рюкзактары бар 1602 СКД пернетақтасы экраны модулі: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Үлкен жобаның бір бөлігі ретінде мен СКД дисплейі мен кейбір қарапайым мәзірлерді жылжытуға арналған пернетақтаны алғым келді. Мен басқа жұмыс үшін Arduino -дағы енгізу -шығару порттарын көп қолданатын боламын, сондықтан мен СКД үшін I2C интерфейсін алғым келді. Сондықтан мен DFRobot 1602 LCD пернетақта қалқан модулінен және СКД үшін жасырын I2C сериялық модулінен тұратын кейбір жабдықты сатып алдым. Мен оларды Arduino Nano -мен қолданғым келеді. Содан кейін мен бұл компоненттердің бірігіп жұмыс жасауында қиындықтар бар екенін білдім - бірақ бұл мүмкін. Сондықтан мен өз тәжірибеммен бөліскім келеді және басқаларға көмектескім келеді.
Бұл фотосурет СКД -де хабарларды көрсетуге және пернелердің басылуын анықтауға болатын жұмыс тақтасы. СКД I2C интерфейсі арқылы басқарылады, оның ішінде СКД артқы жарығы. Түймешік басуды Arduino A0 түйреуішінде қабылдайды (I2C интерфейсіне бекітілген А4 пен А5 қоспағанда, кез келген аналогтық түйреуіштер болуы мүмкін).
1 -қадам: Бөлшектердің сипаттамасы - СКД пернетақтасының экраны модулі
СКД пернетақтасы экраны модулі кілттерді ұстайтын платаның үстіне орнатылған 1602 СКД -дан тұрады, ол СКД қосылымдарының бір бөлігін алады және оларды тақтаның астындағы тақырып түйреуіштеріне қол жетімді етеді. Менің түсінуімше, бұл тақта Arduino Uno немесе оған ұқсас құрылғыға орнатылған және сол ортада жұмыс істеуі үшін түйреуіштің дұрыс орналасуын қамтамасыз етеді. Мен бұл модульді Ebay -де Қытайдағы сатушыдан сатып алдым. Тақтаның төменгі (пернетақта) жағындағы тақырып түйреуіштері негізінен таңбаланған, бірақ жоғарғы жағындағы түйреуіштер, яғни СКД интерфейсі, таңбаланбаған. Дегенмен, СКД -дегі түйреуіштер таңбаланған.
2 -қадам: Бөліктерді сипаттау - I2C сериялық модулі
Сериялық модульде I2C үшін кәдімгі 4 істікшелі үстіңгі деректеме бар, мен түсінемін, олар СКД модулінің астыңғы жағына қосуға арналған. СКД белгілерін зерттеу арқылы мен сериялық модульдегі түйреуіштердің қызметін анықтай алдым.
Бұл модуль I2C протоколын тоқтататын, адресті басқаруға арналған 3 түйреуішке (20 -дан 27 -ге дейін) және P0 -P7 аралығындағы 8 цифрлық кіріс/шығыс түйреуішке ие IC PCF8574T IC -ге негізделген. PCF8574T мәліметтер парағына сәйкес, әрбір енгізу -шығару түйреуішінде LOW күйі үшін жерге түсіру үшін FET бар және ол кемінде 20мА батып кетуі мүмкін. Жоғары күйде оның өтпелі белсенді тартылуы бар, содан кейін шамамен 0,1 мА созылатын тартылатын ток бар.
Бұл модульде P3 -тен басқа барлық цифрлық енгізу -шығару түйрегіштері тақырып түйреуіштеріне шығарылады (суретте оң жақта). P3 жағдайында ол транзистордың негізіне қосылады (суретте «СИД» белгісінің астында оң жақ жоғарғы жақта көрінеді). Бұл транзистордың эмитенті Vss (жерге) қосылады, ал коллектор СКД артқы жарығын басқаруға болатын 16 түйреуішке қосылады. Транзистордың арқасында логикалық күй бағдарламалық жасақтама кітапханасында қабылданғанға сәйкес өзгереді. Яғни, СК артқы жарығы P3 түйреуіші төмен болғанда қосылады, ал P3 түйрегіші жоғары болғанда ӨШІРІЛДІ.
Транзистордағы затбелгіде L6 жазылады, ол менің зерттеуім бойынша оны MMBC1623L6 құрайды, ол токтың минималды кірісі 200. 0,1 мА базалық токпен ол коллекторда LOW күйін сақтай алуы керек (түйреуіш 16) кемінде 20мА коллекторлық токпен.
Сонымен қатар, бұл модульде +5 пен жердің арасында жалғанған 10К потенциометрі бар, оның айнымалы сымы 3 -ші істікке шығарылады (фотода төменнен үшінші). СКД тікелей қосылған кезде, бұл кастрюль СКД контрастын басқарады. Алайда, бұл функция СКД қалқанындағы ұқсас ұқсас кастрюльмен қамтамасыз етілген, сондықтан сериялық модульдегі бұл кастрюльде ешқандай функция жоқ.
Мен PCF8574T INT түйреуішіне ешқандай байланыс таба алмадым.
ЖАҢАРТУ 22 тамыз 2019 ж
Жоғарыда айтылғандай, PCF8574 3 адресті басқару түйреуіштері бар. Олар рюкзактарға A0, A1 және A2 деп белгіленген жастықшаларға шығарылады. Оларды фотода көруге болады. Мен мұны тексерген жоқпын, бірақ осы түйреуіштердің бірін немесе бірнешеуін іргелес төсемдерге байланыстыру арқылы I2C адресін 20 -дан 27 -ге дейінгі диапазонда басқаруға болатынына сенімдімін. PCF8574A PCF8574 функциясымен бірдей, бірақ мекенжай диапазонын 0x38 -ден 0x3F -ге дейін қамтиды.
Құрылғы нақты қолданатын мекенжайды I2CScanner көмегімен тексеруге болады. Әр түрлі көздерден қол жетімді бірнеше қарапайым I2C сканерлері бар. Бұл https://github.com/farmerkeith/I2CScanner мекен -жайы бойынша табылған кейбір құрылғыларды анықтайды.
3 -қадам: Қосылымдар
Төменде сипатталған байланыстарды бейнелейтін Фритзинг диаграммасын ұсынған ChaitanyaM17 -ге рахмет.
Қуат:
СКД модулінің төменгі жағында «5.0В» деп белгіленген түйреуіш бар. Оң жақта, олардың жанында екеуі де тегістелген екі белгісі жоқ түйреуіштер орналасқан.
I2C интерфейсі бар сериялық модульді сол жақ шетінде ұстап тұрып, төменгі жиекте 16 түйреуіш бар. Олардың біріншісі - жер, екіншісі - +5в. Басқа нұсқа - қуат үшін I2C интерфейсіндегі төменгі екі түйреуішті пайдалану, бірақ мен жоғарыда сипатталғандай түйреуіштерді қолдануды ыңғайлы деп таптым.
I2C интерфейсі. Сериялық модульде жоғарғы түйреуіш SCL (сағат) болып табылады және ол Arduino A5 -ке өтеді. Екінші түйреуіш SDA (деректер) және ол Arduino A4 -ке түседі.
СКД басып шығару интерфейсі. Сериялық модуль мен СКД пернетақтасы қалқаны арасында 6 байланыс бар, олардың барлығы жапсырмасы жоқ түйреуіштер арасында. Мен оларды СКД модулінде оңнан солға қарай санау арқылы анықтаймын, бірінші түйреуіш 1 -ге тең. 8 -де 2 блок бар, сондықтан олар 1 -ден 16 -ға дейін жүреді. Мен оларды I2C сериялық модулінде солдан санау арқылы анықтаймын. Дұрыс, олардың 16 -сы бар. Сонымен қатар, мен әр сымға сериялық модульсіз тікелей қосылу жағдайында, әдетте, осы функциямен байланысты Arduino эквивалентті түйреуіш болып табылатын белгіні беремін.
Сонымен, 6 деректер байланысы:
Arduino эквиваленті // Сериялық модуль штыры // СКД пернетақта модулінің түйреуіші
D4 // 11 // 5 D5 // 12 // 6 D6 // 13 // 7 D7 // 14 // 8 D8 // 4 // 9D9 // 6 // 10
СКД жарықтандыруды басқару: Бұл тағы бір қосылымды қолданады:
Arduino эквиваленті // Сериялық модуль штыры // СКД пернетақта модулінің түйреуіші
D10 // 16 // 11
Пернетақта интерфейсі: Ардуинода A0 түйреу үшін төменгі жағында «A0» деп белгіленген СКД модулінің түйреуішінің бір сымы қолданылады. Кем дегенде, бұл өте оңай болды!
4 -қадам: RST пернесін басқа 5 кілтке ұқсас етіп қолдану
RST тікелей Arduino Nano RESTART кірісіне қосылуы мүмкін.
Егер сіз RST пернесін басқа нәрселер үшін бағдарламалық қамтамасыз етуде қолдануға болатынын қаласаңыз, мұны СКД пернетақтасы қалқанының төменгі жағындағы RST түйреуіші мен A0 түйреуіші арасындағы 15K резисторды қосу арқылы жасауға болады.
Бұл келесідей жұмыс істейді: +5В және Оң жақ перне арасында 2K резисторы бар. Содан кейін басқа пернелердің әрқайсысы үшін біртіндеп үлкен резисторлар тізбегі (330R ЖОҒАРЫ пернесіне, 620R ТӨМЕН, 3К солға және 3К3 SELECT пернесіне. Барлық пернелер (RST пернесін қосқанда) қосылады. 10 биттік А/К түрлендіргішке қосылған кезде (Arduino Nano A0) олар шамамен келесі мәндерді береді:
Оң = 0; Жоғары = 100; Төмен = 260; Сол жақ = 410; = 640 таңдаңыз.
RST 15 к резисторы бар, ол шамамен 850 жеткізеді.
Бағдарламалық жасақтама қай перне басылғанын анықтау үшін осы мәндер арасындағы орташа нүктелердегі мәндерді қолданады.
5 -қадам: Бағдарламалық қамтамасыз ету
Пайдалы бағдарламалық қамтамасыз ету, әрине, оқырманға арналған жаттығу. Бірақ сіз бастау үшін менің тестілік бағдарламалық жасақтаманы қарай аласыз. Мен I2C интерфейсін қолдауды қамтитын NewLiquidCrystal кітапханасын қолдандым. Кітапханалар дұрыс орнатылғаннан кейін бәрі жұмыс істеді.
Негізгі мәселе - артқы жарығы ӨШІРУ және ҚОСУ пәрмендерінің полярлығын өзгерту болды (I2C модуліндегі транзистордың арқасында бөліктерді сипаттау бөлімінде түсіндірілген).
ЖАҢАРТУ 22 тамыз 2019 ж
Егер сізде СКД дисплейінің жұмыс істемеуіне байланысты проблемалар болса, I2C сканерінің көмегімен реттік рюкзактың I2C мекенжайын тексеріңіз. Сәйкес сканер бекітілген. Содан кейін қажет болған жағдайда мәлімдемеде бірінші параметрді реттеңіз
LiquidCrystal_I2C LCD (0x27, 2, 1, 0, 4, 5, 6, 7);
6 -қадам: шолу және талқылау
Көріп отырғаныңыздай, мен негізгі функцияларды алдым.
Менің келесі мақсатым - мұны басқа жобаның бөлігі ретінде жоба қорабына салу. Бұл жолға шыққаннан кейін мен күтпеген басқа қиындық бар екенін білдім.
Қиындық мынада, бұл LCD пернетақта модулі қорапқа орнатылатын етіп орнатылмаған. Кез келген қорап. 6 пернелердің түймелері СКД экранының деңгейінен едәуір төмен орналасқан, сондықтан егер модуль СКД тақтасының жоғарғы жағы қақпақтың астыңғы жағында орналасқан қорапқа (мысалы, қақпаққа) орнатылса, шыңдары кілттер қақпақтың жоғарғы жағынан шамамен 7 мм төмен орналасқан.
Мүмкін болатын шешімдер:
а) шыдаңыз. Қақпақта кіру тесіктерін бұрғылаңыз және түймелерді басу үшін құралды қолданыңыз (мысалы, сәйкес диаметрлі тоқылған ине).
b) СКД -ны модульдік тақтадан алып тастаңыз және екі компонентті жоба қорабының қақпағына дербес бекіту үшін пернетақтада операция жасаңыз (түймелердің тым қысқа болуында әлі де проблема болуы мүмкін деп ойлаймын)
в) қолданыстағы түймелерді алып тастап, оларды ұзынырақ түймелерге ауыстырыңыз. Жаңа түймелердің биіктігі шамамен 13 мм болуы керек, сондықтан оларды жоба қорабының қақпағы арқылы басқаруға болады). Ауыстыру түймелері 13 мм биіктікте оңай қол жетімді.
d) СКД пернетақтасы экраны модулін алып тастаңыз және бөлек СКД мен пернетақта блоктарын қолданыңыз (яғни қайта бастау). Қол жетімді пернетақта қондырғыларының кең ассортименті бар, бірақ мен осы модульдегідей 6 пернелі орналасуды көрмедім (яғни таңдау, солға, жоғары, төмен, оңға, қайта жүктеу). Бұл үлкен мәселе болмауы мүмкін, бірақ мен осы модульден бастауымның себептерінің бірі - бұл кілт схемасы мен қалаған нәрсе деп ойладым.
Мен жоғарыдағы в) шешімімен баруды жоспарлап отырмын және менің қалай жүретінімді көріңіз.
Қызықты болуы мүмкін басқа ақпарат үзіндісі:
Артқы жарық қосулы кезде, бұл жобаның ағымдағы шығыны: Arduino Nano 21,5 ма; 3.6 ма сериялық модуль; СКД модулі 27,5 мА; Барлығы 52 мА.
Артқы жарығы ӨШІРІЛГЕН кезде бұл жобаның ағымдағы шығыны: Arduino Nano 21,5 ma; Сериялық модуль 4.6 ма; СКД модулі 9,8 мА; Барлығы 36 мА.
Ұсынылған:
СКД экраны бар көңіл -күй шамы: 5 қадам
СКД экраны бар көңіл-күй шамы: Makers-sac-тың талғампаз көңіл-күй шамы жобасының арқасында (Maker-sac's Exquisite Mood Lamp), менде бұл жобаға жаңа мүмкіндік қосу туралы ой болды, сонымен қатар бұл менің мектеп мұғалімінің үй тапсырмасы. Бұл жоба кез келген адам үшін өте оңай. Сізге ұнайды деп үміттенемін
СКД экраны бар түс сенсоры: 6 қадам
СКД экраны бар түс сенсоры: Мақсаты - соқырларға түстерді көрмей -ақ түстерді анықтауға мүмкіндік беретін құрылғыны құру. СКД экранын сенсормен қолдану арқылы түсі алынады, содан кейін СКД экранына сөздерге ауысады. Бұл құрылғы
1602 СКД пернетақтасы W/ Arduino қолдану [+практикалық жобалар]: 7 қадам
1602 LCD пернетақтасы қалқасы W/ Arduino [+практикалық жобалар] көмегімен: Сіз осы және басқа да таңғажайып оқулықтарды ElectroPeak ресми веб -сайтынан оқи аласыз Шолу Бұл оқулықта сіз 3 практикалық жобасы бар Arduino СКД пернетақтасы қалқанын қолдануды үйренесіз. Қалқанды қалай орнатуға және кілттерді анықтауға боладыHo
СКД дисплейі I2C / IIC - SPI СКД I2C СК дисплейіне түрлендіру: 5 қадам
СКД дисплейі I2C / IIC | SPI СКД дисплейін I2C СК дисплейіне түрлендіріңіз: LCD дисплейін пайдалану үшін тым көп қосылым қажет, сондықтан мен i2c lcd -ді спи -LCD -ге түрлендіретін модуль таптым
RFID және СКД экраны бар UCL-IIoT-Strongbox (Nodered, MySQL): 5 қадам
UCL-IIoT-Strongbox RFID және СКД экранымен (Nodered, MySQL): RFID сканері мен СКД бар Arduino жобасы. Кіріспе Біздің курсты микроконтроллерлермен аяқтау үшін, дәлірек айтқанда біз қолданып жүрген Arduino Mega. Бізге өзіміздің Arduino Mega -дан тұратын жоба жасау тапсырылды, басқалардан басқа