Sadržaj:

Organizator za stolna računala s LCD -om: 4 koraka
Organizator za stolna računala s LCD -om: 4 koraka

Video: Organizator za stolna računala s LCD -om: 4 koraka

Video: Organizator za stolna računala s LCD -om: 4 koraka
Video: Desk upgrade! FlexiSpot Pro Plus Standing Desk - E7 🔥 2024, Srpanj
Anonim
Image
Image

** Uređuje se **

Za projekt HKU arduino odlučio sam napraviti stolni organizator sa LCD zaslonom 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 skrivanje vašeg Arduina i LCD -a u vašem osobnom oganisoru koji može poprimiti bilo koji poželjni oblik.

Stvari koje će vam trebati

  • *arduino uno
  • mjerač lonca
  • *muške zaštitne žice
  • *LCD modul! S čitačem SD kartica! (Dobio sam 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

spojite mjerač lonaca kao što je prikazano na slici

kako bi mjerač lonaca počeo raditi

Prije postavljanja morat ćete početi s nekim varijablama na vrhu skice:

kodirati:

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

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

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

kodirati:

// č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, mi ćemo koristiti 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 postavljanjem LCD -a 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 izvrši, zaslon ć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 u sljedećem koraku koristiti "crtanje slike sa SD kartice".

Korak 3: Postavljanje dijaprojekcije

Postavljanje dijaprojekcije
Postavljanje dijaprojekcije

Sad kad smo postavili Potmeter i LCD, možemo postaviti "dijaprojekciju" koristeći preslikane vrijednosti mjerača

Koristeći raspon od 0 do 255 možemo označiti određeni raspon u kojem možemo pokrenuti arduino za prikaz nekog sadržaja 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 ("okrenite pin> na", 10, 60); myScreen.text ("potaknite se.", 10, 70); rangeOne = false;

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

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 radi pogreške "Failed to initialize". Na što se na nekim forumima kaže da je popravak imati određeni model SD kartice. Zato prije kupnje novih SD kartica provjerite ožičenje !!

Korak 4: Primjer potpunog koda

#uključi

#include // Knjižnica specifična za hardver #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 oč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 slika; 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!"); povratak; } Serial.println ("U redu!");

// inicijaliziranje i brisanje GLCD zaslona 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 (" primite 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 zaslona = myScreen.loadImage ("quote2.bmp "); // zapisujte sliku na zaslon 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čeni: