Sadržaj:

Organizator za radnu površinu sa LCD -om: 4 koraka
Organizator za radnu površinu sa LCD -om: 4 koraka

Video: Organizator za radnu površinu sa LCD -om: 4 koraka

Video: Organizator za radnu površinu sa LCD -om: 4 koraka
Video: Kako da očistite peglu/How to clean iron plate 2024, Novembar
Anonim
Image
Image

** U toku je uređivanje **

Za HKU arduino projekt odlučio sam napraviti stolni organizator sa LCD ekranom koji prikazuje citate inspiracije koji će vas pokupiti kada okrećete mjerač napona!

Pokrivat ću uglavnom arduino tehničke stvari, sve dok imate nešto poput drvene kutije za sakrivanje vašeg Arduina i LCD -a u vašem ličnom oganisoru koji može poprimiti bilo koji željeni oblik.

Stvari koje će vam trebati

  • *arduino uno
  • merač lonca
  • *muške zaštitne žice
  • *LCD modul! Sa čitačem SD kartica! (Imam arduino tft LCD)
  • *mikro SD kartica
  • *drvo (Reciklirao sam stare mini ladice i upotrijebio neke rezervne drvene dijelove, pobrinite se da barem napravite malu kutiju u koju ćete sakriti svoj arduino!

Korak 1: Postavljanje mjerača udaljenosti na Arduinu

Postavljanje mjerača udaljenosti na Arduinu
Postavljanje mjerača udaljenosti na Arduinu

priključite mjerač lonca kao što je prikazano na slici

kako bi mjerač lonaca počeo raditi

Prije postavljanja morate početi s nekim varijablama na vrhu skice:

kod:

const int analogInPin = A0; // Analogni ulazni pin na koji je potenciometar priključen

int sensorValue = 0; // vrijednost pročitana iz pot int outputValue = 0; // izlaz vrijednosti na PWM (analogni izlaz)

Na slici 2 pokazujem kako se mjerač puta preslikava u praznu petlju

kod:

// čita analognu vrijednost:

sensorValue = analogRead (analogInPin); // preslikavamo ga u raspon analognog izlaza: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // mijenjamo vrijednost analognog izlaza:

stuffToPrint.toCharArray (ispis, 9); // statički tekst myScreen.setTextSize (1);

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

kašnjenje (50);

ovo preslikava analogne podatke s mjerača udaljenosti u raspon od 0 do 255, koristit ćemo ovaj raspon za kontrolu našeg LCD projekcije slajdova

Ako vam je potrebna pomoć pri postavljanju mjerača tlaka; Koristio sam kôd iz ovog korisnog vodiča, pinovi su potpuno isti i radit će s LCD postavkom u sljedećim koracima.

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

Korak 2: Postavljanje LCD -a

Postavljanje LCD -a
Postavljanje LCD -a

Postavite pinove kao u gornjem primjeru.

Kada se pravilno uradi, ekran će zasvijetliti bijelo.

Ako vam je potrebna dodatna pomoć ili želite upotrijebiti neki primjer koda za testiranje prikaza, možete vidjeti službeni vodič za ovaj modul, a njegove primjere koda možete pronaći ovdje

djelomično ćemo koristiti "crtanje slike sa SD kartice" u sljedećem koraku.

Korak 3: Postavljanje projekcije slajdova

Postavljanje projekcije slajdova
Postavljanje projekcije slajdova

Sada kada smo postavili Potmeter i LCD, možemo postaviti "slideshow" koristeći mapirane vrijednosti potmetra

Koristeći raspon od 0 do 255 možemo označiti određeni raspon u kojem možemo pokrenuti arduino da prikaže neki sadržaj na LCD -u.

Prvi primjer prikazan na slici:

if (outputValue <51) {// raspon jedan if (rangeOne == true) {rangeTwo = true; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text ("Zdravo, divno,", 10, 50); myScreen.text ("rotirajte pin> na", 10, 60); myScreen.text ("primite ohrabrenje.", 10, 70); rangeOne = false;

Ako se mjerač okreće na raspon manji od 51, na ekranu s prikazom (u portretnom načinu = rotacija 90) neki tekst.

Da biste mogli prikazati sliku, provjerite je li vaš SD CS pin pravilno definiran, jer arduino neće uspjeti pokrenuti SD (stoga provjerite svoje žice !!)

Ako želite provjeriti pinove vašeg LCD -a, možete se obratiti službenom vodiču za povezivanje ekrana

Sada sam definirao svoj SD CS pin kao 4 jer sam, na primjer, pomiješao svoje žice! - Drago mi je što mogu podijeliti tu malu oopsie jer će vam uštedjeti mnogo vremena na pretraživanju weba za greškom "Failed to initialize". Za koje se na nekim forumima kaže da je rješenje to što imate određeni model SD kartice. Zato prije kupnje novih SD kartica provjerite ožičenje !!

Korak 4: Primjer potpunog koda

#include

#include // Hardverska biblioteka #include

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

const int analogInPin = A0; // Analogni ulazni pin na koji je potenciometar priključen

int sensorValue = 0; // vrijednost pročitana iz pot int outputValue = 0; // izlaz vrijednosti na PWM (analogni izlaz) bool rangeOne = true; bool rangeTwo = true; bool rangeThree = true; bool rangeFour = true; bool rangeFive = true;

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

PImage image; ispis const char [9];

void setup () {Serial.begin (9600); myScreen.begin (); // pokušajte pristupiti SD kartici Serial.print ("Inicijalizacija SD kartice …"); if (! SD.begin (SD_CS)) {Serial.println ("nije uspjelo!"); return; } Serial.println ("U redu!");

// inicijaliziranje i brisanje GLCD ekrana myScreen.begin (); myScreen.background (255, 255, 255);

} void loop () {// čita analognu vrijednost: sensorValue = analogRead (analogInPin); // preslikavamo ga u raspon analognog izlaza: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // mijenjamo vrijednost analognog izlaza:

stuffToPrint.toCharArray (ispis, 9); // statički tekst myScreen.setTextSize (1);

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

kašnjenje (50);

if (outputValue to ", 10, 60); myScreen.text (" get ohrabrenje. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) { / /raspon četiri if (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // očisti sliku ekrana = myScreen.loadImage ("quote2.bmp "); // zapišite sliku na ekran myScreen.image (image, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" Tako sam ponosan ", 10, 50); myScreen.text ("od vas!", 10, 60); rangeFour = false;}}

if (outputValue> 206 && outputValue

Preporučuje se: