INHOUDSOPGAWE:

Desktop Organizer Met LCD: 4 stappe
Desktop Organizer Met LCD: 4 stappe

Video: Desktop Organizer Met LCD: 4 stappe

Video: Desktop Organizer Met LCD: 4 stappe
Video: Deleting Apps? Do These 4 Things FIRST! 2024, November
Anonim
Image
Image

** Word geredigeer **

Vir die HKU arduino -projek het ek besluit om 'n lessenaar -organisator te maak met 'n LCD -skerm wat inspirasie -aanhalings vertoon om u op te tel as u u potmeter draai!

Ek behandel die arduino -tegniese dinge meestal, solank jy iets soos 'n houtkas het om jou Arduino en LCD in jou persoonlike oganisor te verberg, kan dit 'n gewenste vorm aanneem.

Die dinge wat jy nodig het

  • *arduino uno
  • potmeter
  • *manlike prottyping drade
  • *LCD -module! Met SD -kaartleser! (Ek het 'n arduino tft LCD)
  • *mikro SD kaart
  • *hout (ek het ou mini -laaie herwin en 'n paar onderdele van hout gebruik; maak seker dat u ten minste 'n boksie kan vorm om u arduino in te steek!

Stap 1: Die opstel van die potmeter op Arduino

Die opstel van die potmeter op Arduino
Die opstel van die potmeter op Arduino

verbind u potmeter soos op die foto getoon

om die potmeter aan die werk te kry

U moet begin met 'n paar veranderlikes bo -aan u skets voor die opstelling:

kode:

const int analogInPin = A0; // Analoog invoerpen waarop die potensiometer geheg is

int sensorValue = 0; // waarde gelees uit die pot int outputValue = 0; // waarde -uitset na die PWM (analoog uit)

Op prent 2 wys ek hoe die potmeter in die leemte -lus gekarteer word

kode:

// lees die analoog in waarde:

sensorValue = analogRead (analogInPin); // kaart dit na die omvang van die analoog uit: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // verander die analoog uit waarde:

stuffToPrint.toCharArray (uitdruk, 9); // statiese teks myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);

vertraging (50);

dit karteer die analoog data van die potmeter tot 'n reeks van 0 tot 255, ons gebruik hierdie reeks om ons lcd -skyfievertoning te beheer

As u hulp nodig het met die opstel van die potmeter; Ek het die kode van hierdie nuttige handleiding gebruik; die penne is presies dieselfde en sal in die volgende stappe met die LCD -opstelling werk.

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

Stap 2: Stel die LCD op

Die opstel van die LCD
Die opstel van die LCD

Stel die penne op soos in die voorbeeld hierbo.

As dit korrek gedoen is, sal u skerm wit verlig.

As u ekstra hulp nodig het of 'n voorbeeldkode wil gebruik om u skerm te toets, kan u die amptelike handleiding vir hierdie module sien en die kodevoorbeelde hier

in die volgende stap gebruik ons die 'tekenbeeld vanaf SD -kaart' gedeeltelik.

Stap 3: Die opstel van die skyfievertoning

Die opstel van die skyfievertoning
Die opstel van die skyfievertoning

Noudat ons die Potmeter en LCD opgestel het, kan ons 'n "skyfievertoning" opstel met behulp van die gekose waardes van die potmeter

Deur die reeks van 0 tot 255 te gebruik, kan ons 'n sekere reeks aandui waarin ons die arduino kan aktiveer om inhoud op die LCD te vertoon.

Eerste voorbeeld soos in die prentjie getoon:

if (outputValue <51) {// range one if (rangeOne == true) {rangeTwo = true; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text ("Hi daar wonderlik,", 10, 50); myScreen.text ("draai die pen> na", 10, 60); myScreen.text ("kry aanmoediging.", 10, 70); rangeOne = vals;

As die potmeter na 'n bereik laer as 51 draai, het die skerm met vertoning (in portretmodus = rotasie 90) 'n bietjie teks.

Om 'n beeld te kan vertoon, moet u seker maak dat u SD CS -pen korrek gedefinieer is, anders kan die arduino nie die SD initialiseer nie (maak dus seker dat u u drade nagaan!)

As u die penne van u LCD wil nagaan, kan u na die amptelike gids verwys na die verbinding van die skerm

Ek het my SD CS -pen nou as 4 gedefinieer omdat ek byvoorbeeld my drade deurmekaar gemaak het! - Ek deel graag die klein oopsie, want dit sal u baie tyd bespaar om op die internet te soek na die 'Kon nie inisialiseer' -fout nie. Op sommige forums word gesê dat die oplossing is om 'n sekere model SD -kaart te hê. Kontroleer dus eers u bedrading voordat u nuwe SD -kaarte koop!

Stap 4: Voorbeeld van volledige kode

#insluit

#include // Hardeware-spesifieke biblioteek #include

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

const int analogInPin = A0; // Analoog invoerpen waaraan die potensiometer geheg is

int sensorValue = 0; // waarde gelees uit die pot int outputValue = 0; // waarde -uitset na die PWM (analoog uit) bool rangeOne = true; bool rangeTwo = waar; bool rangeThree = true; bool rangeFour = waar; bool rangeFive = true;

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

Beeldprent; const char afdruk [9];

ongeldige opstelling () {Serial.begin (9600); myScreen.begin (); // probeer toegang tot die SD -kaart Serial.print ("Initialisering van SD -kaart …"); as (! SD.begin (SD_CS)) {Serial.println ("misluk!"); terugkeer; } Serial.println ("OK!");

// initialiseer en verwyder die GLCD -skerm myScreen.begin (); myScreen.background (255, 255, 255);

} leemte lus () {// lees die analoog in waarde: sensorValue = analogRead (analogInPin); // kaart dit na die omvang van die analoog uit: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // verander die analoog uit waarde:

stuffToPrint.toCharArray (uitdruk, 9); // statiese teks myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);

vertraging (50);

if (outputValue to ", 10, 60); myScreen.text (" get encouragement. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) { / /reeks vier as (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // maak die skermprent skoon = myScreen.loadImage ("quote2.bmp "); // skryf die prent op myScreen.image (beeld, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" Ek is so trots ", 10, 50); myScreen.text ("van jou!", 10, 60); rangeFour = false;}}

if (outputValue> 206 && outputValue

Aanbeveel: