Мазмуну:
Video: Бир ЖК линиясын жылдыруу: 4 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Liquid Crystal Libraryда scrollDisplayLeft () жана scrollDisplayRight () деген эки пайдалуу функция бар. Бул функциялар бүт дисплейди жылдырат. Башкача айтканда, алар 1602 ЖКнын эки сызыгын жана 2004 ЖКдагы бардык төрт сапты сыдырышат. Бизге эң керектүү нерсе - бул дисплейди бир жылдыруу эмес, бүт дисплейди жылдыруу.
Бул Instructable эки кошумча функцияны камсыз кылат, scrollInFromRight (текстти көрсөтүү үчүн сызык, жылдырылуучу сап) жана scrollInFromLeft (текстти көрсөтүү үчүн сызык, жылдыруу үчүн сап). Бул эки функция, ЖК экранына сызыктарды эки функция менен айкалыштырат: scrollLineRight (текстти көрсөтүү үчүн сызык, жылдырылуучу сап) жана scrollLineLeft (текстти көрсөтүү үчүн сызык, жылдырыла турган сап) менин мурунку көрсөтмөмдөн. экрандан сызыктарды жылдыруу функциялары бизге текстти ЖК экранда кантип көрсөтүүнү же алып салууну көзөмөлдөөнүн бир нече күчтүү жолдорун берет.
1 -кадам: Эмне керек
- 1602 же 2004 ЖК өзүнчө дисплей, же ЖК калканы
- 2004-жылдагы ЖК дисплейди колдонуу боюнча төмөндөгү жазууну караңыз
- An Arduino UNO R3 же клон
- Ардуинону компьютерге туташтыруу үчүн USB кабели
- Жарым өлчөм, 400 галстук чекити, нан
- Arduino IDE
- Эксперименталдык платформа (милдеттүү эмес, бирок пайдалуу)
Керектүү нерселер - бул ЖК экран же 1602 же 2004 [эгер 2004 -ж. Колдонулса, анда lcd.begin () функциясын өзгөртүү менен оңго жылдыруу көйгөйсүз иштейт, азыр сиз 20 тамга х 4 линиясын колдонуп жатканыңызды чагылдыруу үчүн. көрсөтүү. [2004 -жылдагы дисплейди колдонуу менен солго жылуу үчүн crollInFromLeft () функциясынын кодун кайра жазуу керек]. ЖКдан башка сизге Arduino UNO же клону, Arduino IDE жана USB кабели Arduinoду компьютерге туташтыруу үчүн керек болот.
Бул жерде көрсөтүлгөн автономдуу ЖКнын ордуна LCD калканы колдонсо болот. Эгер андай болсо, анда төмөндөгү эскиздеги ЖК үчүн пин -тапшырмаларды өзгөртүү керек болот.
- Көз карандысыз 1602 ЖК дисплейи үчүн мен эскиздеримде төмөнкү пин тапшырмаларды колдондум:
// LiquidCrystal (rs, иштетүү, d4, d5, d6, d7)
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
жана LiquidCrystal.h Liquid Crystal китепканасы кирген.
- ЖК калканы үчүн мен эскиздеримде төмөнкү пин тапшырмаларын колдоном, ошондой эле LiquidCrystal.h Liquid Crystal китепканасын коштум.
// LiquidCrystal (rs, иштетүү, d4, d5, d6, d7)
LiquidCrystal lcd (8, 13, 9, 4, 5, 6, 7);
Ар бир маршрут бул жерде кодду иштетет, б.а., же ЖК калканы же өзүнчө ЖК. Бул Нускоодо 1602 автономдуу ЖК дисплейи колдонулган, бирок белгиленгендей, эгер 1602 калканычты, эгерде пиндин ар кандай тапшырмалары эске алынса, колдонсо болот.
Мен "эксперименталдык платформаны" колдонуп, Arduino UNOду жарым өлчөмгө, 400 галстук чекитине, нанга туташтырдым. (Мурунку Инструкторумду караңыз, "Arduino UNO R3 үчүн эксперименталдык платформа, аны колдонууга кантип даярдоо керек"). Бирок, эксперименталдык платформанын кереги жок, бирок мен үчүн ЖКны БУУга туташтырууну оңой жана тез кылат.
Мен ЖКны БУУга туташтыруу үчүн колдонгон тапшырмаларды жогоруда көрүүгө болот.
2 -кадам: туташуу
ЖК панелге туташтырылган, андан кийин туташуу зымдары нан тактасынан Arduinoдогу тиешелүү казыктарга туташтырылган (эгер мен колдонгон байланыштар боюнча суроолор болсо, 2 -кадамды караңыз).
Мен бул долбоор үчүн калкан эмес, өз алдынча ЖКны артык көрдүм, анткени бул мен үчүн көбүрөөк канааттандырарлык болчу жана кайсы казыктар бар экенин оңой көрүүгө мүмкүнчүлүк берди. Бул ошондой эле мага бурагыч менен туураланышы керек болгон калкан потенциометрин эмес, туткасы бар потенциометрди колдонууга мүмкүнчүлүк берет.
Өз алдынча ЖК өзүнчө 10 к ом потенциометрди колдонууну талап кылат. Жогоруда белгилеп кеткендей, мен үчүнчү ЖК пинге туташтыргычы бар баскычты колдондум (ЖК казыктары сизге караган оңдон эсептөө). Потенциометр ЖКнын контрастын контролдоо үчүн колдонулат. Байланыштар 1602 жана 2004 -жылдар үчүн бирдей. Бирок, lcd.begin (16, 2) билдирүүсүн эскизде lcd.begin (20, 4) кылып өзгөртүү керек, бул биздин ЖКнын 16дан өзгөргөнүн көрсөтүү үчүн. эки саптан турган дисплей 20 белгиден төрт сапка чейин.
Тиркелген сүрөттөрдү кароо мен колдонгон байланышты, анын ичинде эксперименталдык платформаны жана 10к потенциометрди көрсөтөт.
3 -кадам: Эскиз
Жөн гана тиркелген эскизди Arduino IDEге киргизиңиз. Сураныч, инструктивдүү сайт көбүнчө чоң жана кичине белгилерди жана алардын ортосундагы текстти алып салаарын унутпаңыз. Ошентип, ишениңиз жана текстти киргизиңиз, #LiquidCrystal.h кошуңуз жана LiquidCrystal.h сөздөрүн символдордон чоң жана кичине ичине кошуңуз.
// ЖК экранга символдорду жылдыруу үчүн эскиз
#кошуу // Бул жерде эмне керектүү экендиги тууралуу тексттеги жазууну караңыз, б.а., ичинде тиркелген LiquidCrystal.h
// символдордон чоң жана кичине
// Бул сайт көбүнчө чоң жана кичине символдорду жана алардын ортосундагы текстти алып салат
// LiquidCrystal (rs, иштетүү, d4, d5, d6, d7)
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
// Lcdти LiquidCrystal объектиси катары жарыялоо
int i = 0;
int j = 0;
int k = 0;
int delayTime2 = 350; // Сменалардын ортосундагы кечигүү
жараксыз scrollInFromRight (int line, char str1 ) {
// Р. Джордан Крейндлер 2016 -жылдын июнунда жазган
i = strlen (str1);
үчүн (j = 16; j> = 0; j--) {
lcd.setCursor (0, сап);
үчүн (k = 0; k <= 15; k ++) {
lcd.print (""); // Таза сызык
}
lcd.setCursor (j, сызык);
lcd.print (str1);
кечиктирүү (delayTime2);
}
}
жараксыз scrollInFromLeft (int line, char str1 ) {
// Р. Джордан Крейндлер 2016 -жылдын июнунда жазган
i = 40 - strlen (str1);
сап = сап - 1;
үчүн (j = i; j <= i+16; j ++) {
үчүн (k = 0; k <= 15; k ++) {
lcd.print (""); // Таза сызык
}
lcd.setCursor (j, сызык);
lcd.print (str1);
кечиктирүү (delayTime2);
}
}
жараксыз орнотуу () {
Serial.begin (9600);
Serial.println ("Сыноо башталууда…");
lcd.begin (16, 2);
lcd.clear ();
lcd.print ("Тек тестирлөө");
}
void loop () {
lcd.clear ();
scrollInFromRight (0, "Оңдон Line1");
scrollInFromRight (1, "Оңдон Line2");
lcd.clear ();
scrollInFromLeft (0, "Саптан 1ге чейин.");
scrollInFromLeft (1, "Солдон 2 -линия");
lcd.clear ();
scrollInFromRight (0, "Оңдон Line1");
scrollInFromLeft (1, "Солдон 2 -сап");
lcd.clear ();
}
Эки функция: scrollInFromRight (текстти көрсөтүү үчүн сызык, жылдыруу үчүн сап) жана scrollInFromLeft (текстти көрсөтүү үчүн сызык, жылдыруу үчүн сап) ЖК экранга жылдырылган сызыктарды көзөмөлдөө үчүн эскизге жылдырылышы мүмкүн. Бул функциялар жаңы текстти экранга жылдыруунун эң сонун жолун камсыздайт.
Нускамада камтылган эскиздеги эки функция менен айкалыштырылганда "ЖКнын бир сызыгын солго же оңго жылдыруу, кантип" төрт функциялар ЖК дисплейге текстти жылдыруунун эң сонун жолдорун камсыз кылат. Бул функциялар текстти бир сапта жылдырууга мүмкүндүк берет жана бүт дисплейдин функциялары, scrollDisplayLeft () жана scrollDisplayRight () сыяктуу эле жылдырылышын талап кылбайт.
Бул жылдыруу жөндөмү бизге дисплей адатта көрсөтө алган саптарды узунураак көрсөтүүгө мүмкүнчүлүк берет. Башкача айтканда, 1602 дисплейи үчүн биз бир сапта 16 гана символдор менен чектелбейбиз (бирок бир эле учурда 16 гана көрсөтөт), ал эми 2004 -жылы биз бир сапта 20 символдор менен чектелген эмеспиз.
Четте эле, сиз керектөөлөрүңүзгө ылайык жылдыруу ортосундагы дисплей убактысын тууралоону каалашыңыз мүмкүн.
4 -кадам: Андан кийин
Мунун баары бар. Бул функцияларды жана менин мурунку Instructable'деги экөөнү LCDди колдонуп, текстти көрсөтүүчү эскизге кошсо болот. Белгиленгендей, узунураак линияларды колдонуу жөндөмү - бул жылдырууну колдонуу аркылуу мүмкүн болгон белгилүү бир пайда.
Эгерде сиз кандайдыр бир суроолор боюнча же кошумча маалымат алуу үчүн мага кайрылгыңыз келсе же берилген чөйрө боюнча билимимди кеңейтүүнү кааласаңыз, мага [email protected] дарегине кайрылсаңыз болот. (мени менен байланышуу үчүн экинчи 'i' 'e' менен алмаштырыңыз.
Сунушталууда:
DIY Гарри Поттердин Raspberry Pi менен портретти жылдыруу: 3 кадам
DIY Гарри Поттер Raspberry Pi менен кыймылдуу портрет: Гарри Поттер тасмаларынан шыктандырылган кыймылдуу портрет. Кыймылдуу портрет эски сынган ноутбуктун жардамы менен курулган. Ал тургай, дисплейге же эски мониторго туташкан Raspberry Pi менен курса болот. Кыймылдуу портрет алкагы укмуш көрүнөт, биз үй -бүлөлүк сүрөттөрдү көрө алабыз
Бир аналог пинди колдонуу менен бир нече аналогдук баалуулуктарды кантип окуу керек: 6 кадам (сүрөттөр менен)
Бир аналог пинди колдонуу менен бир нече аналогдук баалуулуктарды кантип окуу керек: Бул үйрөткүчтө мен сизге бир эле аналогдук кирүүчү пинди колдонуу менен бир нече аналогдук баалуулуктарды кантип окууну көрсөтөм
Interface Бир нече ЖК жалпы маалымат линиясын колдонуу менен Arduino Uno: 5 кадам
Жалпы маалымат линиясын колдонуу менен Arduino Unoго бир нече ЖК интерфейси: Бүгүн, бул көрсөтмөдө мен сизге 16x2 ЖК модулун жалпы маалымат линиясын колдонуу менен arduino uno тактасы менен кантип интерфейс кылууну көрсөтөм. Бул долбоордун эң кызык жери, ал жалпы маалымат линиясын колдонот жана ар кандай маалыматтарды e
4017 ICди колдонуу менен AC линиясын текшерүүчү кантип жасоо керек: 8 кадам
4017 ICди колдонуу менен AC линиясын текшерүүчү кантип жасалат: Досум, бүгүн мен 4017 ICди колдонуп AC Tester схемасын жасайм. Бул схема зымдын бетине тийбестен AC токту көрсөтөт. Кел, баштайлы
Таарынычтуу жылдыруу дөңгөлөгүн чыкылдатыңыз Eliminator (жылмакай жылдыруу): 5 кадам
Таарынычтуу жылдыруу дөңгөлөгүн чыкылдатыңыз Eliminator (жылмакай түрмөк): сиз түрмөктүн үнүнө кыжырданасызбы? бул жерде бул түрмөктөн чыкылдатуу үчүн мүмкүнчүлүк бар! Эгер чычканды сындырсаң, анда менин күнөөм жок. Мен бул режимди logitech чычкан менен жасайм. Мен анын башка чычканда иштээрине ишенбейм