/* Plotter mit TFT ILI9341
Modifikation von https://wokwi.com/arduino/projects/307567963154678338
*/
#include <Adafruit_ILI9341.h>
#define TFT_SCK 18
#define TFT_MOSI 23
#define TFT_MISO 19
#define TFT_CS 22
#define TFT_DC 21
#define TFT_RESET 17
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
#define WIDTH 320
#define HEIGHT 240
void setup(void) {
Serial.begin(115200); Serial.println("Start Setup");
tft.begin();
tft.setRotation(2);
tft.fillScreen(ILI9341_BLACK);
//tft.drawLine( 0, 0, HEIGHT, WIDTH, ILI9341_GREEN);
tft.drawLine( 0, 0, HEIGHT, 0, ILI9341_RED);
tft.drawLine( 0, 0, 0, WIDTH, ILI9341_RED);
pinMode(4,INPUT);
unsigned long startzeit = millis();
for (int x = 0; x < WIDTH; x++) {
//tft.drawPixel(sin(0.1 * x) * 40.0 + 90, x, ILI9341_YELLOW);
}
unsigned long endezeit = millis();
Serial.println(String(endezeit - startzeit) + " ms");
analogWrite(5,512);
int mw[WIDTH];
startzeit = millis();
int tmp;
for (int x = 0; x < WIDTH; x++) {
if (x%20==0) {
tmp = mw[x] = analogRead(4);
}
// byte y = digitalRead(TFT_DC);
// tft.drawPixel(HEIGHT-mw[x]*0.01-50, x, ILI9341_YELLOW);
tft.drawPixel(tmp*0.01 + 150, x, ILI9341_YELLOW);
tft.drawPixel(sin(x*0.1)*20+50, x, ILI9341_YELLOW);
//Serial.println(mw[x]);
}
endezeit = millis();
Serial.println(String(endezeit - startzeit) + " ms");
Serial.println("Ende Setup");
}
void loop() {}