Inhaltsverzeichnis:
- Schritt 1: Dinge, die Sie brauchen
- Schritt 2: Installieren der TFT-Display-Bibliothek in der Arduino IDE
- Schritt 3: Laden Sie den Rechnercode hoch
Video: Arduino TFT-LCD-Touchscreen-Rechner - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Hallo Leute in dieser Anleitung lernen wir, wie man einen Taschenrechner mit Arduino Uno mit 3,5 TFT-LCD-Touchscreen-Display herstellt. Also schreiben wir einen Code und laden ihn auf Arduino hoch, der die Rechnerschnittstelle auf dem Display anzeigt und die Touch-Funktionalität übernimmt und Geben Sie die Ausgabe grundlegender mathematischer Ausdrücke an.
Schritt 1: Dinge, die Sie brauchen
Für dieses Projekt benötigen Sie folgende Dinge: 3,5 TFT LCD DISPLAYARDUINO UNO
Schritt 2: Installieren der TFT-Display-Bibliothek in der Arduino IDE
Wir verwenden die SPFD5408-Bibliothek:
um diesen Arduino-Rechner-Code zum Laufen zu bringen. Dies ist eine modifizierte Bibliothek von Adafruit und kann nahtlos mit unserem LCD-TFT-Modul arbeiten. Es ist sehr wichtig, dass Sie diese Bibliothek in Ihrer Arduino-IDE installieren oder dieses Programm fehlerfrei kompilieren. Um diese Bibliothek zu installieren, können Sie einfach auf den obigen Link klicken, der Sie zu einer Github-Seite führt. Klicken Sie dort auf Klonen oder Herunterladen und wählen Sie „ZIP herunterladen“. Eine Zip-Datei wird heruntergeladen. Öffnen Sie nun die Arduino IDE und wählen Sie Sketch -> Include Librarey -> Add. ZIP library. Es öffnet sich ein Browserfenster, navigieren Sie zur ZIP-Datei und klicken Sie auf „OK“. Sie sollten "Bibliothek zu Ihren Bibliotheken hinzugefügt" in der unteren linken Ecke von Arduino bemerken.
Schritt 3: Laden Sie den Rechnercode hoch
Verbinden Sie nach der Installation der Bibliothek das Display mit Arduino und kopieren Sie den folgenden Code und laden Sie ihn auf Arduino hoch./*_Import Libraries_*/#include "SPFD5408_Adafruit_GFX.h" // Kerngrafikbibliothek#include "SPFD5408_Adafruit_TFTLCD.h" // Hardwarespezifisch library#include "SPFD5408_TouchScreen.h"/*_End of Libraries_*//*_Define LCD Pins (Ich habe die Standardwerte zugewiesen)_*/#define YP A1 // muss ein analoger Pin sein, verwende "An" Notation!# XM definieren A2 // muss ein analoger Pin sein, verwende "An" Notation!#define YM 7 // kann ein digitaler Pin sein#define XP 6 // kann ein digitaler Pin sein#define LCD_CS A3#define LCD_CD A2#define LCD_WR A1#define LCD_RD A0#define LCD_RESET A4/*_Ende der Definitionen_*//*_Farben und Druck benennen_*/#define WHITE 0x0000 //Schwarz->Weiß#define YELLOW 0x001F //define->Yellow#define //Rot->Cyan#define PINK 0x07E0 //Grün-> Pink#define ROT 0x07FF //Cyan -> Rot#define GRÜN 0xF81F //Pink -> Grün #define BLUE 0xFFE0 //Gelb- > Blau#define SCHWARZ 0xFFFF //Weiß-> Schwarz#define MINPRESSURE 10#define MAXPRESSURE 1000/*_Assigned_*//*_TFT LCD kalibrieren_*/#define TS_MINX 125#define TS_MINY 85#define#define 905/MAXX 965Ydefine*MAXX 965 _Ende der Kalibrierung_*/TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); // 300 ist die EmpfindlichkeitAdafruit_TFTLCD tft (LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); //Kommunikation mit LCDString-Symbol starten[4][4] = { { "7", "8", "9", "/" }, { "4", "5", "6", "*" }, { "1", "2", "3", "-" }, { "C", "0", "=", "+" }}; intX, Y; lang Num1, Num2, Zahl; Zeichenaktion; boolesches Ergebnis = false;void setup () { Serial.begin (9600); // Verwenden Sie den seriellen Monitor zum Debuggen von tft.reset (); // Beim Start immer zurücksetzen tft.begin (0x9341); // Mein LCD verwendet LIL9341 Schnittstellentreiber IC tft.setRotation (2); // Ich habe nur so gedreht, dass die Strombuchse nach oben zeigt - optional tft.fillScreen(WHITE); IntroScreen(); draw_BoxNButtons(); }void loop() {TSPoint p = waitTouch();X = p.y; Y = p.x; // Serial.print (X); Serial.print (', '); Serial.println (Y); // + " " + Y); DetectButtons (); if (result = = true) CalculateResult (); DisplayResult (); delay(300);}TSPoint waitTouch() { TSPoint p; do { p = ts.getPoint(); pinMode (XM, AUSGANG); pinMode (YP, AUSGANG); } while((p.z MAXPRESSURE)); p.x = map(p.x, TS_MINX, TS_MAXX, 0, 320); p.y = map(p.y, TS_MINY, TS_MAXY, 0, 240); return p;}void DetectButtons(){ if (X0) //Erkennen von Buttons in Spalte 1 { if (Y>0 && Y<85) //Wenn Abbrechen Button gedrückt wird {Serial.println ("Button Cancel"); Zahl=Zahl1=Zahl2=0; result=false;} if (Y>85 && Y<140) //Wenn Taste 1 gedrückt wird {Serial.println ("Taste 1"); if (Zahl==0) Zahl=1; sonst Zahl = (Zahl*10) + 1; // Zweimal gedrückt} if (Y>140 && Y<192) //Wenn Taste 4 gedrückt wird {Serial.println ("Taste 4"); if (Zahl==0) Zahl=4; sonst Zahl = (Zahl*10) + 4; // Zweimal gedrückt} if (Y>192 && Y<245) //Wenn Taste 7 gedrückt wird {Serial.println ("Taste 7"); if (Zahl==0) Zahl=7; sonst Zahl = (Zahl*10) + 7; // Zweimal gedrückt}} if (X50) // Tasten auf Spalte 2 erkennen { if (Y>0 && Y<85) {Serial.println ("Button 0"); // Taste 0 wird gedrückt, wenn (Zahl = = 0) Zahl = 0; sonst Zahl = (Zahl*10) + 0; // Zweimal gedrückt} if (Y>85 && Y<140) {Serial.println ("Button 2"); wenn (Zahl==0) Zahl=2; sonst Zahl = (Zahl*10) + 2; // Zweimal gedrückt} if (Y>140 && Y<192) {Serial.println ("Button 5"); if (Zahl==0) Zahl=5; sonst Zahl = (Zahl*10) + 5; //Zweimal gedrückt} if (Y>192 && Y<245) {Serial.println ("Button 8"); if (Zahl==0) Zahl=8; sonst Zahl = (Zahl*10) + 8; //Zweimal gedrückt}} if (X105) //Erkennen von Schaltflächen in Spalte 3 { if (Y>0 && Y<85) {Serial.println ("Button Equal"); Zahl2=Zahl; Ergebnis = wahr; } if (Y>85 && Y<140) {Serial.println ("Button 3"); if (Zahl==0) Zahl=3; sonst Zahl = (Zahl*10) + 3; // Zweimal gedrückt} if (Y>140 && Y<192) {Serial.println ("Button 6"); if (Zahl==0) Zahl=6; sonst Zahl = (Zahl*10) + 6; // Zweimal gedrückt} if (Y>192 && Y<245) {Serial.println ("Button 9"); if (Zahl==0) Zahl=9; sonst Zahl = (Zahl*10) + 9; //Zweimal gedrückt}} if (X165) //Erkennen von Schaltflächen in Spalte 3 { Num1 = Number; Zahl =0; tft.setCursor(200, 20); tft.setTextColor(RED); if (Y>0 && Y<85) {Serial.println ("Addition"); Aktion = 1; tft.println('+');} if (Y>85 && Y<140) {Serial.println ("Subtraktion"); Aktion = 2; tft.println('-');} if (Y>140 && Y<192) {Serial.println ("Multiplikation"); Aktion = 3; tft.println('*');} if (Y>192 && Y<245) {Serial.println ("Entwicklung"); Aktion = 4; tft.println('/');} Verzögerung(300); } }void CalculateResult(){ if (action==1) Number = Num1+Num2; if (Aktion==2) Zahl = Num1-Num2; if (Aktion==3) Zahl = Num1*Num2; if (Aktion==4) Zahl = Num1/Num2; } ungültiges DisplayResult () { tft.fillRect (0, 0, 240, 80, CYAN); // Ergebnisbox löschen tft.setCursor (10, 20); tft.setTextSize(4); tft.setTextColor(SCHWARZ); tft.println(Zahl); // neuen Wert aktualisieren} ungültig IntroScreen () { tft.setCursor (55, 120); tft.setTextSize (3); tft.setTextColor(RED); tft.println("ARDUINO"); tft.setCursor (30, 160); tft.println("RECHNER"); tft.setCursor (30, 220); tft.setTextSize (2); tft.setTextColor(BLAU); tft.println("-Circut Digest"); delay(1800);}void draw_BoxNButtons(){//Zeichnen Sie die Ergebnisbox tft.fillRect (0, 0, 240, 80, CYAN); // Erste Spalte zeichnen tft.fillRect (0, 260, 60, 60, RED); tft.fillRect (0, 200, 60, 60, SCHWARZ); tft.fillRect (0, 140, 60, 60, SCHWARZ); tft.fillRect (0, 80, 60, 60, SCHWARZ); //Dritte Spalte zeichnen tft.fillRect (120, 260, 60, 60, GRÜN); tft.fillRect (120, 200, 60, 60, SCHWARZ); tft.fillRect (120, 140, 60, 60, SCHWARZ); tft.fillRect (120, 80, 60, 60, SCHWARZ); //Zeige die zweite und vierte Spalte für (int b=260; b>=80; b-=60) { tft.fillRect (180, b, 60, 60, BLUE); tft.fillRect (60, b, 60, 60, BLACK);} // Horizontale Linien zeichnen für (int h=80; h<=320; h+=60) tft.drawFastHLine(0, h, 240, WHITE); //Vertikale Linien zeichnen für (int v=0; v<=240; v+=60) tft.drawFastVLine(v, 80, 240, WHITE); // Tastaturbeschriftungen anzeigen für (int j=0;j<4;j++) { for (int i=0;i<4;i++) { tft.setCursor(22 + (60*i), 100 + (60* J)); tft.setTextSize(3); tft.setTextColor(WEISS); tft.println(symbol[j]); } }}Nachdem Sie den Code hochgeladen haben, sehen Sie, wie der Rechner in Ihrem Display als meiner läuft und Sie können jetzt grundlegende mathematische Berechnungen damit durchführen. Viel Spaß beim Erstellen Ihres eigenen Taschenrechners mit Arduino UNO.
Empfohlen:
Einen Arduino-Gitarren-Tuner herstellen – wikiHow
So bauen Sie einen Arduino-Gitarren-Tuner: Dies sind die Anweisungen, um einen Gitarren-Tuner aus einem Arduino und mehreren anderen Komponenten zu machen. Mit Grundkenntnissen in Elektronik und Codierung können Sie dieses Gitarrenstimmgerät herstellen. Zuerst müssen Sie wissen, was die Materialien sind. Ma
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: 9 Schritte
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: Este proyecto consiste en a alarma básica que Detecta presencia, activa una sirena de 108dB y visa al usuario mediante un SMS (opcional). Permite también el control remoto básico por parte del usuario a través de SMS (encendido, apagado, reinicio
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i
TFT-Schild-Tutorial: 4 Schritte
TFT Shield Tutorial: Heute erfahren Sie, wie Sie Schaltflächen in Ihren Arduino TFT Touchscreen-Projekten erstellen und verwenden können. Ich verwende Kumans 2.8" TFT Shield kombiniert mit Kumans Arduino UNO. Bonus: Das TFT Shield von Kuman wird mit einem kostenlosen Stylus geliefert, den Sie verwenden können