Мазмұны:
- 1 -қадам: схемаға шолу
- 2 -қадам: ПХД өндірісі
- 3 -қадам: Бағдарламалық қамтамасыз етуге шолу
- 4 -қадам: Дизайнды тексеру
- 5 -қадам: Қорытынды
- 6 -қадам: Қолданылған әдебиеттер
Бейне: Uber I2C LCD контроллері модулі: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Кіріспе
Бұл нұсқаулықта HD44780 СКД контроллері модулін қалай құру керектігі туралы егжей -тегжейлі айтылады (жоғарыдағы 1 -сурет). Модуль пайдаланушыға I2C арқылы СКД барлық аспектілерін басқаруға мүмкіндік береді; СКД мен дисплей, контраст және артқы жарық қарқындылығы. Arduino Uno R3 прототипі үшін қолданылғанымен, ол I2C қолдайтын кез келген микроконтроллермен жақсы жұмыс істейді.
Кіріспе
Жоғарыда айтылғандай, бұл мақала I2C СК контроллер модулін құруды құжаттайды, ол ең алдымен практикалық жұмыс ПХД құруға қанша уақыт кететінін анықтауға арналған дизайн жаттығуы ретінде арналған.
Дизайн стандартты жалпы контроллер модулін ауыстырады (жоғарыдағы 3 -сурет) және мен бұрын шығарған нұсқаулықтар мен кітапханаларға негізделген.
Бастапқы тұжырымдамалық прототиптен (жоғарыдағы 2 -сурет) аяқталған, толық тексерілген ПХД -ге дейін (жоғарыдағы 1 -сурет) барлығы 5,5 күнге созылды.
Маған қандай бөлшектер қажет? Төменде берілген материалдарды қараңыз
Маған қандай бағдарламалық қамтамасыз ету қажет?
- Arduino IDE 1.6.9,
- Егер сіз ПХД өзгерткіңіз келсе, Kicad v4.0.7. Әйтпесе JLCPCB -ге 'LCD_Controller.zip' жіберіңіз.
Маған қандай құралдар қажет?
- Микроскоп кемінде x3 (SMT дәнекерлеу үшін),
- SMD дәнекерлеу үтігі (сұйық ағынды қаламмен және ағынды дәнекерленген дәнекермен),
- Күшті пинцет (SMT дәнекерлеу үшін),
- Жіңішке қысқыштар (мұрынды және ұшы),
- Үзіліссіздікті тексеретін DMM.
Маған қандай дағдылар қажет?
- Көп шыдамдылық,
- Қолдың ептілігі мен қол мен көзді тамаша үйлестіру,
- Дәнекерлеудің керемет дағдылары.
Тақырыптар қамтылды
- Кіріспе
- Схемаға шолу
- ПХД өндірісі
- Бағдарламалық қамтамасыз етуге шолу
- Дизайнды сынау
- Қорытынды
- Қолданылған әдебиеттер
1 -қадам: схемаға шолу
Барлық электрониканың толық схемасы төмендегі PDF файлымен бірге жоғарыдағы 1 -суретте келтірілген.
Схема келесі жақсартулармен PCF8574A I2C СКР контроллерінің стандартты модулін дәл ауыстыруға арналған;
- I2C пайдаланушы 3v3 немесе 5v үйлесімділігін таңдай алады,
- Сандық контрастты басқару немесе кастрюльдің әдеттегі параметрі,
- Тегіс жоғалуға қол жеткізу үшін Quartic жеңілдету функциясы бар артқы жарық қарқындылығын таңдау.
СКД дисплейін басқару
Бұл I2C параллель түрлендіруге арналған PCF8574A (IC2) қолданатын стандартты I2C LCD контроллер модулінің факсимилесі.
Бұл үшін әдепкі I2C мекенжайы - 0x3F.
3v3 немесе 5v I2C үйлесімділігі
3v3 жұмысы үшін Q1, Q2 ROpt1, 2, 5 & 6, IC1, C2 және C2 сәйкес келеді.
Егер 5В жұмыс қажет болса, онда 3v3 компоненттерін сыйдырмаңыз, оларды 0 Ом резисторлары ROpt 3 және 4 -ке ауыстырыңыз.
Сандық контраст
Сандық контрастты басқару U2 MCP4561-103E/MS және C4, R5 цифрлық потенциометрін қолдану арқылы жүзеге асады.
Егер әдеттегі механикалық потенциометр қажет болса, онда U2, C4 және R5 орнына ПХД, RV1 10K орнатуға болады. Үйлесімді потенциометрді білу үшін банкоматты қараңыз.
J6 секіргішті байланыстыру арқылы I2C адресі 0x2E болады. Бұл қалыпты жұмыс үшін бұл көпір деп ойлады.
Айнымалы артқы жарық қарқындылығын таңдау
Артқы жарықтың ауыспалы қарқындылығы UT -6 -ATTiny85 арқылы СКД жарықдиодты артқы жарығының PWM модуляциясы арқылы бақыланады. Стандартты I2C LCD реттегіш модулімен толық үйлесімділікті сақтау үшін R1, T1 R7 және T2 +велосипед рельсін модуляциялау үшін қолданылады.
Бұл үшін әдепкі I2C мекенжайы - 0x08. Бұл U1 бағдарламалауға дейін компиляция кезінде пайдаланушы таңдауы мүмкін.
2 -қадам: ПХД өндірісі
Жоғарыда айтылғандай, бұл нұсқаулық, ең алдымен, дизайнды аяқтауға қанша уақыт кететінін анықтауға арналған практикалық мақсат болды.
Бұл жағдайда мен сенбі күні түстен кейін алғашқы тұжырымдаманы ойладым және жоғарыдағы сенбі күні кешкі 1 суретке дейін прототипін аяқтадым. Менің айтқанымдай, I2C СК -диспетчер модулінің өзіндік ізі бар, СКД -ді I2C -тен толық бағдарламалық басқаруды ұсынатын өз нұсқасын жасау болды.
Схемалық диаграмма мен ПХД схемасы Kicad v4.0.7 2 және 3 суреттерімен жасалды. Бұл жексенбі күні түстен кейін аяқталды, ал бөлшектер Фарнеллден тапсырыс алды және ПХД жексенбі күні кешке дейін JLCPCB -ге жүктелді.
Компоненттер Фарнеллден сәрсенбіде келді, содан кейін бейсенбіде JLCPCB ПХД (мен жылдамдықты жоғарылату үшін DHL жеткізу қызметін қолдандым) суреттері 4, 5, 6 және 7.
Бейсенбі күні кешке қарай 4 -тен 20 -ға дейінгі СК дисплейде екі тақта (3v3 және 5v нұсқалары) құрастырылды және сәтті сыналды. Суреттер 8, 9 және 10.
Бастапқы тұжырымдамадан аяғына дейін 5,5 күн.
Бұл мені JLCPCB тапсырысты тез қабылдай алатынына, екі жақты PTH ПХД шығаратынына және Ұлыбританияға жіберетініне таң қалдырады. Өндіруге 2 күн және жеткізуге 2 күн блистерде. Бұл Ұлыбританияда орналасқан ПХД өндірушілеріне қарағанда тезірек және бағаның аз бөлігінде.
3 -қадам: Бағдарламалық қамтамасыз етуге шолу
I2C СКД контроллері модулін басқаруға қажетті бағдарламалық қамтамасыз етудің үш негізгі компоненті бар;
1. LiquidCrystal_I2C_PCF8574 Arduino кітапханасы
Мұнда қол жетімді
LCD дисплейін басқару үшін Arduino эскизінде қолданылады.
Ескерту: Бұл жалпы I2C LCD модуль контроллерімен жақсы жұмыс істейді. Тек ол басқа кітапханаларға қарағанда функционалдылық береді.
2. MCP4561_DIGI_POT Arduino кітапханасы
Эскизде СКД контрастын бағдарламалық басқару үшін қолданылады
Мұнда қол жетімді
3. Тегіс өшуге қол жеткізу үшін PWM және Quartic жеңілдету функциясын қолдана отырып, СКД артқы жарық деңгейін бағдарламалық басқару
Жоғарыда айтылғандай, тақтада дисплейдің артқы жарығының біртіндеп өшуін бақылау үшін қолданылатын бір ATTiny85 бар.
Бұл бағдарламалық жасақтама туралы егжей -тегжейлі нұсқаулық «ATTiny85 көмегімен PWM светодиодты сөнуі» нұсқаулығында берілген.
Бұл жағдайда ПХД соңғы өлшемдерін сақтау үшін ATTiny85 SOIC нұсқасы таңдалды. 1 және 2 суреттер ATTiny85 SOIC прототипінде қалай бағдарламаланғанын және сыналғанын көрсетеді.
ATTiny85 бағдарламаланған код мұнда 'Tiny85_I2C_Slave_PWM_2.ino' болды.
Өзіңіздің ATTiny85 бағдарламашыңызды қалай құру керектігі туралы толық ақпаратты мына ATTiny85, ATTiny84 және ATMega328P: Arduino провайдер ретінде бағдарламалауды қараңыз.
4 -қадам: Дизайнды тексеру
Дизайнды тексеру үшін мен 'LCDControllerTest.ino' эскизін жасадым, ол пайдаланушыға кез келген СКД нақты параметрін сериялық терминал қосылымы арқылы тікелей орнатуға мүмкіндік береді.
Эскизді менің GitHub репозиторийімде табуға болады I2C-LCD-контроллері-модулі
Жоғарыдағы 1 -суретте 4 -тен 20 -ға дейінгі LCD дисплейге орнатылған 5В I2C үйлесімді тақтайшасы және 2 -суретте сынақ кодын бірінші рет іске қосқанда әдепкі дисплей көрсетілген.
Ол артқы жарық пен контраст үшін келесі әдепкі мәндерді пайдаланады;
- #DISPLAY_BACKLIGHT_LOWER_VALUE_DEFAULT ((белгісіз ұзын) (10))
- #DISPLAY_CONTRAST_VALUE_DEFAULT анықтау ((uint8_t) (40))
Мен олардың 4 -тен 20 -ға дейінгі LCD дисплейінде жақсы жұмыс істейтінін білдім.
5 -қадам: Қорытынды
Мен электроника/бағдарламалық қамтамасыз ету саласында алғаш рет жұмыс істей бастаған кезімде, егер сіз қателескен болсаңыз, соңғы тізбектегі инженерия көп болған кезде прототиптеу үшін сыммен қаптауды немесе вертолет конструкциясын қолдануға үлкен көңіл бөлінді., тақтаны қайта айналдыру құны мен ұзақтығын ескере отырып.
Әдетте қате сізге кестеде бірнеше аптаға созылады және пайда маржасын (мүмкін сіздің жұмысыңызды) бұзады.
ПХД «өнер туындылары» деп аталды, себебі олар нағыз өнер туындылары болды. Фото трафареттерге төзімді болу үшін «іздеуші» немесе суретші жабысқақ қара креп таспасын қолдана отырып, толық көлемде екі есе жасалды және фабрикамен фотографиялық түрде қысқартылды.
Схема диаграммалары сонымен қатар трассерлермен жасалды және сіздің конструкторлық жазбаларыңыздан қолмен алынды. Көшірмелер фото-статикалық түрде жасалды және «көгілдір басып шығару» деп аталды. Өйткені олар үнемі көк түсті болды.
Микроконтроллерлер тек нәресте кездерінде болды және әдетте сіздің компанияңызға ілеспе күрделі және қымбат даму ортасы қажет болса, олар әдетте эмуляцияланады.
Сол кездегі өндіруші ретінде, бағдарламалық қамтамасыз етуді әзірлеу құралдарының тізбегінің бағасы өте қымбат болды, сіз міндетті түрде EPROM -ге алтыбұрышты мәндерді енгізуге мәжбүр болдыңыз (егер сіз өте бақытты болсаңыз, RAM/Flash), содан кейін нәтижені анықтау үшін бірнеше сағат жұмсайсыз. егер сіздің кодыңыз күткендегідей жұмыс істемесе (осылай жұмыс істейді). Әдетте сіз өзіңіздің жеке кітапханаларыңызды жазуға мәжбүр болдыңыз, өйткені олардың ешқайсысы жоқ (әрине интернет сияқты бай көз жоқ).
Бұл дегеніміз, сіз көп нәрсені қалай жұмыс істейтінін түсінуге тырысып, шығармашылықпен айналысуға аз уақыт жұмсадыңыз.
Сіздің барлық диаграммалар әдетте A4 немесе A3 форматында қолмен салынған және оларға солдан оңға қарай сигнал жолының логикалық ағымын бере отырып, мұқият ойластырылуы керек еді. Түзетулер әдетте жаңа парақтан бастау керек дегенді білдіреді.
Көбінесе сіздің соңғы тізбегіңіз тұрақтылық үшін вертолет көмегімен жасалды және оған «кәсіби жанасу» беру үшін ABS қарапайым корпусына орнатылды.
Керісінше, мен бұл жобаны 5,5 күн ішінде жоғары сапалы ақысыз бағдарламалық жасақтаманың көмегімен жасадым, нәтижесінде кәсіби стандартты ПХД пайда болды. Егер қалау мені қабылдаса, мен оны өз қолыммен жасалған 3D басып шығарылған қорапқа салатын едім.
Сіз он жыл бұрын армандаған нәрсе.
Жағдай жақсы жаққа қалай өзгерді.
6 -қадам: Қолданылған әдебиеттер
KiCAD Схемалық түсіру және ПХД дизайны
KiCAD EDA
Arduino ORG бағдарламалық қамтамасыз етуді құралы
Ардуино
LiquidCrystal_I2C_PCF8574 Arduino кітапханасы
Мұнда
MCP4561_DIGI_POT Arduino кітапханасы
Мұнда
ATTiny85 көмегімен PWM светодиодының тегіс өшуі
Мұнда
ATTiny85, ATTiny84 және ATMega328P бағдарламалау: Arduino провайдер ретінде
Ұсынылған:
Саусақ ізі модулі + STONE TFT-LCD: 3 қадам
Саусақ ізі модулі + STONE TFT-LCD: Осы айда мен саусақ ізі есігін құлыптау жобасын әзірлеуді жоспарладым. Мен саусақ ізін анықтау модулін таңдағанда, жоба тоқтатылды. Бірақ мен саусақ ізін анықтау модулі сатып алынғандықтан, мен қарапайым болар едім деп ойладым
Arduino негізіндегі DIY ойын контроллері - Arduino PS2 ойын контроллері - DIY Arduino Gamepad көмегімен Tekken ойнау: 7 қадам
Arduino негізіндегі DIY ойын контроллері | Arduino PS2 ойын контроллері | DIY Arduino Gamepad көмегімен Tekken ойнау: Сәлеметсіздер ме, балалар, ойындарды ойнау әрқашан қызықты, бірақ өзіңіздің жеке DIY контроллеріңізбен ойнау қызықты, сондықтан біз осы нұсқаулықта arduino pro micro көмегімен ойын контроллерін жасаймыз
I2C рюкзактары бар 1602 СКД пернетақтасы экраны модулі: 6 қадам
I2C рюкзактары бар 1602 СКД пернетақтасы қалқан модулі: Үлкен жобаның бөлігі ретінде мен СКД дисплейі мен кейбір қарапайым мәзірлерді жылжытуға арналған пернетақтаны алғым келді. Мен басқа жұмыс үшін Arduino -дағы енгізу -шығару порттарын көп қолданатын боламын, сондықтан мен СКД үшін I2C интерфейсін алғым келді. Сондықтан мен бірнеше жабдық сатып алдым
TCA9548A I2C мультиплексор модулі - Arduino және NodeMCU көмегімен: 11 қадам
TCA9548A I2C мультиплексор модулі - Arduino мен NodeMCU көмегімен: сенсорлардың I2C адресі тұрақты немесе бірдей екенін түсіну үшін Arduino -ға екі, үш немесе одан да көп I2C датчиктерін қосуға тура келетін жағдайға тап болдыңыз ба? Сонымен қатар, сізде бір SDA мекен -жайы бар екі құрылғы болуы мүмкін емес
LCD UI модулі: 15 қадам
LCD UI модулі: LCD UI модулі-бұл 8x2 артқы жарығы бар мини-джойстик, қосымша «үлкен қызыл түйме» және қосымша кері байланыс үшін екі түсті жарық диоды. Бұл сіздің жобаңызға интерактивтілікті қосудың қарапайым әдісі. СКД HD44780 үйлесімді және 4 биттік интерфейс үшін сымды