Εμφάνιση αποτελεσμάτων : 1 έως 10 από 10

Θέμα: Κώδικας και σύνδεση TFT(1.8SPI) με Arduino;

  1. #1
    Μέλος
    Όνομα
    Μάκης
    Εγγραφή
    Sep 2016
    Περιοχή
    Καλλιθέα
    Μηνύματα
    38

    Προεπιλογή Κώδικας και σύνδεση TFT(1.8SPI) με Arduino;

    Καλημερα, έχω την 1.8SPI (128X160) και τη σύνδεσα με το arduino (Vcc - 5V, GRD, RST - 8, CS - 10, D/C - 9), φόρτωσα και το TFTDisplayText αλλά η οθόνη δεν ανοίγει.
    Ευχαριστώ.

    0 Not allowed! Not allowed!

  2. Ένα μέλος ευχαρίστησε τον maki για αυτό το χρήσιμο μήνυμα:

    ThanosGr (14-10-16)

  3. #2
    Μέλος
    Όνομα
    Χρήστος
    Εγγραφή
    Sep 2012
    Περιοχή
    Χολαργός
    Μηνύματα
    1.907

    Προεπιλογή

    σου λείπουν συνδέσεις .... πχ MISO MOSI
    υποθετω εχεις κατι τέτοιο

    https://cdn-learn.adafruit.com/downl...ft-display.pdf
    https://cdn-shop.adafruit.com/datash...7735R_V0.2.pdf

    0 Not allowed! Not allowed!

  4. #3
    Συντονιστής Το avatar του χρήστη kioan
    Όνομα
     
    Εγγραφή
    Mar 2005
    Περιοχή
    127.0.0.1
    Μηνύματα
    3.168

    Προεπιλογή

    Πρέπει να έχεις συνδέσει τουλάχιστον και το MOSI για να στέλνεις μέσω SPI δεδομένα στην οθόνη.

    Σε ορισμένες οθόνες το σχετικό pin θα το δεις σημειωμένο ως SDA.

    0 Not allowed! Not allowed!
    There are 10 types of people in the world: Those who understand binary, and those who don't.

  5. #4
    Μέλος
    Όνομα
    Μάκης
    Εγγραφή
    Sep 2016
    Περιοχή
    Καλλιθέα
    Μηνύματα
    38

    Προεπιλογή

    Από την βιβλιοθήκη 'TFTDisplayText' του Arduino πήρα αυτές τις συνδέσεις:

    #include <TFT.h> // Arduino LCD library
    #include <SPI.h>

    // pin definition for the Uno
    #define cs 10
    #define dc 9
    #define rst 8





    0 Not allowed! Not allowed!

  6. #5
    Μέλος
    Όνομα
    Μάκης
    Εγγραφή
    Sep 2016
    Περιοχή
    Καλλιθέα
    Μηνύματα
    38

    Προεπιλογή

    Βρηκα αυτην τη συνδεσμολογία...χωρίς τις αντιστάσεις, η οθόνη ανάβει αλλά δεν δείχνει τίποτα.

    0 Not allowed! Not allowed!

  7. #6
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή

    O controller αυτής της οθόνης είναι μάλλον ο ST7735. Ψάξε να βρείς βιβλιοθήκες για αυτόν και δοκίμασε και την UTFT:

    Κώδικας:
    // UTFT_Demo_160x128_Serial 
    // Copyright (C)2015 Rinky-Dink Electronics, Henning Karlsen. All right reserved
    // web: http://www.RinkyDinkElectronics.com/
    //
    // This program is a demo of how to use most of the functions
    // of the library with a supported display modules.
    //
    // This demo was made for modules with a screen resolution 
    // of 160x128 pixels.
    //
    // This program requires the UTFT library.
    //
    
    
    #include <UTFT.h>
    
    
    // Declare which fonts we will be using
    extern uint8_t SmallFont[];
    
    
    // Usage: myGLCD(<model code>, SDA, SCL, CS, RST[, RS]);
    //
    // When using the DM-TFT18-101 and shield from DisplayModule you should use the following:
    //         UTFT myGLCD(DMTFT18101,2,3,4,6,5);
    //
    // When using the TFT18SP shield from ElecFreaks you should use the following:
    //         UTFT myGLCD(TFT18SHLD,7,6,5,3,4);
    //
    UTFT myGLCD(ITDB18SP,11,10,9,12,8);   // Remember to change the model parameter to suit your display module!
    
    
    void setup()
    {
      randomSeed(analogRead(0));
      
    // Setup the LCD
      myGLCD.InitLCD();
      myGLCD.setFont(SmallFont);
    }
    
    
    void loop()
    {
      int buf[158];
      int x, x2;
      int y, y2;
      int r;
    
    
    // Clear the screen and draw the frame
      myGLCD.clrScr();
    
    
      myGLCD.setColor(255, 0, 0);
      myGLCD.fillRect(0, 0, 159, 13);
      myGLCD.setColor(64, 64, 64);
      myGLCD.fillRect(0, 114, 159, 127);
      myGLCD.setColor(255, 255, 255);
      myGLCD.setBackColor(255, 0, 0);
      myGLCD.print("Universal TFT Lib.", CENTER, 1);
      myGLCD.setBackColor(64, 64, 64);
      myGLCD.setColor(255,255,0);
      myGLCD.print("H.Karlsen", LEFT, 114);
      myGLCD.print("(C)2015", RIGHT, 114);
    
    
      myGLCD.setColor(0, 0, 255);
      myGLCD.drawRect(0, 13, 159, 113);
    
    
    // Draw crosshairs
      myGLCD.setColor(0, 0, 255);
      myGLCD.setBackColor(0, 0, 0);
      myGLCD.drawLine(79, 14, 79, 113);
      myGLCD.drawLine(1, 63, 158, 63);
    
    
      for (int i=9; i<150; i+=10)
        myGLCD.drawLine(i, 61, i, 65);
      for (int i=19; i<110; i+=10)
        myGLCD.drawLine(77, i, 81, i);
    
    
    // Draw sin-, cos- and tan-lines  
      myGLCD.setColor(0,255,255);
      myGLCD.print("Sin", 5, 15);
      for (int i=1; i<158; i++)
      {
        myGLCD.drawPixel(i,63+(sin(((i*2.27)*3.14)/180)*40));
      }
      
      myGLCD.setColor(255,0,0);
      myGLCD.print("Cos", 5, 27);
      for (int i=1; i<158; i++)
      {
        myGLCD.drawPixel(i,63+(cos(((i*2.27)*3.14)/180)*40));
      }
    
    
      myGLCD.setColor(255,255,0);
      myGLCD.print("Tan", 5, 39);
      for (int i=1; i<158; i++)
      {
        myGLCD.drawPixel(i,63+(tan(((i*2.27)*3.14)/180)));
      }
    
    
      delay(2000);
    
    
      myGLCD.setColor(0,0,0);
      myGLCD.fillRect(1,14,158,113);
      myGLCD.setColor(0, 0, 255);
      myGLCD.setBackColor(0, 0, 0);
      myGLCD.drawLine(79, 14, 79, 113);
      myGLCD.drawLine(1, 63, 158, 63);
    
    
    // Draw a moving sinewave
      x=1;
      for (int i=1; i<(158*20); i++) 
      {
        x++;
        if (x==159)
          x=1;
        if (i>159)
        {
          if ((x==79)||(buf[x-1]==63))
            myGLCD.setColor(0,0,255);
          else
            myGLCD.setColor(0,0,0);
          myGLCD.drawPixel(x,buf[x-1]);
        }
        myGLCD.setColor(0,255,255);
        y=63+(sin(((i*2.5)*3.14)/180)*(40-(i / 100)));
        myGLCD.drawPixel(x,y);
        buf[x-1]=y;
      }
    
    
      delay(2000);
      
      myGLCD.setColor(0,0,0);
      myGLCD.fillRect(1,14,158,113);
    
    
    // Draw some filled rectangles
      for (int i=1; i<6; i++)
      {
        switch (i)
        {
          case 1:
            myGLCD.setColor(255,0,255);
            break;
          case 2:
            myGLCD.setColor(255,0,0);
            break;
          case 3:
            myGLCD.setColor(0,255,0);
            break;
          case 4:
            myGLCD.setColor(0,0,255);
            break;
          case 5:
            myGLCD.setColor(255,255,0);
            break;
        }
        myGLCD.fillRect(39+(i*10), 23+(i*10), 59+(i*10), 43+(i*10));
      }
    
    
      delay(2000);
      
      myGLCD.setColor(0,0,0);
      myGLCD.fillRect(1,14,158,113);
    
    
    // Draw some filled, rounded rectangles
      for (int i=1; i<6; i++)
      {
        switch (i)
        {
          case 1:
            myGLCD.setColor(255,0,255);
            break;
          case 2:
            myGLCD.setColor(255,0,0);
            break;
          case 3:
            myGLCD.setColor(0,255,0);
            break;
          case 4:
            myGLCD.setColor(0,0,255);
            break;
          case 5:
            myGLCD.setColor(255,255,0);
            break;
        }
        myGLCD.fillRoundRect(99-(i*10), 23+(i*10), 119-(i*10), 43+(i*10));
      }
      
      delay(2000);
      
      myGLCD.setColor(0,0,0);
      myGLCD.fillRect(1,14,158,113);
    
    
    // Draw some filled circles
      for (int i=1; i<6; i++)
      {
        switch (i)
        {
          case 1:
            myGLCD.setColor(255,0,255);
            break;
          case 2:
            myGLCD.setColor(255,0,0);
            break;
          case 3:
            myGLCD.setColor(0,255,0);
            break;
          case 4:
            myGLCD.setColor(0,0,255);
            break;
          case 5:
            myGLCD.setColor(255,255,0);
            break;
        }
        myGLCD.fillCircle(49+(i*10),33+(i*10), 15);
      }
      
      delay(2000);
        
      myGLCD.setColor(0,0,0);
      myGLCD.fillRect(1,14,158,113);
    
    
    // Draw some lines in a pattern
      myGLCD.setColor (255,0,0);
      for (int i=14; i<113; i+=5)
      {
        myGLCD.drawLine(1, i, (i*1.44)-10, 112);
      }
      myGLCD.setColor (255,0,0);
      for (int i=112; i>15; i-=5)
      {
        myGLCD.drawLine(158, i, (i*1.44)-12, 14);
      }
      myGLCD.setColor (0,255,255);
      for (int i=112; i>15; i-=5)
      {
        myGLCD.drawLine(1, i, 172-(i*1.44), 14);
      }
      myGLCD.setColor (0,255,255);
      for (int i=15; i<112; i+=5)
      {
        myGLCD.drawLine(158, i, 171-(i*1.44), 112);
      }
      
      delay(2000);
      
      myGLCD.setColor(0,0,0);
      myGLCD.fillRect(1,14,158,113);
    
    
    // Draw some random circles
      for (int i=0; i<100; i++)
      {
        myGLCD.setColor(random(255), random(255), random(255));
        x=22+random(116);
        y=35+random(57);
        r=random(20);
        myGLCD.drawCircle(x, y, r);
      }
    
    
      delay(2000);
      
      myGLCD.setColor(0,0,0);
      myGLCD.fillRect(1,14,158,113);
    
    
    // Draw some random rectangles
      for (int i=0; i<100; i++)
      {
        myGLCD.setColor(random(255), random(255), random(255));
        x=2+random(156);
        y=16+random(95);
        x2=2+random(156);
        y2=16+random(95);
        myGLCD.drawRect(x, y, x2, y2);
      }
    
    
      delay(2000);
      
      myGLCD.setColor(0,0,0);
      myGLCD.fillRect(1,14,158,113);
    
    
    // Draw some random rounded rectangles
      for (int i=0; i<100; i++)
      {
        myGLCD.setColor(random(255), random(255), random(255));
        x=2+random(156);
        y=16+random(95);
        x2=2+random(156);
        y2=16+random(95);
        myGLCD.drawRoundRect(x, y, x2, y2);
      }
    
    
      delay(2000);
      
      myGLCD.setColor(0,0,0);
      myGLCD.fillRect(1,14,158,113);
    
    
      for (int i=0; i<100; i++)
      {
        myGLCD.setColor(random(255), random(255), random(255));
        x=2+random(156);
        y=16+random(95);
        x2=2+random(156);
        y2=16+random(95);
        myGLCD.drawLine(x, y, x2, y2);
      }
    
    
      delay(2000);
      
      myGLCD.setColor(0,0,0);
      myGLCD.fillRect(1,14,158,113);
    
    
      for (int i=0; i<5000; i++)
      {
        myGLCD.setColor(random(255), random(255), random(255));
        myGLCD.drawPixel(2+random(156), 16+random(95));
      }
    
    
      delay(2000);
    
    
      myGLCD.fillScr(0, 0, 255);
      myGLCD.setColor(255, 0, 0);
      myGLCD.fillRoundRect(10, 17, 149, 72);
      
      myGLCD.setColor(255, 255, 255);
      myGLCD.setBackColor(255, 0, 0);
      myGLCD.print("That's it!", CENTER, 20);
      myGLCD.print("Restarting in a", CENTER, 45);
      myGLCD.print("few seconds...", CENTER, 57);
      
      myGLCD.setColor(0, 255, 0);
      myGLCD.setBackColor(0, 0, 255);
      myGLCD.print("Runtime: (msecs)", CENTER, 103);
      myGLCD.printNumI(millis(), CENTER, 115);
    
    
      delay (10000);
    }

    1 Not allowed! Not allowed!

  8. #7
    Μέλος
    Όνομα
    Μάκης
    Εγγραφή
    Sep 2016
    Περιοχή
    Καλλιθέα
    Μηνύματα
    38

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από manolena Εμφάνιση μηνυμάτων
    O controller αυτής της οθόνης είναι μάλλον ο ST7735. Ψάξε να βρείς βιβλιοθήκες για αυτόν και δοκίμασε και την UTFT:
    Την είχα ήδη κατεβάσει τη βιβλιοθηκη για το ST7735 αλλά όταν πήγα να τη φορτώσω έδειξε πολλά error.
    Ο επεξεργαστής όμως απ ότι μόλις είδα πρέπει να είναι ο:

    AMS1117
    3.3 H1436

    Δε βρήκα κάτι γι αυτόν. Μήπως η οθόνη ειναι της πλάκας, να παρω άλληκαι ποιά;

    0 Not allowed! Not allowed!

  9. #8
    Μέλος Το avatar του χρήστη Fire Doger
    Όνομα
    Στέφανος
    Εγγραφή
    Jan 2015
    Περιοχή
    .
    Μηνύματα
    1.519

    Προεπιλογή

    Αυτός είναι σταθεροποιητής τάσης, κάνει τα 5V 3.3V

    2 Not allowed! Not allowed!

  10. #9
    Νέο Μέλος
    Όνομα
    Δημήτρης
    Εγγραφή
    Dec 2007
    Περιοχή
    ΙΛΙΟΝ
    Μηνύματα
    11

    Προεπιλογή

    Καλησπέρα,
    Έχω δοκιμάσει το http://grobotronics.com/1.8-18-bit-c...d-display.html με τον mega.
    Και λειτούργησε άψογα με το βοηθητικό πρόγραμμα.
    Τώρα θέλω να καταλάβω πως λειτουργούν τα fonts για να βάλω ελληνικά.

    0 Not allowed! Not allowed!

  11. #10
    Μέλος Το avatar του χρήστη Fire Doger
    Όνομα
    Στέφανος
    Εγγραφή
    Jan 2015
    Περιοχή
    .
    Μηνύματα
    1.519

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από tenelec Εμφάνιση μηνυμάτων
    Καλησπέρα,
    Έχω δοκιμάσει το http://grobotronics.com/1.8-18-bit-c...d-display.html με τον mega.
    Και λειτούργησε άψογα με το βοηθητικό πρόγραμμα.
    Τώρα θέλω να καταλάβω πως λειτουργούν τα fonts για να βάλω ελληνικά.
    Εύκολα είναι, μια μέρα ψάξιμο, για τα default που είναι 6χ8 απλώς ρυθμίζεις τα πίξελ σαν την οθόνη χαρακτήρων, τα άλλα εγώ παιδεύτηκα δεν κατάφερα να καταλάβω πως λειτουργούν, έχει μια εφαρμογή που τα μετατρέπει.

    0 Not allowed! Not allowed!

Παρόμοια Θέματα

  1. arduino & tft οθόνη
    By info@kalarakis.com in forum Software Η/Υ
    Απαντήσεις: 7
    Τελευταίο Μήνυμα: 18-10-20, 19:19
  2. Arduino @ TFT
    By yiannossavva in forum Μικροελεγκτές
    Απαντήσεις: 48
    Τελευταίο Μήνυμα: 08-06-17, 12:37
  3. arduino driver motοr κώδικας
    By alfadex in forum Μικροελεγκτές
    Απαντήσεις: 7
    Τελευταίο Μήνυμα: 24-03-17, 00:16
  4. html κώδικας σε Arduino - ανεπαρκής μνήμη
    By lelek in forum Μικροελεγκτές
    Απαντήσεις: 7
    Τελευταίο Μήνυμα: 05-06-15, 10:26
  5. Arduino και TFT LCD 3.2''
    By kwstas92 in forum Μικροελεγκτές
    Απαντήσεις: 18
    Τελευταίο Μήνυμα: 27-01-15, 14:05

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας