Cuprins:

Organizator de birou cu LCD: 4 pași
Organizator de birou cu LCD: 4 pași

Video: Organizator de birou cu LCD: 4 pași

Video: Organizator de birou cu LCD: 4 pași
Video: 4 pasi pentru indeplinirea sarcinilor zilnice 2024, Noiembrie
Anonim
Image
Image

** Fiind editat **

Pentru proiectul HKU arduino, am decis să fac un organizator de birou cu ecran LCD care afișează citate de inspirație pentru a vă ridica atunci când rotiți potometrul!

Voi acoperi mai ales lucrurile tehnice arduino, atâta timp cât aveți ceva de genul unei cutii de lemn pentru a vă ascunde Arduino și LCD-ul în oganizorul dvs. personal ar putea lua orice formă dorită.

Lucrurile de care ai nevoie

  • * arduino uno
  • contor de ghiveci
  • * fire prottyping masculine
  • * Modul LCD! Cu cititor de card SD! (Am arduino tft LCD)
  • * card micro SD
  • * lemn (am reciclat mini sertare vechi și am folosit câteva piese de schimb din lemn, asigurați-vă că puteți forma cel puțin o cutie mică în care să vă ascundeți arduino-ul!

Pasul 1: Configurarea potmetrului pe Arduino

Configurarea Potmeter-ului pe Arduino
Configurarea Potmeter-ului pe Arduino

conectați contorul de oală așa cum se arată în imagine

pentru a începe să meargă potometrul

Va trebui să începeți cu câteva variabile în partea de sus a schiței înainte de configurare:

cod:

const int analogInPin = A0; // Pinul de intrare analogic la care este atașat potențiometrul

int sensorValue = 0; // valoare citită din pot int outputValue = 0; // ieșire valoare către PWM (ieșire analogică)

În imaginea 2 arăt cum este mapat potmetrul în bucla de gol

cod:

// citiți valoarea analogică:

sensorValue = analogRead (analogInPin); // mapează-l la intervalul ieșirii analogice: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // modificați valoarea ieșirii analogice:

stuffToPrint.toCharArray (tipărit, 9); // text static myScreen.setTextSize (1);

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

întârziere (50);

aceasta mapează datele analogice de la potmetru la un interval de la 0 la 255, vom folosi acest interval pentru a controla prezentarea noastră de diapozitive LCD

Dacă aveți nevoie de ajutor pentru configurarea potmetrului; Am folosit codul din acest tutorial util, pinii sunt exact aceiași și vor funcționa cu configurarea LCD în pașii următori.

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

Pasul 2: Configurarea ecranului LCD

Configurarea ecranului LCD
Configurarea ecranului LCD

Configurați pinii ca în exemplul de mai sus.

Când ați terminat corect, ecranul dvs. se va aprinde alb.

Dacă aveți nevoie de ajutor suplimentar sau doriți să utilizați un exemplu de cod pentru a vă testa afișajul, puteți vedea tutorialul oficial pentru acest modul și exemplele de cod aici

vom folosi parțial „imaginea desenată de pe cardul SD” în pasul următor.

Pasul 3: Configurarea prezentării

Configurarea prezentării
Configurarea prezentării

Acum, când avem setările Potmeter și LCD, putem configura un „slideshow” folosind valorile mapate ale potmeterului

Folosind intervalul de la 0 la 255 putem indica un anumit interval în care putem declanșa arduino pentru a afișa un anumit conținut pe ecranul LCD.

Primul exemplu așa cum se arată în imagine:

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 („Bună ziua minunată”, 10, 50); myScreen.text ("rotiți pinul> la", 10, 60); myScreen.text ("obține încurajare", 10, 70); rangeOne = fals;

Dacă potmetrul se transformă într-un interval mai mic de 51, ecranul cu afișaj (în modul portret = rotație 90) un text.

Pentru a putea afișa o imagine, asigurați-vă că pinul SD CS este definit corect, sau arduino-ul nu va reuși să inițializeze SD-ul (deci asigurați-vă că vă verificați firele !!)

Dacă doriți să verificați pinii LCD-ului dvs., puteți consulta ghidul oficial la „conectarea ecranului”

Mi-am definit pinul SD CS ca 4 acum pentru că mi-am amestecat firele, de exemplu! - Mă bucur să vă împărtășesc acea mică oopsie, deoarece vă va economisi mult timp căutând pe web eroarea „Nu s-a inițializat”. Pentru care pe unele forumuri se spune că soluția este să aveți un anumit model de card SD. Deci, verificați mai întâi cablajul înainte de a cumpăra noi carduri SD !!

Pasul 4: Exemplu de cod complet

#include

#include // Biblioteca specifică pentru hardware #include

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

const int analogInPin = A0; // Pinul de intrare analogic la care este atașat potențiometrul

int sensorValue = 0; // valoare citită din pot int outputValue = 0; // ieșire valoare către gama bool PWM (ieșire analogică) One = true; gama bool Două = adevărat; gama boolTrei = adevărat; gama bool Patru = adevărat; bool rangeFive = adevărat;

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

Imagine PImage; imprimare const char [9];

void setup () {Serial.begin (9600); myScreen.begin (); // încercați să accesați cardul SD Serial.print ("Inițializarea cardului SD …"); if (! SD.begin (SD_CS)) {Serial.println ("a eșuat!"); întoarcere; } Serial.println ("OK!");

// inițializați și ștergeți ecranul GLCD myScreen.begin (); myScreen.background (255, 255, 255);

} void loop () {// citiți analogul în valoare: sensorValue = analogRead (analogInPin); // mapează-l la intervalul ieșirii analogice: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // modificați valoarea ieșirii analogice:

stuffToPrint.toCharArray (tipărit, 9); // text static myScreen.setTextSize (1);

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

întârziere (50);

if (outputValue to ", 10, 60); myScreen.text (" get encourage. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) {/ / range four if (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // clear the screen image = myScreen.loadImage ("quote2.bmp "); // scrieți imaginea pe ecran myScreen.image (imagine, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" Sunt atât de mândru ", 10, 50); myScreen.text ("de tine!", 10, 60); rangeFour = false;}}

if (outputValue> 206 && outputValue

Recomandat: