Բովանդակություն:

Սեղանի կազմակերպիչ LCD- ով `4 քայլ
Սեղանի կազմակերպիչ LCD- ով `4 քայլ

Video: Սեղանի կազմակերպիչ LCD- ով `4 քայլ

Video: Սեղանի կազմակերպիչ LCD- ով `4 քայլ
Video: 05.09.23 Special Board of Education Meeting 2024, Հուլիսի
Anonim
Image
Image

** Խմբագրվում է **

HKU arduino նախագծի համար ես որոշեցի պատրաստել աշխատասեղանի կազմակերպիչ ՝ LCD էկրանով, որը ցուցադրում է ոգեշնչման մեջբերումներ, որոնք ձեզ կվերցնեն, երբ դուք պտտեցնում եք ձեր չափիչ սարքը:

Ես հիմնականում լուսաբանելու եմ arduino- ի տեխնիկական իրերը, քանի դեռ դուք ունեք փայտե տուփի նման մի բան, որը ձեր Arduino- ն և LCD- ը ձեր անձնական օգանիզորի մեջ թաքցնելու համար կարող է ցանկացած ցանկալի ձև ստանալ:

Այն բաները, որոնք ձեզ անհրաժեշտ կլինեն

  • *arduino uno
  • կաթսայի հաշվիչ
  • *արական տիպի լարեր
  • *LCD մոդուլ: SD քարտի ընթերցողով: (Ես ստացա arduino tft LCD)
  • *միկրո SD քարտ
  • *փայտ (ես վերամշակեցի հին մինի գզրոցները և օգտագործեցի որոշ պահեստային փայտե մասեր, համոզվեք, որ գոնե կարող եք ձևավորել մի փոքրիկ տուփ ՝ ձեր արդուինոն թաքցնելու համար):

Քայլ 1. Կարգավորիչի տեղադրում Arduino- ում

Կարգավորիչի տեղադրում Arduino- ում
Կարգավորիչի տեղադրում Arduino- ում

միացրեք ձեր զամբյուղի հաշվիչը, ինչպես ցույց է տրված նկարում

գործի դնել զամբյուղի հաշվիչը

Նախքան կարգավորումը, դուք պետք է սկսեք ձեր ուրվագծի վերևի որոշ փոփոխականներով.

կոդը:

const int analogInPin = A0; // Անալոգային մուտքագրման քորոց, որին ամրացված է պոտենցիոմետրը

int sensorValue = 0; // զամբյուղից կարդալ արժեքը int outputValue = 0; // արժեքի ելք PWM- ին (անալոգային ելք)

Նկար 2 -ում ես ցույց եմ տալիս, թե ինչպես է potmeter- ը քարտեզագրվում դատարկ օղակում

կոդը:

// կարդալ անալոգը արժեքով.

sensorValue = analogRead (analogInPin); // քարտեզագրեք այն անալոգի միջակայքում. outputValue = քարտեզ (sensorValue, 0, 1023, 0, 255); String stuffToPrint = Լար (outputValue); // փոխել անալոգային ելքային արժեքը.

stuffToPrint.toCharArray (տպագրություն, 9); // ստատիկ տեքստ myScreen.setTextSize (1);

Serial.print ("ցուցիչ ="); Serial.print (sensorValue); Serial.print ("\ t ելք ="); Serial.println (outputValue);

ուշացում (50);

սա քարտեզի անոթային տվյալները չափում է 0 -ից 255 միջակայքում, մենք կօգտագործենք այս միջակայքը ՝ մեր LCD էկրանների սլայդերի ցուցադրումը վերահսկելու համար

Եթե օգնության կարիք ունեք potmeter- ը տեղադրելու համար; Ես օգտագործել եմ այս օգտակար ձեռնարկի ծածկագիրը, կապումներն ամբողջությամբ նույնն են և հաջորդ քայլերում կաշխատեն LCD- ի կարգավորմամբ:

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

Քայլ 2: LCD- ի կարգավորում

LCD- ի կարգավորում
LCD- ի կարգավորում

Կարգավորեք կապում, ինչպես վերը նշված օրինակում:

Doneիշտ կատարվելուց հետո ձեր էկրանը սպիտակ կլինի:

Եթե լրացուցիչ օգնության կարիք ունեք կամ ցանկանում եք օգտագործել ինչ -որ օրինակային ծածկագիր ՝ ձեր էկրանը ստուգելու համար, կարող եք տեսնել այս մոդուլի պաշտոնական ձեռնարկը և դրա կոդերի օրինակները այստեղ ՝

մենք մասամբ կօգտագործենք «SD քարտից պատկեր նկարելը» հաջորդ քայլին:

Քայլ 3: Սլայդերի ցուցադրման կարգավորում

Սլայդերի ցուցադրման կարգավորում
Սլայդերի ցուցադրման կարգավորում

Այժմ, երբ մենք տեղադրում ենք Potmeter- ը և LCD- ը, կարող ենք ստեղծել «սլայդ շոու» ՝ օգտագործելով potmeter- ի քարտեզագրված արժեքները

Օգտագործելով 0 -ից 255 միջակայքը, մենք կարող ենք նշել որոշակի տիրույթ, որի մեջ մենք կարող ենք առաջացնել arduino- ն ՝ LCD- ով որոշակի բովանդակություն ցուցադրելու համար:

Առաջին օրինակը, ինչպես ցույց է տրված նկարում.

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 = կեղծ;

Եթե չափիչ սարքը վերածվում է 51 -ից ցածր տիրույթի, ապա էկրանով ցուցադրվող (դիմանկարային ռեժիմում = պտտման 90) որոշ տեքստ:

Պատկերը ցուցադրելու համար համոզվեք, որ ձեր SD CS փինն է ճիշտ սահմանված, կամ arduino- ն չի կարող սկզբնականացնել SD- ն (այնպես որ համոզվեք, որ ստուգեք ձեր լարերը !!)

Եթե ցանկանում եք ստուգել ձեր LCD- ի կապում կարող եք դիմել պաշտոնական ուղեցույցին, որը «էկրանը միացնում է»

Ես իմ SD CS պինն այժմ սահմանեցի որպես 4, քանի որ, օրինակ, լարերս խառնեցի: - Ուրախ եմ կիսվել այդ փոքրիկ օփսիով, քանի որ դա ձեզ շատ ժամանակ կխնայի համացանցում «Չհաջողվեց նախաստորագրել» սխալի որոնման մեջ: Ինչին որոշ ֆորումներում ասվում է, որ շտկումը SD քարտի որոշակի մոդել ունենալն է: Այսպիսով, նախքան նոր SD քարտ գնելը ստուգեք ձեր էլեկտրագծերը:

Քայլ 4: Ամբողջ կոդի օրինակ

#ներառում

#ներառել // Սարքավորման համար հատուկ գրադարան #ներառել

#սահմանել SD_CS 4 #սահմանել CS 10 #սահմանել DC 9 #սահմանել RESET 8

const int analogInPin = A0; // Անալոգային մուտքագրման քորոց, որին ամրացված է պոտենցիոմետրը

int sensorValue = 0; // զամբյուղից կարդալ արժեքը int outputValue = 0; // արժեքը ելք դեպի PWM (անալոգային ելք) bool rangeOne = true; bool rangeTwo = ճշմարիտ; bool rangeThree = true; bool rangeFour = true; bool rangeFive = ճշմարիտ;

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

PImage պատկեր; const char տպագրություն [9];

void setup () {Serial.begin (9600); myScreen.begin (); // փորձեք մուտք գործել SD քարտ Serial.print («SD քարտի նախաստորագրում …»); եթե (! SD.begin (SD_CS)) {Serial.println ("ձախողվեց"); վերադարձ; } Serial.println ("Լավ!");

// նախաստորագրել և մաքրել GLCD էկրանը myScreen.begin (); myScreen.background (255, 255, 255);

} void loop () {// կարդալ անալոգը արժեքով ՝ sensorValue = analogRead (analogInPin); // քարտեզագրեք այն անալոգի միջակայքում. outputValue = քարտեզ (sensorValue, 0, 1023, 0, 255); String stuffToPrint = Լար (outputValue); // փոխել անալոգային ելքային արժեքը.

stuffToPrint.toCharArray (տպագիր, 9); // ստատիկ տեքստ myScreen.setTextSize (1);

Serial.print ("ցուցիչ ="); Serial.print (sensorValue); Serial.print ("\ t ելք ="); Serial.println (outputValue);

ուշացում (50);

եթե (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

Խորհուրդ ենք տալիս: