hallo
hoe sluit je display aan op een arduino
welke pin van display komt op welke pin van arduino??
wie helpt me??
http://www.elecfreaks.com/wiki/index.php?title=1.8%22_TFT_LCD:_TFT01-1…

misschien heb je iets aan de video tutorial
https://www.youtube.com/watch?v=s2o2to96Q3Y&feature=youtu.be
verder ken ik het display ook niet, zo te zien werkt het op 3v3, dus vraag me af of je hem wel aan een arduino kunt aansluiten

Welk type Arduino ?

Het is een beetje verwarrend geschreven, het display is I2C (SDA/SCK + eventueel reset en led) de SD kaart gebruikt SPI.
Als je de pullups naar 3V3 doet gaat het in het algemeen wel, maar de oplossing met twee fet'jes is netter. Zie verder: http://playground.arduino.cc/Main/I2CBi-directionalLevelShifter

Vaak staat er in de bijbehorende library (?) ook het een en ander over aansluiten, of in ieder geval kun je daar zien welke pinnen gebruikt worden.

Dit topic geeft veel info http://www.circuitsonline.net/forum/view/132679/-1
Kijk eens in de code staat pinnummering etc bij.

arduino uno wil ik hem op aan sluiten.
ik vraag me ook af welke library er voor gebruikt word
ik zie door alle info de oplossing niet
sorry

ik heb deze geprobeerd ,niks dus.

#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     10
#define TFT_RST    9  // 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);

en deze

ook niks

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>

// Software SPI (slower updates, more flexible pin options):
// pin 7 - Serial clock out (SCLK)
// pin 6 - Serial data out (DIN)
// pin 5 - Data/Command select (D/C)
// pin 4 - LCD chip select (CS)
// pin 3 - LCD reset (RST)
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);

// Hardware SPI (faster, but must use certain hardware pins):
// SCK is LCD serial clock (SCLK) - this is pin 13 on Arduino Uno
// MOSI is LCD DIN - this is pin 11 on an Arduino Uno
// pin 5 - Data/Command select (D/C)
// pin 4 - LCD chip select (CS)
// pin 3 - LCD reset (RST)
// Adafruit_PCD8544 display = Adafruit_PCD8544(5, 4, 3);
// Note with hardware SPI MISO and SS pins aren't used but will still be read
// and written to during SPI transfer.  Be careful sharing these pins!

[Bericht gewijzigd door gonniebertus op (87%)]

die schermpjes gebruik ik in de auto op een arduino. zowat de makkelijkste die er zijn.
source code is identiek dezelfde als voor de 1,44" schermpjes. alleen zijn de kleuren verkeerd (rood wordt blauw enzo).
de code voor een 1,44" heb ik ook laten staan in commentaar (als ik van scherm wissel, hoef ik enkel die 2 regels aan te pakken)

ik gebruik dit


#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library
#include <SPI.h>

#define TFT_CS     9   //10
#define TFT_RST    8  //9 
#define TFT_DC     10 //8

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS,  TFT_DC, TFT_RST);

void setup (){
    //tft.initR(INITR_144GREENTAB);   // initialize a ST7735S chip, black tab 1.44"
    tft.initR(INITR_BLACKTAB);   // initialize a ST7735S chip, black tab 1.8"
    tft.setRotation(3);
    tft.fillScreen(ST7735_BLACK);     //erase screen

    tft.setTextSize(2);
    tft.setCursor(20,3);
    tft.setTextColor(ST7735_WHITE, ST7735_BLACK);
    tft.print("VOLKSWAGEN");

}

ik heb die 3 getallen dus wel moeten veranderen. 10 werd een 9; 9 werd een 8 en 8 werd een 10.

[Bericht gewijzigd door fcapri op (17%)]

hallo FCAPRI
bedankt heb hem werkend

[Bericht gewijzigd door gonniebertus op (58%)]

led hang ik gewoon op VCC zodat die altijd brand, maar je kan ook gewoon een digitale output nemen en die daar aan hangen.

http://fcapri.homelinux.com/off/pics/eo/arduinodash/640/DSCN9478.JPG

maar welk scherm heb je nu precies? want SDI en SCL zijn I2C lijnen, terwijl je in je code met SPI bezig bent (MOSI, MISO, CS, RST, DC).

ook mijn 1,44 en 1,8" schermpjes zijn allemaal met SPI controllers uitgerust.

als het een I2C scherm is, dan moet je de goeie library zoeken, en gewoon je scherm definieren met een adres (bv 0x27).
beste kan je die gewoon aansluiten (VCC, GND, SDA en SCL) en dan een software laten lopen om het adres te achterhalen.
http://playground.arduino.cc/Main/I2cScanner

I2C schermen heb ik nog niet veel tegen gekomen. dat wordt voor kleinere schermen gebruikt.
bv een 16x2 karakter scherm, een 0,96" oled schermpje, 7segment display's...

[Bericht gewijzigd door fcapri op (11%)]

hallo
ik heb hem werkend ,met jouw nummer verandering dus hartelijk dank

graphictest draait ,erg leuk.
alleen blijft hij draaien op die mediaknoppen,dus iedere keer reset geven.
zijn er nog meer leuke sketches voor??

dat is normaal, als je die code bekijkt zie je dat hij stap voor stap iets uitvoert, en de laatste is die media knoppen.

bv eerst laat die wat tekst zien, dan wat gedraaide tekst, dan wat vierkantjes, .... en als laatste de knopjes. er is niks in het programma dat zegt dar die moet herbeginnen.

dat is al een goeie opgave, probeer de testsketch uit te breiden dat die iets herhalend doet.
verder moet je geen sketchen gaan zoeken, maar moet je er schrijven. daarvoor is het handig om wat sensoren aan te kopen.
temperauursensor, druksensor, lichtsluisjes, ... en dan kan je vanalles maken.

ik heb zo een schermpje in de auto zitten die mijn brandstof in liters, geschatte autonomie, accuspanning, watertemperatuur, datum en tijd weergeeft. kostprijs van dit alles is nog geen 10€
http://fcapri.homelinux.com/off/pics/eo/arduinodash/640/DSCN9576.JPG
http://fcapri.homelinux.com/off/pics/eo/arduinodash/640/DSCN9577.JPG

termperatuur en druk sensor
http://fcapri.homelinux.com/off/pics/eo/arduino/640/DSCN9341.jpg

zelfbouwtoestel om RS232 signalen te detecteren
http://fcapri.homelinux.com/off/pics/eo/handheld/640/DSCN9866.JPG
http://fcapri.homelinux.com/off/pics/eo/handheld/640/DSCN9868i.JPG

....

ziet er allemaal TOP uit wat je doet.
ik ben al druk aan het zoeken om hem te laten herhalen.
ik zit bij die loop te kijken.
maar wat ik ook verander ,het werkt niet dat hij doorloopt.

ik heb op heel veel plaatsen dit in de sketch gezet
Serial.println("klaar");
return;
maar mediabuttons blijft doorgaan

[Bericht gewijzigd door gonniebertus op (25%)]

als je in de code kijkt zie je een paar functies

de eerste is setup, daar wordt alles in gezet wat 1 keer gedraaid wordt.
dan heb je een loop, daar wordt alles in gezet wat blijft herhalen (daar inverteerd hij het scherm telkens).

en dan heb je een hoop functies die 'iets' uitvoeren (ze worden allemaal opgeroepen vanuit de setup)

ik heb dus op veel plaatsen dit gezet.maar media buttons blijft doorgaan
ik dacht dan kom ik te zien waar hij dat doet,maar niet dus
ik plaats op veel plaatsen dit dus
Serial.println("klaar");
return;
ik snap het niet,waar hij het herhaalt.

ik heb die mediabuttons eruit gehaald
maar nu herhaalt alles zich met die triangle
raar

[Bericht gewijzigd door gonniebertus op (16%)]

heel simpel
als je in deze code krijgt, zie je bij setup (=dit voert hij 1 KEER uit!!!).
hij start de serial, hij start het scherm, dan schrijft hij text 'lorem ipsum....', dat schrijft hij een pixel, dan schrijft hij lijnen, dan rechthoeken, gevulde rechthoeken, driehoeken en dan die mediabuttons.
en dan STOPT de setup.

dan gaat hij naar de loop en begint hij die 'invert' screen elke 0,5sec te herhalen. en deze code van 4regels blijft hij altijd opnieuw herhalen. vandaar de keuze van de naam 'loop' (= lus)


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("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur adipiscing ante sed nibh tincidunt feugiat. Maecenas enim massa, fringilla sed malesuada et, malesuada sit amet turpis. Sed porttitor neque ut ante pretium vitae malesuada nunc bibendum. Nullam aliquet ultrices massa eu hendrerit. Ut sed nisi lorem. In vestibulum purus a tortor imperdiet posuere. ", ST7735_WHITE);
  delay(1000);

  // 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(10, ST7735_BLUE);
  testdrawcircles(10, ST7735_WHITE);
  delay(500);

  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);
}

zou je nu in de loop dit stuk text kopieren vanuit de setup naar de loop, dan zal die dat deel altijd herhalen en niet meer inverteren


void loop() {
  testroundrects();
  delay(500);
  testtriangles();
  delay(500);
}

het is belangrijk te begrijpen, dat in de setup alles 1X wrdt uitgevoerd, en alles wat je wil herhalen in de loop moet staan.
de setup wordt dan ook gebruikt om alles op te zetten (set up).
je gaat de seriele verbinding tot stand brengen, je gaat het scherm initialiseren, je gaat bepaalde getallen invullen...
en in loop start je uw eigenlijke programma.

hoi
dat setup 1x word doorlopen weet ik.

dat loop voor herhalen is weet ik.
maar wat ik ook probeer in deze sketch, blijft of het een doorgaan of het andere.
en dat snap ik dus niet ,
ik heb programma regel voor regel bekeken ,maar zie hte niet.

Hi fcapri, :-)

Waar schaf jij deze displays aan?
Heb je ook al eens met LCD display's gespeeld?
Ik bedoel dan een zeg grotere versie van de Nokia 5110, dus zuinig en altijd goed zichtbaar.

Gegroet,
Bram

ik koop ze allemaal op ali express.

nokia schermen heb ik ook nog gebruik, heel goedkoop maar nogal fragiel. mijn eerste scherm werkte goed, mijn 2de valt continue weg. als je dan het scherm wat aandrukt op de print, heb je wel weer beeld.
http://fcapri.homelinux.com/off/pics/eo/arduinodash/640/P_20150318_142310.jpg

ook grotere schermen gebruik ik vaak.
ik heb 0,96" oled's liggen, 1,44" TFT, 1,8" TFT, nokio 5110 lcd's, 3,5" TFT, 16x2 karakter LCD schermen, 20x4 karakter lcd schermen, 20x4 bigfont karakter LCD schermen... en als ik intressante aankopen vind, koop ik er altijd bij.
alleen jammer dat je dan alle libraries hebt gevonden die je nodig hebt, en de volgende batch schermen heeft weer een verschil erin

Op 10 juli 2016 10:01:08 schreef fcapri

ik heb zo een schermpje in de auto zitten die mijn brandstof in liters, geschatte autonomie, accuspanning, watertemperatuur, datum en tijd weergeeft. kostprijs van dit alles is nog geen 10€

Heb je dit project ook gedocumenteerd bijvoorbeeld ergens in een topic per ongeluk?

nou ik heb gedeelte in een loop hoor.
bedankt allen.

Op 10 juli 2016 13:45:05 schreef Lorne Malvo:
[...]

Heb je dit project ook gedocumenteerd bijvoorbeeld ergens in een topic per ongeluk?

hier staat wel wat info.

http://www.circuitsonline.net/forum/view/126165/1/dashboard

het is eigenlijk doodeenvoudig.
-ik heb een RTC klokje eraan hangen die de tijd en datum doorgeeft aan de arduino. deze functie zit er enkel in omdat het TFT schermpje op de plaats van mijn originele klokje zit in de auto (en telkens de GSM nemen om te kijken hoe laat het is, is ook niet handig in de auto).
-accuspanning meting is ook niks nieuws. spanningsdeler 1/4 maken zodat 0-20V omgezet wordt naar 0-5V voor de arduino. is het gewoon een kwestie van de gemeten resultaten *4 te doen voor je ze op het scherm weergeeft.

temperatuursensor en brandstofmeter in de auto zijn 2 weerstanden die beinvloed worden.
de auto zelf stuurt een stroom door die weerstand en afhankelijk van de spanning, wijkt zo een naaldje uit. ik tak met de arduino gewoon af op die sensor (gewoon aan de stekker achterop het dashboard).
de vlotter gaat dan niet van 20-90ohm, maar ik zie een spanning van 4,1V (vol) tot 8,3V (leeg).
alweer een spanningsdeler zodat de arduino een spanning lager dan 5V ziet.
die getallen gooi je in een map

int liters = map(fuelavg*10, 41, 83, 51, 0)

die spanning doe ik *10. dan heb ik een getal van 44 tot 83. in die map data koppel je die meetwaarde van 41 aan 51 (liters)
en die 83 wordt gekoppel aan 0 (liters)
alles ertussen berekent de arduino zelf. 6,2V zou dan overeenkomen met 25,5liter.

temperatuursensor is dezelfde werkwijze, alleen heb ik daar wat meer moeten rekenen omdat dit een (halve) hyperbool was en geen lineaire grafiek

hallo
Kun je de text ook groter maken dan de standaard grote??
ik zit al in de library te kijken,maar vind dat niet terug??
wie weet het??
heb het trouwens voor elkaar dat hij herhaalt.

heb text grote al gevonden hoor.

stond hierboven trouwens ook al in één van mijn codes vermeld :-)