Beginner Arduino - met behulp van een 1.8-Inch-TFT-Display (3 / 3 stap)

Stap 3: Upload Code en Run


U moet twee bibliotheken installeren om te kunnen opereren van het display:

  1. ST7735 bibliotheek
  2. Adafruit GFX bibliotheek

Elke bibliotheek Download en unzip de mappen. Hen anders noemen aan "Adafruit_ST7735" en "Adafruit_GFX" en plaats van elke map binnen uw omslag van de bibliotheken van de Arduino. Ik heb een screenshot van de bibliotheken in de juiste map toegevoegd. Zodra geïnstalleerd, bent u klaar om te werken van het scherm! Binnen de Adafruit ST7735 is bibliotheek een bestand met de naam graphicstest.ino die u kunt uploaden naar je Arduino en zal worden uitgevoerd door middel van een aantal functies die het tekenen van objecten op het scherm. Dit bestand zal echter moeten sommige wijzigen om aan te passen de pinnen aan uw lay-out.

Uitwijkmogelijkheid, u kunt kopiëren/plakken de code hieronder in de Arduino IDE en uploaden. Dit is een gewijzigde versie van Adafruit van graphictest.ino, het primaire verschil is de toewijzing van de pinnen. Ik speelde ook met de code een beetje om te zien wat voor soort functies er zijn. Laat me weten als u ervaring eventuele problemen met code. Het werkte boete voor me.

 /*************************************************** This is a library for the Adafruit 1.8" SPI display. This library has been modified from the original version to work with a non-Adafruit 1.8in display. This library works with the Adafruit 1.8" TFT Breakout w/SD card ----> http://www.adafruit.com/products/358 The 1.8" TFT shield ----> http://www.adafruit.com/products/358 The 1.44" TFT breakout ----> http://www.adafruit.com/products/358 as well as Adafruit raw 1.8" TFT display ----> http://www.adafruit.com/products/358 Check out the links above for our tutorials and wiring diagrams These displays use SPI to communicate, 4 or 5 pins are required to interface (RST is optional) Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit! Written by Limor Fried/Ladyada for Adafruit Industries. MIT license, all text above must be included in any redistribution ****************************************************/ #include <Adafruit_GFX.h> // Core graphics library #include <Adafruit_ST7735.h> // Hardware-specific library #include <SPI.h> // For the breakout, you can use any 2 or 3 pins // These pins will also work for the 1.8" TFT shield #define TFT_CS 9 #define TFT_RST 7 // you can also connect this to the Arduino reset // in which case, set this #define pin to 0! #define TFT_DC 8 // Option 1 (recommended): must use the hardware SPI pins // (for UNO thats sclk = 13 and sid = 11) and pin 10 must be // an output. This is much faster - also required if you want // to use the microSD card (see the image drawing example) Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); // Option 2: use any pins but a little slower! #define TFT_SCLK 13 // set these to be whatever pins you like! #define TFT_MOSI 11 // set these to be whatever pins you like! //Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST); float p = 3.1415926; void setup(void) { Serial.begin(9600); Serial.print("Hello! ST7735 TFT Test"); // Use this initializer if you're using a 1.8" TFT tft.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab // Use this initializer (uncomment) if you're using a 1.44" TFT //tft.initR(INITR_144GREENTAB); // initialize a ST7735S chip, black tab Serial.println("Initialized"); uint16_t time = millis(); tft.fillScreen(ST7735_BLACK); time = millis() - time; Serial.println(time, DEC); delay(500); // large block of text tft.fillScreen(ST7735_BLACK); testdrawtext(5, 45, "theblckwlf presents", ST7735_WHITE); delay(2000); testdrawtext(15, 65, "the microscreen", ST7735_WHITE); testdrawtext(10, 75, "1.8in TFT display", ST7735_WHITE); delay(4000); tft.fillScreen(ST7735_BLUE); tft.setTextSize(2); tft.fillScreen(ST7735_WHITE); tft.setTextSize(1); testdrawtext(5, 65, "start ", ST7735_BLACK); testdrawtext(5, 75, "diagnostic test...", ST7735_BLACK); delay(1000); tft.fillScreen(ST7735_WHITE); testdrawScreenData(); delay(3000); tft.setTextSize(2); drawTestGrid(10,10); tft.setCursor(5, 40); tft.println("10x10 Grid"); delay(2000); tft.setCursor(15, 40); drawTestGrid(5,5); tft.println("5x5 Grid"); delay(2000); tft.fillScreen(ST7735_WHITE); tft.setTextSize(1); tft.drawPixel(tft.width()/2, tft.height()/2, ST7735_BLACK); tft.setCursor(15, (tft.height()/2)-15); tft.print("Center "); tft.print(tft.width()/2); tft.print(", "); tft.println(tft.height()/2); tft.drawCircle(tft.width()/2, tft.height()/2, 5, ST7735_BLACK); delay(2000); // tft print function! tftPrintTest(); delay(4000); // a single pixel tft.drawPixel(tft.width()/2, tft.height()/2, ST7735_GREEN); delay(500); // line draw test testlines(ST7735_YELLOW); delay(500); // optimized lines testfastlines(ST7735_RED, ST7735_BLUE); delay(500); testdrawrects(ST7735_GREEN); delay(500); testfillrects(ST7735_YELLOW, ST7735_MAGENTA); delay(500); tft.fillScreen(ST7735_BLACK); testfillcircles(5, ST7735_BLUE); testdrawcircles(5, ST7735_WHITE); delay(500); for (int i=0; i<5; i++){ testroundrects(); } delay(500); testtriangles(); delay(500); mediabuttons(); delay(500); Serial.println("done"); delay(1000); } void loop() { tft.invertDisplay(true); delay(500); tft.invertDisplay(false); delay(500); } void testlines(uint16_t color) { tft.fillScreen(ST7735_BLACK); for (int16_t x=0; x < tft.width(); x+=6) { tft.drawLine(0, 0, x, tft.height()-1, color); } for (int16_t y=0; y < tft.height(); y+=6) { tft.drawLine(0, 0, tft.width()-1, y, color); } tft.fillScreen(ST7735_BLACK); for (int16_t x=0; x < tft.width(); x+=6) { tft.drawLine(tft.width()-1, 0, x, tft.height()-1, color); } for (int16_t y=0; y < tft.height(); y+=6) { tft.drawLine(tft.width()-1, 0, 0, y, color); } tft.fillScreen(ST7735_BLACK); for (int16_t x=0; x < tft.width(); x+=6) { tft.drawLine(0, tft.height()-1, x, 0, color); } for (int16_t y=0; y < tft.height(); y+=6) { tft.drawLine(0, tft.height()-1, tft.width()-1, y, color); } tft.fillScreen(ST7735_BLACK); for (int16_t x=0; x < tft.width(); x+=6) { tft.drawLine(tft.width()-1, tft.height()-1, x, 0, color); } for (int16_t y=0; y < tft.height(); y+=6) { tft.drawLine(tft.width()-1, tft.height()-1, 0, y, color); } } void drawTestGrid(int hor, int vert){ tft.fillScreen(ST7735_WHITE); //Draw vertical lines for (int16_t x=0; x < tft.width(); x+=vert){ tft.drawFastVLine(x, 0, tft.height(), ST7735_RED); } for (int16_t y=0; y < tft.height(); y+=hor){ tft.drawFastHLine(0, y, tft.width(), ST7735_BLACK); } } void testdrawtext(int wid, int hei, char *text, uint16_t color) { tft.setCursor(wid, hei); tft.setTextColor(color); tft.setTextWrap(true); tft.print(text); } void testfastlines(uint16_t color1, uint16_t color2) { tft.fillScreen(ST7735_BLACK); for (int16_t y=0; y < tft.height(); y+=5) { tft.drawFastHLine(0, y, tft.width(), color1); } for (int16_t x=0; x < tft.width(); x+=5) { tft.drawFastVLine(x, 0, tft.height(), color2); } } void testdrawrects(uint16_t color) { tft.fillScreen(ST7735_BLACK); for (int16_t x=0; x < tft.width(); x+=6) { tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color); } } void testfillrects(uint16_t color1, uint16_t color2) { tft.fillScreen(ST7735_BLACK); for (int16_t x=tft.width()-1; x > 6; x-=6) { tft.fillRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color1); tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color2); } } void testfillcircles(uint8_t radius, uint16_t color) { for (int16_t x=radius; x < tft.width(); x+=radius*2) { for (int16_t y=radius; y < tft.height(); y+=radius*2) { tft.fillCircle(x, y, radius, color); } } } void testdrawcircles(uint8_t radius, uint16_t color) { for (int16_t x=0; x < tft.width()+radius; x+=radius*2) { for (int16_t y=0; y < tft.height()+radius; y+=radius*2) { tft.drawCircle(x, y, radius, color); } } } void testtriangles() { tft.fillScreen(ST7735_BLACK); int color = 0xF800; int t; int w = tft.width()/2; int x = tft.height()-1; int y = 0; int z = tft.width(); for(t = 0 ; t <= 15; t+=1) { tft.drawTriangle(w, y, y, x, z, x, color); x-=4; y+=4; z-=4; color+=100; } } void testroundrects() { tft.fillScreen(ST7735_BLACK); int color = 100; int i; int t; for(t = 0 ; t <= 4; t+=1) { int x = 0; int y = 0; int w = tft.width()-2; int h = tft.height()-2; for(i = 0 ; i <= 16; i+=1) { tft.drawRoundRect(x, y, w, h, 5, color); x+=2; y+=3; w-=4; h-=6; color+=1100; } color+=100; } } void testdrawScreenData(){ tft.setCursor(0,20); tft.println("Screen Data:"); tft.print("Screen Width: "); tft.println(tft.width()); tft.print("Screen Height: "); tft.println(tft.height()); } void testdrawCountdown(){ tft.setTextWrap(true); tft.fillScreen(ST7735_RED); tft.setTextColor(ST7735_WHITE); tft.setTextSize(6); tft.setCursor(30, 50); for (int i=10; i>0; i--){ tft.println(i); delay(1000); tft.setCursor(50, 50); tft.fillScreen(ST7735_RED); } } void circlePass(){ tft.fillScreen(ST7735_BLACK); testfillcircles(5, ST7735_GREEN); delay(1000); testfillcircles(4, ST7735_RED); delay(1000); testfillcircles(2, ST7735_BLACK); testfillcircles(3, ST7735_YELLOW); delay(500); } void tftPrintTest() { tft.setTextWrap(false); tft.fillScreen(ST7735_BLACK); tft.setCursor(0, 30); tft.setTextColor(ST7735_RED); tft.setTextSize(1); tft.println("Hello World!"); tft.setTextColor(ST7735_YELLOW); tft.setTextSize(2); tft.println("Hello World!"); tft.setTextColor(ST7735_GREEN); tft.setTextSize(3); tft.println("Hello World!"); tft.setTextColor(ST7735_BLUE); tft.setTextSize(4); tft.print(1234.567); delay(1500); tft.setCursor(0, 0); tft.fillScreen(ST7735_BLACK); tft.setTextColor(ST7735_WHITE); tft.setTextSize(0); tft.println("Hello World!"); tft.setTextSize(1); tft.setTextColor(ST7735_GREEN); tft.print(p, 6); tft.println(" Want pi?"); tft.println(" "); tft.print(8675309, HEX); // print 8,675,309 out in HEX! tft.println(" Print HEX!"); tft.println(" "); tft.setTextColor(ST7735_WHITE); tft.println("Sketch has been"); tft.println("running for: "); tft.setTextColor(ST7735_MAGENTA); tft.print(millis() / 1000); tft.setTextColor(ST7735_WHITE); tft.print(" seconds."); } void mediabuttons() { // play tft.fillScreen(ST7735_BLACK); tft.fillRoundRect(25, 10, 78, 60, 8, ST7735_WHITE); tft.fillTriangle(42, 20, 42, 60, 90, 40, ST7735_RED); delay(500); // pause tft.fillRoundRect(25, 90, 78, 60, 8, ST7735_WHITE); tft.fillRoundRect(39, 98, 20, 45, 5, ST7735_GREEN); tft.fillRoundRect(69, 98, 20, 45, 5, ST7735_GREEN); delay(500); // play color tft.fillTriangle(42, 20, 42, 60, 90, 40, ST7735_BLUE); delay(50); // pause color tft.fillRoundRect(39, 98, 20, 45, 5, ST7735_RED); tft.fillRoundRect(69, 98, 20, 45, 5, ST7735_RED); // play color tft.fillTriangle(42, 20, 42, 60, 90, 40, ST7735_GREEN); } 

Dat is allen daar is aan het. Mijn video voor deze stap laat zien wat de verwachte weergave zou moeten uitzien als u de bovenstaande code uitvoeren.

Geniet van uw nieuwe beeldscherm!

Gerelateerde Artikelen

Met behulp van een 4-cijferige, 7 segment display, met arduino

Met behulp van een 4-cijferige, 7 segment display, met arduino

In deze tutorial zal ik je laten zien hoe met een 7 segment display met 4 digits met behulp van arduino. Aantal fundamentele dingen die ik zou willen wijzen, is dat dit neemt bijna alle van de digitale pennen op de arduino uno, leonardo, de planken m
Hoe maak je een Instrument van de Arduino (met behulp van een ultrasone Sensor)

Hoe maak je een Instrument van de Arduino (met behulp van een ultrasone Sensor)

Dit instrument wordt gemaakt met behulp van een HC-SR04 ultrasone sensor, een Force Gevoelige Resistor en een piëzo-zoemer. U druk op de sensor van de kracht om te beginnen met het afspelen van muziek en golf je hand voor de ultrasone sensor op versc
Een esp8266 arduino met behulp van een relais met behulp van home-assistant

Een esp8266 arduino met behulp van een relais met behulp van home-assistant

Dit Instructable laat zien hoe een Relais module verbinden met een esp8266, iets dat moet ongecompliceerd, maar moet een paar extra componenten te maken van de estafette werkt correct als u van het kleine apparaat van de esp in de foto's gebruikmaakt
Afspelen van geluid met de Intel Edison en Arduino met behulp van een Bluetooth-luidspreker

Afspelen van geluid met de Intel Edison en Arduino met behulp van een Bluetooth-luidspreker

Dit is een korte introductie over hoe te spelen geluiden via de Intel Edison board als met behulp van Arduino als een programmeeromgeving.Sinds de Arduino board voor Intel Edison niet elk geluid capbabilities hoeft, we gebruiken een goedkope bluetoot
Hoe maak je een schacht van de pijl van de 11/32 met behulp van een 3/8 inch ijzerhandel deuvel

Hoe maak je een schacht van de pijl van de 11/32 met behulp van een 3/8 inch ijzerhandel deuvel

In deze video ik je laten zien hoe maak je een schacht van de pijl 11/32 inch uit een 3/8 inch populieren houten deuvel kunt u op alle hardware winkel.U moet:een 1/4 inch stuk staaleen booreen boor van 23/64een 1/4 inch boor bitseen tabel vice en som
Dual Motor Driver met Arduino met behulp van een SN754410NE Quad halve H-Bridge

Dual Motor Driver met Arduino met behulp van een SN754410NE Quad halve H-Bridge

Een stap voor stap projectrichtlijnen door ArduinoFunMet dit Instructable ga ik je laten zien hoe u met een SN754410NE Quad H-Bridge IC controle twee 12-volt DC-motoren.Ik heb een video toegevoegd zodat u de dubbele Motor in actie kunt zien.  Zoals u
Met behulp van een Dot Matrix LED met een Arduino en Shift Register

Met behulp van een Dot Matrix LED met een Arduino en Shift Register

de Siemens DLO7135 Dot matrix LED is een verbazingwekkend stukje opto-elektronica. Het is gefactureerd als een 5 x 7 Dot Matrix intelligente Display (r) met geheugen/Decoder/Driver. Samen met dat het geheugen, het heeft een 96-ASCII karakterdisplay s
Beheersing van een Arduino Board met behulp van een infrarood afstandsbediening

Beheersing van een Arduino Board met behulp van een infrarood afstandsbediening

I-IntroductionHallo iedereen, mijn naam is Noreddine Kessa, ik ben een liefhebber van de elektronica.  Ik had plezier dit weekend spelen met mijn nieuwe speeltje, Arduino ATmega328 DIY Kit die ik kreeg op eBay, en ik zou graag de vreugde delen met ie
Met behulp van een joystick met je Arduino

Met behulp van een joystick met je Arduino

Joysticks zijn een grote bron van input voor een project. Vooral voor Robotica. Als hardware hackers hebben de meesten van ons hield altijd dit soort dingen. Behalve de nieuwe jongens daartoe vindt het misschien moeilijk te begrijpen van het concept
Hoe u kunt besturen van een Robot met behulp van een seriële verbinding

Hoe u kunt besturen van een Robot met behulp van een seriële verbinding

hier zijn instructies op hoe te om een seriële verbinding tussen een Rapsberry Pi en Arduino met behulp van een USB-kabel.  Zodra een seriële verbinding is vastgesteld, kan het worden gebruikt om te bepalen wat je kunt bedenken.  In dit geval gebruik
3 x 3 x 3 led kubus met behulp van een 555 timer en een scala van 4020 shift IC - geen programmering (voor de complete beginner zoals ikzelf)

3 x 3 x 3 led kubus met behulp van een 555 timer en een scala van 4020 shift IC - geen programmering (voor de complete beginner zoals ikzelf)

zien van een video van een 8 x 8 x 8 led kubus op you-tube, leidde me naar de instructables website voor de eerste keer, nu ik ben verslaafd. Echter had ik of moet ik zeggen hebben een fundamenteel probleem absoluut geen ervaring of kennis van elektr
Lessons Learned While gebouw een nutteloze doos met behulp van een Arduino en een Instructable

Lessons Learned While gebouw een nutteloze doos met behulp van een Arduino en een Instructable

Dus, ik vond een Instructable op de site dat leek vrij goed. U ziet, ik wilde de kracht van een Arduino te lopen van een nutteloze doos. Ik wilde bouwen en programmeren met behulp van de Instructable vond ik op de site. Niet alleen dat, maar ik ging
Met behulp van een temperatuursensor de snelheid van een motor met behulp van arduino

Met behulp van een temperatuursensor de snelheid van een motor met behulp van arduino

Deze toepassing is eenvoudig slechts met behulp van de temperatuursensor LM35 met een arduino-kit om te controleren van een fan en wijzigen van de snelheid met betrekking tot de temperatuur gelezen door de micro-controller die in dit geval de arduino
Androino! Controle van een Arduino vanaf uw Android-apparaat met behulp van een goedkope bluetooth-module.

Androino! Controle van een Arduino vanaf uw Android-apparaat met behulp van een goedkope bluetooth-module.

Dit instructable toont je hoe om te lezen van sensor-waardes van een Arduino met uw Androïde apparaat met behulp van een seriële goedkoop bluetooth-apparaat dat u voor onder $10 op dealextreme of ebay bestellen kunt.In het volgende voorbeeld gebruikt