Skocz do zawartości

Rak_Rakoski

Użytkownicy
  • Zawartość

    25
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O Rak_Rakoski

  • Ranga
    3/10

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Problem rozwiązany zła biblioteka. Wstyd się przyznać, ale nie wiem czemu nie zauważyłem różnicy w nazwie biblioteki ILI9341 ILI9225 . Tft działa bez zarzutu. Dziękuję za pomoc.
  2. To co z nią jak mam ją sprawdzić pobrałem wgrałem itd skompilowało się wgrało do płytki ale tft dalej biały. Nie napisałeś o co konkretnie Ci chodzi. Jasnowidzem nie jestem
  3. w datasheecie str 24 7.2. Input Interfaces Interface Mode Serial Peripheral Interface (SPI) czy chodzi ci o bibliotekę?
  4. Wyświetlacz tft jest na magistralę spi przeczytaj wcześniejsze posty oraz jeszcze raz dokumentację na stronie sklepu chyba że producent lub sklep w kulki leci
  5. Z danych podanych przez sklep jest taka biblioteka i link do datasheeta https://abc-rc.pl/settings.php?getAttachmentp=581_10169_0d83a935f1d261d0fe559a8d359bea1f
  6. Płytka Arduino Uno z ESP (dwa moduły jedna plytka nie mogę podlinkować produkt prawdopodobnie wycofany ze sklepu) biblioteki Adafruit-GFX-Library-master Adafruit_ILI9341-master szkic z biblioteki #include "SPI.h" #include "Adafruit_GFX.h" #include "Adafruit_ILI9341.h" // For the Adafruit shield, these are the default. #define TFT_DC 9 #define TFT_CS 10 // Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC); // If using the breakout, change pins as desired //Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO); void setup() { Serial.begin(9600); Serial.println("ILI9341 Test!"); tft.begin(); // read diagnostics (optional but can help debug problems) uint8_t x = tft.readcommand8(ILI9341_RDMODE); Serial.print("Display Power Mode: 0x"); Serial.println(x, HEX); x = tft.readcommand8(ILI9341_RDMADCTL); Serial.print("MADCTL Mode: 0x"); Serial.println(x, HEX); x = tft.readcommand8(ILI9341_RDPIXFMT); Serial.print("Pixel Format: 0x"); Serial.println(x, HEX); x = tft.readcommand8(ILI9341_RDIMGFMT); Serial.print("Image Format: 0x"); Serial.println(x, HEX); x = tft.readcommand8(ILI9341_RDSELFDIAG); Serial.print("Self Diagnostic: 0x"); Serial.println(x, HEX); Serial.println(F("Benchmark Time (microseconds)")); delay(10); Serial.print(F("Screen fill ")); Serial.println(testFillScreen()); delay(500); Serial.print(F("Text ")); Serial.println(testText()); delay(3000); Serial.print(F("Lines ")); Serial.println(testLines(ILI9341_CYAN)); delay(500); Serial.print(F("Horiz/Vert Lines ")); Serial.println(testFastLines(ILI9341_RED, ILI9341_BLUE)); delay(500); Serial.print(F("Rectangles (outline) ")); Serial.println(testRects(ILI9341_GREEN)); delay(500); Serial.print(F("Rectangles (filled) ")); Serial.println(testFilledRects(ILI9341_YELLOW, ILI9341_MAGENTA)); delay(500); Serial.print(F("Circles (filled) ")); Serial.println(testFilledCircles(10, ILI9341_MAGENTA)); Serial.print(F("Circles (outline) ")); Serial.println(testCircles(10, ILI9341_WHITE)); delay(500); Serial.print(F("Triangles (outline) ")); Serial.println(testTriangles()); delay(500); Serial.print(F("Triangles (filled) ")); Serial.println(testFilledTriangles()); delay(500); Serial.print(F("Rounded rects (outline) ")); Serial.println(testRoundRects()); delay(500); Serial.print(F("Rounded rects (filled) ")); Serial.println(testFilledRoundRects()); delay(500); Serial.println(F("Done!")); } void loop(void) { for(uint8_t rotation=0; rotation<4; rotation++) { tft.setRotation(rotation); testText(); delay(1000); } } unsigned long testFillScreen() { unsigned long start = micros(); tft.fillScreen(ILI9341_BLACK); yield(); tft.fillScreen(ILI9341_RED); yield(); tft.fillScreen(ILI9341_GREEN); yield(); tft.fillScreen(ILI9341_BLUE); yield(); tft.fillScreen(ILI9341_BLACK); yield(); return micros() - start; } unsigned long testText() { tft.fillScreen(ILI9341_BLACK); unsigned long start = micros(); tft.setCursor(0, 0); tft.setTextColor(ILI9341_WHITE); tft.setTextSize(1); tft.println("Hello World!"); tft.setTextColor(ILI9341_YELLOW); tft.setTextSize(2); tft.println(1234.56); tft.setTextColor(ILI9341_RED); tft.setTextSize(3); tft.println(0xDEADBEEF, HEX); tft.println(); tft.setTextColor(ILI9341_GREEN); tft.setTextSize(5); tft.println("Groop"); tft.setTextSize(2); tft.println("I implore thee,"); tft.setTextSize(1); tft.println("my foonting turlingdromes."); tft.println("And hooptiously drangle me"); tft.println("with crinkly bindlewurdles,"); tft.println("Or I will rend thee"); tft.println("in the gobberwarts"); tft.println("with my blurglecruncheon,"); tft.println("see if I don't!"); return micros() - start; } unsigned long testLines(uint16_t color) { unsigned long start, t; int x1, y1, x2, y2, w = tft.width(), h = tft.height(); tft.fillScreen(ILI9341_BLACK); yield(); x1 = y1 = 0; y2 = h - 1; start = micros(); for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color); x2 = w - 1; for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color); t = micros() - start; // fillScreen doesn't count against timing yield(); tft.fillScreen(ILI9341_BLACK); yield(); x1 = w - 1; y1 = 0; y2 = h - 1; start = micros(); for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color); x2 = 0; for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color); t += micros() - start; yield(); tft.fillScreen(ILI9341_BLACK); yield(); x1 = 0; y1 = h - 1; y2 = 0; start = micros(); for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color); x2 = w - 1; for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color); t += micros() - start; yield(); tft.fillScreen(ILI9341_BLACK); yield(); x1 = w - 1; y1 = h - 1; y2 = 0; start = micros(); for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color); x2 = 0; for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color); yield(); return micros() - start; } unsigned long testFastLines(uint16_t color1, uint16_t color2) { unsigned long start; int x, y, w = tft.width(), h = tft.height(); tft.fillScreen(ILI9341_BLACK); start = micros(); for(y=0; y<h; y+=5) tft.drawFastHLine(0, y, w, color1); for(x=0; x<w; x+=5) tft.drawFastVLine(x, 0, h, color2); return micros() - start; } unsigned long testRects(uint16_t color) { unsigned long start; int n, i, i2, cx = tft.width() / 2, cy = tft.height() / 2; tft.fillScreen(ILI9341_BLACK); n = min(tft.width(), tft.height()); start = micros(); for(i=2; i<n; i+=6) { i2 = i / 2; tft.drawRect(cx-i2, cy-i2, i, i, color); } return micros() - start; } unsigned long testFilledRects(uint16_t color1, uint16_t color2) { unsigned long start, t = 0; int n, i, i2, cx = tft.width() / 2 - 1, cy = tft.height() / 2 - 1; tft.fillScreen(ILI9341_BLACK); n = min(tft.width(), tft.height()); for(i=n; i>0; i-=6) { i2 = i / 2; start = micros(); tft.fillRect(cx-i2, cy-i2, i, i, color1); t += micros() - start; // Outlines are not included in timing results tft.drawRect(cx-i2, cy-i2, i, i, color2); yield(); } return t; } unsigned long testFilledCircles(uint8_t radius, uint16_t color) { unsigned long start; int x, y, w = tft.width(), h = tft.height(), r2 = radius * 2; tft.fillScreen(ILI9341_BLACK); start = micros(); for(x=radius; x<w; x+=r2) { for(y=radius; y<h; y+=r2) { tft.fillCircle(x, y, radius, color); } } return micros() - start; } unsigned long testCircles(uint8_t radius, uint16_t color) { unsigned long start; int x, y, r2 = radius * 2, w = tft.width() + radius, h = tft.height() + radius; // Screen is not cleared for this one -- this is // intentional and does not affect the reported time. start = micros(); for(x=0; x<w; x+=r2) { for(y=0; y<h; y+=r2) { tft.drawCircle(x, y, radius, color); } } return micros() - start; } unsigned long testTriangles() { unsigned long start; int n, i, cx = tft.width() / 2 - 1, cy = tft.height() / 2 - 1; tft.fillScreen(ILI9341_BLACK); n = min(cx, cy); start = micros(); for(i=0; i<n; i+=5) { tft.drawTriangle( cx , cy - i, // peak cx - i, cy + i, // bottom left cx + i, cy + i, // bottom right tft.color565(i, i, i)); } return micros() - start; } unsigned long testFilledTriangles() { unsigned long start, t = 0; int i, cx = tft.width() / 2 - 1, cy = tft.height() / 2 - 1; tft.fillScreen(ILI9341_BLACK); start = micros(); for(i=min(cx,cy); i>10; i-=5) { start = micros(); tft.fillTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i, tft.color565(0, i*10, i*10)); t += micros() - start; tft.drawTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i, tft.color565(i*10, i*10, 0)); yield(); } return t; } unsigned long testRoundRects() { unsigned long start; int w, i, i2, cx = tft.width() / 2 - 1, cy = tft.height() / 2 - 1; tft.fillScreen(ILI9341_BLACK); w = min(tft.width(), tft.height()); start = micros(); for(i=0; i<w; i+=6) { i2 = i / 2; tft.drawRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(i, 0, 0)); } return micros() - start; } unsigned long testFilledRoundRects() { unsigned long start; int i, i2, cx = tft.width() / 2 - 1, cy = tft.height() / 2 - 1; tft.fillScreen(ILI9341_BLACK); start = micros(); for(i=min(tft.width(), tft.height()); i>20; i-=6) { i2 = i / 2; tft.fillRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(0, i, 0)); yield(); } return micros() - start; } Schemat podłączeń. Zdjęcia płytki Arduino nie mogę wrzucić Forbot wyświetla błąd -200
  7. Udało mi się uruchomić oleda i barometr na i2c. Musiałem tylko wpisać adres barometru 0x77 i oleda 0x3c bmp.begin(0x77); display.begin(SSD1306_SWITCHCAPVCC, 0x3c); Wszystko pięknie działa. Co do tft chyba jest wadliwy, podpiąłem go tak jak pisaliście oraz na kilka innych sposobów używając szkiców z bibliotek i oprócz białego ekranu nic nie uzyskałem
  8. Na TFT na razie nic nie planuje chcę go po prostu odpalić, ale chyba zamienię tego Oleda na tft z uwagi na wielkość. (Oled mniejszy) Oleda natomiast wrzucę do przyszłego prędkościomierza do samolotów rc. Mimo wszystko dziękuję za pomoc i naświetlenie tematów.
  9. Może za wcześnie użyłem określenia "Robienie projektu" dożę do zrobienia stacji pogodowej. Czytałem o I2C tutoriale manuale specyfikacje ale polecenia i2c.write czy coś takiego robi wodę z mózgu jak mam wysłać metodą i2c.write żądanie do barometru i wyświetlacza bo konkretnie tego nie umiem/nie rozumiem nigdzie to nie jest pokazane (przynajmniej tam gdzie patrzyłem)
  10. Jeszcze jedno robię drugi projekt opary o wyświetlacz OLED i barometr BMP108 oba na I2C. Pytanie brzmi jak zaadresować polecenia dla barometru i wyświetlacza?
  11. Układ scalony: LVC245A oraz zdjęcie Czy jak podłączę 3,3V zamiast 5V to wyświetlacz da jakiś znak życia?
  12. Witam, mam problem z uruchomieniem w/w wyświetlacza na arduino z powodu opisu pinów. Na różnych stronach i blogach wyświetlacz używa pinów MOSI MISO CS DC.. Natomiast na moim module występują piny CLK RST RS CS SDA Próbowałem podłączyć wyświetlacz do magistrali I2C i SPI ale bez skutku. Proszę o pomoc lub wskazówki dot. połączenia i oprogramowania wyświetlacza. Wyświetlacz podłączam przez dzielnik rezystorowy ponieważ wyczytałem że zasilany jest napięciem 3,3V. Na niektórych forach podają że wyświetlacz pracuje na napięciu 5V Jeśli to możliwe to proszę mi wyjaśnić na jakim napięciu powinien pracować. Link do wyświetlacza: https://abc-rc.pl/pl/products/wyswietlacz-lcd-tft-2-0-spi-176x220px-arduino-10169.html
  13. W takim razie jak składać ten payload i skąd strona u klienta wie gdzie go umieścić?
  14. Czytałem trochę więcej od ostatniego razu o esp i html'u i wydaje mi się że powinienem użyć procedur get i post, ale nie wiem jak je wykorzystać. Po drugie w podesłanym przez Ciebie przykładzie są polecenia których nie rozumiem, np void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t length) IPAddress ip = webSocket.remoteIP(num); Serial.printf("[%u] Connected from %d.%d.%d.%d url: %s\r\n", num, ip[0], ip[1], ip[2], ip[3], payload); Dodatkowo w innym przykładzie widziałem jeszcze jakieś e.serialprint czy coś takiego.
  15. Witam, chcę zrobić prostą stronkę na esp ale nie wiem jak wysłać do klienta tło strony i odczyt z czujników Arduino. Esp pracuje jako serwer bez dostępu do internetu. Jestem zielony w temacie prosiłbym też o jakiś poradnik dotyczący wspomnianego układu. (Arduino i ESP8266 są na jednej płytce https://abc-rc.pl/product-pol-9905-UNO-WiFi-R3-CH340-z-modulem-WIFI-ESP8266-8Mb-flash-zgodny-z-Arduino.html )
×
×
  • Utwórz nowe...