Inhaltsverzeichnis:

Desktop Organizer mit LCD - Gunook
Desktop Organizer mit LCD - Gunook

Video: Desktop Organizer mit LCD - Gunook

Video: Desktop Organizer mit LCD - Gunook
Video: The Coolest Mod for your PC! 2024, November
Anonim
Image
Image

**In Bearbeitung**

Für das HKU-Arduino-Projekt habe ich beschlossen, einen Desktop-Organisator mit LCD-Bildschirm zu entwickeln, der Inspirationszitate anzeigt, um Sie abzuholen, wenn Sie Ihr Potmeter drehen!

Ich werde hauptsächlich das arduino-technische Zeug behandeln, solange Sie so etwas wie eine Holzkiste haben, um Ihr Arduino und LCD in Ihrem persönlichen Oganiser zu verstecken, könnte jede gewünschte Form annehmen.

Die Dinge, die du brauchst

  • *arduino uno
  • Topfzähler
  • *männliche Prototyping-Drähte
  • *LCD-Modul !Mit SD-Kartenleser! (Ich habe arduino tft LCD)
  • *Micro SD Karte
  • * Holz (Ich habe alte Mini-Schubladen recycelt und einige Holzersatzteile verwendet, stellen Sie sicher, dass Sie zumindest eine kleine Schachtel bilden können, in der Sie Ihr Arduino verstecken können!

Schritt 1: Einrichten des Potmeters auf Arduino

Einrichten des Potmeters auf Arduino
Einrichten des Potmeters auf Arduino

Schließen Sie Ihr Potmeter wie im Bild gezeigt an

um den Potmeter zum Arbeiten zu bringen

Sie müssen vor dem Setup mit einigen Variablen oben auf Ihrer Skizze beginnen:

Code:

const int analogInPin = A0; // Analoger Eingangspin, an dem das Potentiometer angeschlossen ist

int sensorValue = 0; // Wert aus dem Topf gelesen Int outputValue = 0; // Wertausgabe an die PWM (analog out)

In Bild 2 zeige ich, wie das Potmeter in der Void-Schleife abgebildet wird

Code:

// den analogen Wert lesen:

sensorValue = analogRead (analogInPin); // dem Bereich des Analogausgangs zuordnen: outputValue = map(sensorValue, 0, 1023, 0, 255); StringstuffToPrint = String(outputValue); // den Analogausgangswert ändern:

StuffToPrint.toCharArray (Ausdruck, 9); // statischer Text myScreen.setTextSize(1);

Serial.print ("sensor = "); Serial.print (sensorValue); Serial.print("\t Ausgabe = "); Serial.println (Ausgabewert);

Verzögerung (50);

Dies ordnet die analogen Daten vom Potmeter einem Bereich von 0 bis 255 zu. Wir verwenden diesen Bereich, um unsere LCD-Diashow zu steuern

Wenn Sie Hilfe beim Einrichten des Potmeters benötigen; Ich habe den Code aus diesem hilfreichen Tutorial verwendet, die Pins sind genau gleich und werden in den nächsten Schritten mit dem LCD-Setup funktionieren.

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

Schritt 2: Einrichten des LCD

Einrichten des LCD
Einrichten des LCD

Setzen Sie die Pins wie im obigen Beispiel ein.

Wenn es richtig gemacht wurde, leuchtet Ihr Bildschirm weiß.

Wenn Sie zusätzliche Hilfe benötigen oder Beispielcode zum Testen Ihres Displays verwenden möchten, können Sie das offizielle Tutorial für dieses Modul und seine Codebeispiele hier https://www.arduino.cc/en/Guide/TFT. sehen

wir werden im nächsten Schritt teilweise das "Zeichnungsbild von SD-Karte" verwenden.

Schritt 3: Einrichten der Diashow

Einrichten der Diashow
Einrichten der Diashow

Nachdem wir Potmeter und LCD eingerichtet haben, können wir eine "Diashow" mit den zugeordneten Werten des Potmeters einrichten

Mit dem Bereich von 0 bis 255 können wir einen bestimmten Bereich angeben, in dem wir das Arduino auslösen können, um einige Inhalte auf dem LCD anzuzeigen.

Erstes Beispiel wie im Bild gezeigt:

if (outputValue < 51) {//Bereich eins if (rangeOne == true) { rangeTwo = true; myScreen.setRotation(90); myScreen.background(0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text("Hallo, wunderbar, ", 10, 50); myScreen.text("drehe den Pin > bis", 10, 60); myScreen.text("Ermutigung erhalten.", 10, 70); rangeOne = false;

Dreht das Potentiometer auf einen Bereich unter 51, erscheint auf dem Bildschirm (im Hochformat = Rotation 90) etwas Text.

Um ein Bild anzeigen zu können, stellen Sie sicher, dass Ihr SD-CS-Pin richtig definiert ist, oder das Arduino kann die SD nicht initialisieren (überprüfen Sie also Ihre Drähte!)

Wenn Sie die Pins Ihres LCDs überprüfen möchten, können Sie sich auf die offizielle Anleitung unter "Bildschirm anschließen" https://www.arduino.cc/en/Guide/TFT. beziehen

Ich habe meinen SD-CS-Pin jetzt als 4 definiert, weil ich zum Beispiel meine Drähte vertauscht habe! - Ich freue mich, dieses kleine Oopsie zu teilen, weil es Ihnen viel Zeit spart, im Internet nach dem Fehler "Fehler beim Initialisieren" zu suchen. In einigen Foren heißt es, die Lösung sei ein bestimmtes SD-Kartenmodell. Überprüfen Sie daher zuerst Ihre Verkabelung, bevor Sie neue SD-Karten kaufen!

Schritt 4: Vollständiges Codebeispiel

#enthalten

#include // Hardwarespezifische Bibliothek #include

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

const int analogInPin = A0; // Analoger Eingangspin, an dem das Potentiometer angeschlossen ist

int sensorValue = 0; // Wert aus dem Topf gelesen Int outputValue = 0; // Wertausgabe an die PWM (analog out) bool rangeOne = true; bool rangeTwo = true; bool rangeThree = true; bool BereichFour = true; bool rangeFive = true;

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

PImage-Bild; const char-Ausdruck[9];

Void setup () {Serial.begin (9600); myScreen.begin(); // versuchen, auf die SD-Karte zuzugreifen Serial.print ("SD-Karte wird initialisiert …"); if (!SD.begin(SD_CS)) {Serial.println("fehlgeschlagen!"); Rückkehr; } Serial.println ("OK!");

// Initialisieren und Löschen des GLCD-Bildschirms myScreen.begin(); myScreen.background(255, 255, 255);

aufrechtzuerhalten. aufrechtzuerhalten. Void Schleife () {// lesen Sie den analogen Wert ein: sensorValue = analogRead (analogInPin); // dem Bereich des Analogausgangs zuordnen: outputValue = map(sensorValue, 0, 1023, 0, 255); StringstuffToPrint = String(outputValue); // den Analogausgangswert ändern:

StuffToPrint.toCharArray (Ausdruck, 9); // statischer Text myScreen.setTextSize(1);

Serial.print ("sensor = "); Serial.print (sensorValue); Serial.print("\t Ausgabe = "); Serial.println (Ausgabewert);

Verzögerung (50);

if (outputValue to", 10, 60); myScreen.text("get Ermutigung.", 10, 70); rangeOne = false; } } if(outputValue > 52 && outputValue 102 && outputValue 154 && outputValue < 205){ / /range vier if (rangeFour == true){ rangeThree = true; rangeFive = true; myScreen.setRotation(90); myScreen.background(255, 255, 255); // Bildschirmbild löschen = myScreen.loadImage("quote2.bmp"); //Schreibe das Bild auf den Bildschirm myScreen.image(image, 0, 0); myScreen.stroke(255, 255, 255); myScreen.text("Ich bin so stolz", 10, 50); myScreen.text("von dir!", 10, 60); rangeFour = false; } }

if(Ausgabewert > 206 && Ausgabewert

Empfohlen: