Sommario:

Organizer da tavolo con LCD: 4 passaggi
Organizer da tavolo con LCD: 4 passaggi

Video: Organizer da tavolo con LCD: 4 passaggi

Video: Organizer da tavolo con LCD: 4 passaggi
Video: Passacavo in plastica 2024, Novembre
Anonim
Image
Image

**In corso di modifica**

Per il progetto HKU arduino ho deciso di creare un organizer desktop con schermo LCD che mostra citazioni di ispirazione per prenderti quando ruoti il tuo potmeter!

Tratterò principalmente le cose tecniche di arduino, a patto che tu abbia qualcosa come una scatola di legno per nascondere il tuo Arduino e LCD nel tuo oganisor personale potrebbe assumere qualsiasi forma desiderabile.

Le cose di cui avrai bisogno

  • *arduino uno
  • misuratore di pentola
  • *fili di prottyping maschio
  • *Modulo LCD! Con lettore di schede SD! (ho avuto arduino tft LCD)
  • *scheda microSD
  • *legno (ho riciclato vecchi mini cassetti e ho usato alcuni pezzi di legno di ricambio, assicurati di poter almeno formare una scatolina per nascondere il tuo arduino!

Passaggio 1: configurazione del potmeter su Arduino

Configurare il Potmeter su Arduino
Configurare il Potmeter su Arduino

collega il tuo misuratore di pentola come mostrato nell'immagine

per far funzionare il misuratore della pentola

Dovrai iniziare con alcune variabili nella parte superiore del tuo schizzo prima dell'installazione:

codice:

const int analogInPin = A0; // Pin di ingresso analogico a cui è collegato il potenziometro

int valoresensore = 0; // valore letto dal pot int outputValue = 0; // output del valore al PWM (uscita analogica)

Nella foto 2 mostro come è mappato il potmeter nel loop vuoto

codice:

// legge il valore analogico in:

sensorValue = analogRead(analogInPin); // mappalo nell'intervallo dell'uscita analogica: outputValue = map(sensorValue, 0, 1023, 0, 255); String stuffToPrint = String(outputValue); // cambia il valore dell'uscita analogica:

stuffToPrint.toCharArray(stampa, 9); // testo statico myScreen.setTextSize(1);

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

ritardo(50);

questo mappa i dati analogici dal potmeter in un intervallo da 0 a 255, useremo questo intervallo per controllare la nostra presentazione lcd

Se hai bisogno di aiuto per impostare il potmeter; Ho usato il codice di questo utile tutorial, i pin sono esattamente gli stessi e funzioneranno con la configurazione LCD nei passaggi successivi.

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

Passaggio 2: configurazione del display LCD

Configurazione dell'LCD
Configurazione dell'LCD

Imposta i pin come nell'esempio sopra.

Se fatto correttamente, lo schermo si illuminerà di bianco.

Se hai bisogno di ulteriore aiuto o vuoi usare un codice di esempio per testare il tuo display puoi vedere il tutorial ufficiale per questo modulo e i suoi esempi di codice qui

utilizzeremo parzialmente il "disegno dell'immagine dalla scheda SD" nel passaggio successivo.

Passaggio 3: impostazione della presentazione

Impostazione della presentazione
Impostazione della presentazione

Ora che abbiamo impostato il potmetro e l'LCD, possiamo impostare uno "slideshow" utilizzando i valori mappati del potmetro

Usando l'intervallo da 0 a 255 possiamo indicare un certo intervallo in cui possiamo attivare l'arduino per visualizzare alcuni contenuti sull'LCD.

Primo esempio come mostrato nell'immagine:

if (outputValue < 51){ //range uno if (rangeOne == true){ rangeTwo = true; myScreen.setRotation(90); mioSchermo.sfondo(0, 0, 0); miaSchermata.stroke(255, 255, 255); myScreen.text("Ciao meraviglioso, ", 10, 50); myScreen.text("ruota il pin > su", 10, 60); myScreen.text("ottieni incoraggiamento.", 10, 70); rangeUno = falso;

Se il potenziometro gira su un intervallo inferiore a 51, lo schermo visualizza (in modalità verticale = rotazione 90) del testo.

Per essere in grado di visualizzare un'immagine assicurati che il tuo pin SD CS sia definito correttamente, o l'arduino non riuscirà a inizializzare la SD (quindi assicurati di controllare i tuoi fili!!)

Se vuoi controllare i pin del tuo LCD puoi fare riferimento alla guida ufficiale uner "collegare lo schermo"

Ho definito il mio pin SD CS come 4 ora perché ho confuso i miei fili, ad esempio! - Sono felice di condividere questa piccola oopsie perché ti farà risparmiare molto tempo nella ricerca sul Web per l'errore "Impossibile inizializzare". A cui su alcuni forum si dice che la soluzione sia avere un certo modello di scheda SD. Quindi controlla il cablaggio prima di acquistare nuove schede SD!!

Passaggio 4: esempio di codice completo

#includere

#include // Libreria specifica per l'hardware #include

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

const int analogInPin = A0; // Pin di ingresso analogico a cui è collegato il potenziometro

int valoresensore = 0; // valore letto dal pot int outputValue = 0; // output del valore al PWM (uscita analogica) bool rangeOne = true; bool rangeTwo = vero; bool rangeThree = true; bool rangeFour = true; bool rangeFive = true;

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

immagine PImage; const char stampa[9];

void setup(){ Serial.begin(9600); mioScreen.begin(); // prova ad accedere alla scheda SD Serial.print("Inizializzazione scheda SD…"); if (!SD.begin(SD_CS)) { Serial.println("fallito!"); Restituzione; } Serial.println("OK!");

// inizializza e cancella la schermata GLCD myScreen.begin(); mioSchermo.sfondo(255, 255, 255);

} void loop(){ // legge il valore analogico in: sensorValue = analogRead(analogInPin); // mappalo nell'intervallo dell'uscita analogica: outputValue = map(sensorValue, 0, 1023, 0, 255); String stuffToPrint = String(outputValue); // cambia il valore dell'uscita analogica:

stuffToPrint.toCharArray(stampa, 9); // testo statico myScreen.setTextSize(1);

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

ritardo(50);

if (outputValue to", 10, 60); myScreen.text("ottieni incoraggiamento.", 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); // cancella l'immagine sullo schermo = myScreen.loadImage("quote2.bmp"); //scrivi l'immagine sullo schermo myScreen.image(image, 0, 0); myScreen.stroke(255, 255, 255); myScreen.text("Sono così orgoglioso", 10, 50); myScreen.text("di te!", 10, 60); rangeFour = false; } }

if(ValoreUscita > 206 &&ValoreUscita

Consigliato: