Мазмуну:

ЖК менен иш столунун уюштуруучусу: 4 кадам
ЖК менен иш столунун уюштуруучусу: 4 кадам

Video: ЖК менен иш столунун уюштуруучусу: 4 кадам

Video: ЖК менен иш столунун уюштуруучусу: 4 кадам
Video: “БАКЫРЧААК” БАКАЙ КЫЗМАТКА КАНТИП БАРДЫ? 2024, Ноябрь
Anonim
Image
Image

** Түзөтүлүүдө **

HKU arduino проектиси үчүн мен потметрди айландырганда сизди алуу үчүн илхам цитаталарын көрсөтүүчү ЖК экраны бар рабочий организатор кылууну чечтим!

Мен негизинен arduino техникалык нерселерин камтыйм, анткени сизде Arduino менен ЖКны жашыруу үчүн жыгач кутуга окшош нерсе бар болсо, каалаган жеке формаңызга ээ болот.

Сизге керектүү нерселер

  • *arduino uno
  • казан метр
  • *эркектердин прототиптештирүүчү зымдары
  • *ЖК модулу! SD карта окугучу менен! (Менде arduino tft LCD бар)
  • *микро SD карта
  • *жыгач (мен эски мини тартмаларды кайра иштеттим жана жыгачтын тетиктерин колдондум, жок дегенде ардуинону жашыруу үчүн кичинекей кутуча түзө алаарыңызды текшериңиз!

1 -кадам: Ардуинодо Potmeter орнотуу

Ардуинодо Potmeter орнотуу
Ардуинодо Potmeter орнотуу

казанда эсептегичти сүрөттө көрсөтүлгөндөй туташтырыңыз

казан эсептегичти иштетүү үчүн

Орнотуудан мурун эскиздин үстүндөгү айрым өзгөрмөлөрдөн башташыңыз керек:

код:

const int analogInPin = A0; // Потенциометр тиркелген аналогдук кирүү пин

int sensorValue = 0; // казандан окулган маани int outputValue = 0; // PWMге маани чыгаруу (аналогдук чыгуу)

2 -сүрөттө мен potmeter боштук циклинде кантип картага түшкөнүн көрсөтөм

код:

// маанисин аналогду окуу:

sensorValue = analogRead (analogInPin); // аны аналогдук диапазонго картаңыз: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // аналогдук чыгууну өзгөртүү:

stuffToPrint.toCharArray (басып чыгаруу, 9); // статикалык текст myScreen.setTextSize (1);

Serial.print ("сенсор ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);

кечиктирүү (50);

бул аналогдук маалыматтарды potmeterден 0дон 255ке чейин картага түшүрөт, биз бул диапазонду LCD слайдшоугубузду көзөмөлдөө үчүн колдонобуз

Эгерде сизге потметрди орнотууга жардам керек болсо; Мен бул пайдалуу окуу куралынын кодун колдондум, казыктар так ошондой жана кийинки кадамдарда ЖК орнотуусу менен иштейт.

www.toptechboy.com/arduino/lesson-11-arduin…

2 -кадам: ЖК орнотуу

LCD орнотуу
LCD орнотуу

Жогорудагы мисалда көрсөтүлгөндөй казыктарды орнотуңуз.

Туура аткарылганда, экраныңыз ак болуп күйөт.

Эгерде сизге кошумча жардам керек болсо же дисплейиңизди текшерүү үчүн кандайдыр бир мисал кодун колдонууну кааласаңыз, бул модулдун расмий окуу куралын көрө аласыз жана анын коддорунун мисалдары бул жерде

биз кийинки кадамда "SD картадан сүрөт тартууну" жарым -жартылай колдонобуз.

3 -кадам: слайдшоуну орнотуу

Слайдшоуну орнотуу
Слайдшоуну орнотуу

Эми бизде Потметр жана ЖК орнотулганда, биз "слайдшоуну" потмердин картадагы маанилерин колдонуп орното алабыз.

0дон 255ке чейинки диапазонду колдонуу менен биз ардуинону ЖКда көрсөтө турган белгилүү бир диапазонду көрсөтө алабыз.

Сүрөттө көрсөтүлгөндөй биринчи мисал:

if (outputValue <51) {// бир диапазон if (rangeOne == true) {rangeTwo = true; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text ("Саламатсызбы, сонун", 10, 50); myScreen.text ("пинди> буруңуз", 10, 60); myScreen.text ("дем ал.", 10, 70); rangeOne = false;

Эгерде потметр 51ден төмөн диапазонго бурулса, дисплейи бар экран (портрет режиминде = ротация 90) кээ бир текст.

Сүрөттү көрсөтө алуу үчүн SD CS пиниңиздин туура аныкталганын текшериңиз, же arduino SDди инициализациялай албайт (андыктан зымдарыңызды текшериңиз !!)

Эгерде сиз ЖКнын казыктарын текшергиңиз келсе, анда "экранды туташтыруу" расмий көрсөтмөсүнө кайрылсаңыз болот

Мен азыр SD CS пинимди 4 деп аныктадым, анткени мен зымдарды аралаштырдым! - Мен кичинекей оопсини бөлүшкөнүмө кубанычтамын, анткени ал Интернеттен "Ынталабады" катасын издөөгө көп убакытты үнөмдөйт. Кээ бир форумдарда SD картанын белгилүү бир модели болушу керек деп айтылат. Жаңы SD карталарды сатып алардан мурун зымыңызды текшериңиз !!

4 -кадам: Толук коддун мисалы

#кошуу

#кошуу // Аппаратка тиешелүү китепкана #кошуу

#define SD_CS 4 #define CS 10 #define DC 9 #define RESET 8

const int analogInPin = A0; // Потенциометр тиркелген аналогдук киргизүү пини

int sensorValue = 0; // казандан окулган маани int outputValue = 0; // PWMге баалуулуктун чыгышы (аналогдук чыгуу) bool rangeOne = true; bool rangeTwo = true; bool rangeThree = true; bool rangeFour = true; bool rangeFive = true;

TFT myScreen = TFT (CS, DC, RESET);

PImage сүрөтү; const char басып чыгаруу [9];

void setup () {Serial.begin (9600); myScreen.begin (); // SD картага кирүүгө аракет кылыңыз Serial.print ("SD карт башталууда …"); if (! SD.begin (SD_CS)) {Serial.println ("ишке ашкан жок!"); кайтуу; } Serial.println ("Макул!");

// GLCD экранын баштоо жана тазалоо myScreen.begin (); myScreen.background (255, 255, 255);

} void loop () {// аналогду мааниси боюнча окуңуз: sensorValue = analogRead (analogInPin); // аны аналогдук диапазонго картаңыз: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // аналогдук чыгымдын маанисин өзгөртүү:

stuffToPrint.toCharArray (басып чыгаруу, 9); // статикалык текст myScreen.setTextSize (1);

Serial.print ("сенсор ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);

кечиктирүү (50);

if (outputValue to ", 10, 60); myScreen.text (" дем ал. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) { / /төрт диапазон болсо (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // экрандын сүрөтүн тазалоо = myScreen.loadImage ("quote2.bmp "); // экранда сүрөттү жазуу myScreen.image (сүрөт, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" Мен абдан сыймыктанам ", 10, 50); myScreen.text ("сизден!", 10, 60); rangeFour = false;}}

if (outputValue> 206 && outputValue

Сунушталууда: