Мазмұны:

3 сымды HD44780 СКД 1 доллардан аз: 5 қадам
3 сымды HD44780 СКД 1 доллардан аз: 5 қадам

Бейне: 3 сымды HD44780 СКД 1 доллардан аз: 5 қадам

Бейне: 3 сымды HD44780 СКД 1 доллардан аз: 5 қадам
Бейне: Использование Sharp 15см датчика расстояния 0A51SK с Arduino LCD1602 и LCD2004 2024, Шілде
Anonim
3 сымды HD44780 СКД 1 доллардан төмен
3 сымды HD44780 СКД 1 доллардан төмен

Бұл нұсқаулықта біз HD44780 чипсетіне негізделген СКД -ны SPI шинасына қалай қосуға болатынын және оны 1 доллардан төмен 3 сыммен ғана жүргізуге болатынын білеміз. Мен бұл оқулықта HD44780 әріптік -цифрлық дисплейіне назар аударатын болсам да, дәл осы принцип 8 биттік параллельді деректер шинасын қолданатын кез келген басқа СКД үшін бірдей жұмыс істейді және оны 16 биттік деректер шиналары бар дисплейлерге бейімдеу өте оңай.. HD44780 (және үйлесімді) негізіндегі әріптік -цифрлық дисплейлер әдетте 16х2 (16 таңбадан тұратын 2 жол) және 20х4 конфигурациясында қол жетімді, бірақ оларды көптеген басқа формаларда табуға болады. Ең күрделі дисплей 40х4 дисплей болады, бұл дисплей ерекше, өйткені оның 2 HD44780 контроллері бар, олардың біреуі жоғарғы екі қатарға, екіншісі төменгі екі жолға арналған. Кейбір графикалық СКД -де екі контроллер бар. HD44780 кристалды дисплейлері керемет, олар өте арзан, оқуға ыңғайлы және олармен жұмыс жасау өте оңай. Бірақ олардың кемшіліктері де бар, бұл дисплейлер Arduino -ға қосылған кезде көптеген енгізу -шығару түйреуіштерін алады. Қарапайым жобаларда бұл алаңдаушылық туғызбайды, бірақ егер жобалар үлкен көлемде болса, интерфейсі көп болса немесе аналогты оқу немесе PWM сияқты нәрселер үшін белгілі бір түйреуіштер қажет болса, бұл СКД кем дегенде 6 түйреуішті қажет етеді. мәселе Бірақ біз бұл мәселені арзан әрі қызықты түрде шеше аламыз.

1 -қадам: компоненттерді алу

Мен TaydaElectronics -ті осы жобада қолданған көптеген компоненттер үшін қолдандым. Сіз бұл бөлшектерді ebay сайтынан да ала аласыз, бірақ пайдалануды жеңілдету үшін мен сізді Tayda. Сауда тізіміне қосамын - 74HC595 пакеті DIP161 - Жалпы ерлер тақырыбы - 2 түйреуіш. Бұл қажет емес, мен мұны артқы жарығын біржола өшіру әдісі ретінде қолдандым.3 - керамикалық конденсатор - сыйымдылығы 0,1 мкФ; кернеу 50V1 - Электролиттік конденсатор - сыйымдылығы 10µF; кернеу 35V1 - керамикалық конденсатор - сыйымдылығы 220pF; кернеу 50V1 - NPN -транзистор - # PN2222A бөлігі* 1 - 1к Ω Резистор1 - Триммер потенциометрі - максималды қарсылық 5kΩ1 - 470 Ω Резистор* NPN транзисторымен артқы жарығы бағдарламалық қамтамасыз ету қосылғанға дейін сөнеді. Егер сіз артқы жарығын әдепкі бойынша қосқыңыз келсе, PNP типті транзисторды қолданыңыз. Берілген кітапхананың кодына өзгерістер енгізу қажет. Бұл тізімнің қосалқы сомасы $ 0,744 құрайды. Түйіннің тақырыбы да қажет емес, сондықтан сіз 15 центті сол жерде сақтай аласыз, ал қосалқы жиынтық $ 0.6 болады.

2 -қадам: №1 жабдықты біліңіз

Жабдықты біліңіз №1
Жабдықты біліңіз №1

Міне HD44780 СК стандартты түйреуіш, ол сонымен қатар кейбір графикалық СКД -ға өте ұқсас. HD44780 екі режимде жұмыс істей алады: 1. СКД-ге жіберілетін әрбір байт 4 биттік 2 бөліктен тұратын 4 биттік режим. 2. 8-биттік режим, біз оған назар аударамыз. СКД -де барлығы 16 түйреуіш, 3 басқару түйреуі және 8 түйреуіш бар: RS - СКД -ге пәрменді немесе деректерді жібергіміз келетінін басқарады. Мұндағы 'жоғары' - деректерді (символды) және 'төмен' - командалық байтты білдіреді. R/W - HD44780 контроллері оның жедел жадынан оқуға мүмкіндік береді. Бұл түйреуіш «жоғары» болғанда, біз оның түйреуіштерінен деректерді оқи аламыз. Егер ол төмен болса, біз деректерді СКД -ге жаза аламыз. СКД -дан оқу мүмкіндігі кейбір жағдайларда пайдалы болуы мүмкін, бірақ біз бұл оқулықта оны қарастырмаймыз, және біз оны әрқашан Жазу режимінде болуын қамтамасыз ету үшін осы түйреуішті қосамыз., бұл түйін деректерді оның жедел жадына жазу және ақырында оны экранда көрсету үшін «жоғары», «төмен» ауыстырып қосылады. DB0-7 - Бұл деректер түйреуіштері. 4 биттік режимде біз тек 4 биттік DB4 -DB7 пайдаланамыз, ал 8 биттік режимде олардың барлығы пайдаланылады., біз оны Arduino + 5v түйреуішінен оңай қоректендіре аламыз. Vo - Бұл дисплейге контраст деңгейін орнатуға мүмкіндік беретін түйреуіш, ол үшін потенциометр қажет, әдетте 5К Ом кастрюль қолданылады. LED + - Бұл артқы жарық үшін қуат көзі. Кейбір СКД артқы жарығымен келмейді, тек 14 істікшесі бар. Көп жағдайда бұл түйреуіш +5В қосылымды қажет етеді. -бұл жағдайда сізге тек жарықдиодты+ және жарықдиодты жерге қосу қажет. Бірақ егер сіздің СКД-де артқы жарыққа орнатылған резистор болмаса, оны қосу маңызды, әйтпесе артқы жарық көп қуатты тұтынады және ол ақырында жанып кетеді. Көп жағдайда бұл СКД Arduino-ға қосылу тәсілі оны 4-биттік режимде пайдалану және R/W түйреуішін жерге қосу болып табылады. Осылайша біз RS, E және DB4-DB7 түйреуіштерін қолданамыз. 4 биттік режимде жұмыс істеудің тағы бір кішігірім кемшілігі бар, ол деректерді экранға жазу үшін 8 биттік конфигурацияға қарағанда екі есе көп уақыт алады. СКД 37 микросекундтың «тұндыру» уақытына ие, бұл СКД-ге келесі пәрменді немесе дерек байтты жібермес бұрын 37 микросекунд күту керек дегенді білдіреді. 4 биттік режимде біз әр байт үшін екі рет дерек жіберуіміз керек болғандықтан, бір байтты жазуға кететін жалпы уақыт 74 микросекундқа дейін жетеді. Бұл әлі де жеткілікті жылдам, бірақ мен дизайнды мүмкіндігінше жақсы нәтижеге жеткізгім келді. Пайдаланылған түйреуіштер саны бойынша біздің мәселенің шешімі сериялық параллель түрлендіргіште жатыр …

3 -қадам: №2 жабдықты біліңіз

№2 жабдықты біліңіз
№2 жабдықты біліңіз

Біз не істейміз - Arduino -дан шығатын байланыс түрін қабылдайтын және деректерді біздің СКД -ге берілетін параллель шығысқа түрлендіретін адаптер құру. 74HC595 чипі келеді. Бұл өте арзан және жұмыс істейтін ауысымдық регистр. Негізінде, ол 8 сағаттық ішкі буферді соңғы 8 битпен «толтырылған» толтыру үшін пайдаланатын сағатты және деректер сигналын алады. «Latch» (ST_CP) түйреуіші «жоғары» деңгейге жеткізілгеннен кейін, бұл биттерді 8 шығысына жылжытады. 595 -тің өте жақсы ерекшелігі бар, оның сериялық деректерді шығаратын түйрегіші (Q7 ') бар, бұл түйреуішті ені 16 немесе одан көп биттік параллель адаптерлерді құру үшін 2 немесе одан да көп 595 тізбектерінің тізбегіне пайдалануға болады. Бұл жоба үшін бізге осы 2 чип қажет болады. Схема сонымен бірге 4-разрядты 595-пен жұмыс істеу үшін өзгертілуі мүмкін, бірақ бұл нұсқаулықта қарастырылмайды.

4 -қадам: Барлығын электрмен жабдықтау

Барлығын сыммен қосу
Барлығын сыммен қосу

Енді біз аппараттық құралдың қалай жұмыс істейтінін біле отырып, оның бәрін қосуға болады. Схемада біз 165 биттік параллель шығуды қалыптастыру үшін тізбектелген 2 595 чипті көреміз. Төменгі микросхема негізгі болып табылады, ал жоғарғы бөлігі ромашкаға байланған. Біз көріп отырғанымыз-төменгі 595 8-биттік конфигурациядағы СКД деректер түйреуішін басқарады, жоғарғы чип транзисторды қосу немесе өшіру арқылы RS сигналын және артқы жарығын басқарады. СКД артқы жарығы туралы *жазбаны есте сақтаңыз №1 аппараттық құралдарды біліңіз, егер сіздің СКД -де артқы жарық резисторы болмаса, оны схемаға қосуды ұмытпаңыз. Менің жағдайда, СКД мен резистормен бірге келдім, сондықтан мен бұл қадамды өткізіп жібердім. Контраст 5К Ом кастрюль арқылы қолданылады, бір түйреуіш GND -ге өтеді, екіншісі - VCC -ге, ал сүрткіш - СКД -дағы Vo түйреуішіне. СКД және 595 VCC желілерінде қолданылатын конденсаторлар конденсаторларды ажыратады, олар кедергілерден арылу үшін бар. Егер сіз нан тақтасында жұмыс жасасаңыз, олар міндетті емес, бірақ сіз бұл схеманың «зертханалық жағдайлардан» тыс пайдалану үшін өзіңіздің жеке нұсқаңызды құрған жағдайда қолданған жөн. R5 және C9 нақты реттілікпен RC кідірісін жасайды, бұл 595 шығысындағы деректер СКД -дегі Қосу түйреуіші «жоғары» орнатылмай тұрып және деректерді оқымай тұрып, тұрақталуға уақыт беретініне көз жеткізеді. Төменгі 595 Q7 'жоғарғы жағындағы 595 сериялық деректерді енгізуге түседі, бұл 595s ромашка тізбегін және осылайша 16 биттік интерфейсті жасайды. Arduino -ға қосылу оңай. Біз Arduino SPI түйреуіштерін қолдана отырып, 3 сымды конфигурацияны қолданамыз. Бұл деректерді өте жылдам жіберуге мүмкіндік береді, СКД -ге 2 байтты жіберу әдетте шамамен 8 микросекундты алады. Бұл өте жылдам, және бұл деректерді өңдеуге СКД уақытына қарағанда әлдеқайда жылдам, сондықтан әр жазу арасында 30 микросекундқа кідіріс қажет. SPI қолданудың бір үлкен артықшылығы - D11 және D13 түйреуіштері басқа SPI құрылғыларымен ортақ пайдаланылады. Бұл дегеніміз, егер сізде акселерометр сияқты SPI қолданатын басқа компонент болса, онда бұл шешім қосу сигналы үшін тек бір қосымша түйреуішті пайдаланады. Келесі бетте біз нәтижені көреміз. Мен перформатқа рюкзак салдым және ол мен үшін өте жақсы жұмыс істейді.

5 -қадам: Нәтиже + кітапхана

Нәтиже + кітапхана
Нәтиже + кітапхана
Нәтиже + кітапхана
Нәтиже + кітапхана
Нәтиже + кітапхана
Нәтиже + кітапхана
Нәтиже + кітапхана
Нәтиже + кітапхана

«Сурет мың сөзге тұрарлық», мен бұл мәлімдемемен келісемін, сондықтан бұл жобаның түпкілікті нәтижесінің суреттері. Бұл аяқталған өнімнің суреттері, Fritzing PCB көрінісі - бұл менің рюкзагымды жасау үшін қолданған тақтаның орналасуы. Егер сіз оны өзіңіз құрғыңыз келсе, сізге пайдалы болуы мүмкін. Маған ұнады, мен DipTrace көмегімен ПХД құрастырдым және 10 ПХД пакетіне тапсырыс бердім. Маған өзіме 2 немесе 3 бірлік қажет болады, бірақ қалғандарын алған кезде символдық бағаға қол жетімді етемін. Сондықтан, егер біреу қызығушылық танытса, маған хабарлаңыз. * Өңдеу: ПХД осында және олар жұмыс істейді. Міне, осы жобаның толық сурет галереясы, оның ішінде нақты ПХД. https://imgur.com/a/mUkpw#0 Әрине, мен ең маңызды нәрсені - осы схеманы қолданатын кітапхананы ұмытпадым. Ол Arduino IDE қосылған LiquidCrystal кітапханасымен үйлесімді, сондықтан сіз эскиздің жоғарғы жағындағы декларацияларды оңай ауыстыра аласыз және эскизде басқа ештеңені өзгертудің қажеті жоқ. Кітапханада әр функцияның қалай жұмыс істейтінін көрсететін мысал эскизі бар, сондықтан оны тексеріңіз.

Ұсынылған: