Show Posts
Pages: [1]
1  Using Arduino / Displays / Re: Opel TID Display on: June 01, 2013, 04:23:14 am
Tested just one minute ago: the TID8 doesnt work with the new timings. Seems to be too fast for the old display.
2  Using Arduino / Displays / Re: Opel TID Display on: May 30, 2013, 01:39:20 pm
Let me just say: EVERYTHING works.
The TID8 was already working (after adding a cycle() mentioned earlyer). But the TID10 wasn't working at all, text appeared only sporadical, and only for half a second. After using the shorter timings, EVERYTHING works with the TID10. For me, scrolling on TID10 needs a speed of '2'.
3  Using Arduino / Displays / Re: Opel TID Display on: May 30, 2013, 12:24:43 pm
FINALLY, IT WORKS!

I took a closer look at the procotoll specified here:
http://wiki.carluccio.de/images/7/7a/Tid-protokoll.pdf

I implemented the mentioned timings, and ended up with the following code:
Code:
#define tid_delay 150  //this is a working timing value, if you change this, TID can stop working 180
#define delay_300 150
#define delay_100 100

void tid_byte(byte data) {
  pinMode(scl, OUTPUT);
    for (uint8_t m = 0X80; m != 0; m >>= 1) { //2 lines from
    digitalWrite(sda, m & data);              //William Greiman's I2cMaster Library
    delayMicroseconds(5);
    digitalWrite(scl, HIGH);
    delayMicroseconds(50);
    digitalWrite(scl, LOW);
    delayMicroseconds(50);
    }
  delayMicroseconds(delay_300);
  pinMode(sda,INPUT);     //3
  delayMicroseconds(tid_delay);
  pinMode(scl,INPUT);     //4
  delayMicroseconds(delay_100);
  while(digitalRead(scl)==0);   //6
  delayMicroseconds(delay_300);
  pinMode(scl,OUTPUT);
  digitalWrite(scl, LOW);   //7
  while(digitalRead(sda)==0);   //8
  pinMode(sda,OUTPUT);
  }

void start_tid() {
  pinMode(sda,INPUT);
  digitalWrite(mrq, LOW);
  delayMicroseconds(100);
  while(digitalRead(sda)==1);
  digitalWrite(mrq, HIGH);
  delayMicroseconds(100);
  while(digitalRead(sda)==0);
  pinMode(sda,OUTPUT);
  pinMode(scl,OUTPUT);
  digitalWrite(sda, LOW);
  delayMicroseconds(100);
  digitalWrite(scl, LOW);
  delayMicroseconds(100);
  }
  
void stop_tid() {
  digitalWrite(sda, LOW);
  delayMicroseconds(100);
  digitalWrite(mrq, HIGH);
  delayMicroseconds(500);
  digitalWrite(scl, HIGH);
  delayMicroseconds(100);
  digitalWrite(sda, HIGH);
  delayMicroseconds(100);
  }

Now I can display any text I want smiley-grin
4  Using Arduino / Displays / Re: Opel TID Display on: May 29, 2013, 04:18:54 pm
Something new to report.
Using TID8 works fine, TID10 not. I have added some serial communication to observe the calls of the function. I am using this code:

Code:
void loop () {
  start = millis();
  start_tid();
  tid_address(0x9B);  //this is the address for the 8 letters, for the 10 use 0x9B instead
  tid_data(0);  //first symbols byte
  tid_data(0);  //second  symbols byte
  tid_data(0);
  
  tid_data('C');    //first letter
  tid_data('o');
  tid_data('r');
  tid_data('s');
  tid_data('a');
  tid_data(0);
  tid_data('C');
  tid_data(0);    //8th letter
  tid_data(0);
  tid_data(0);
  stop_tid();  
  
  end = millis();
  time = end - start;
  Serial.println(time);
}

Using this (with eight letters) with the TID8 gives about 50ms of duration, which works fine, the text is beeing displayed. With the TID10 it takes about 60ms, but the text appears only sporadical. I dont have any clue why or how to solve this.
I have no idea, what I can do further.
5  Using Arduino / Displays / Re: Opel TID Display on: May 18, 2013, 09:08:23 am
Different rolling speeds dont solve the bumpes. The slower it scrolls, the fewer the bumps appear.

Any ideas about the 10 Letters TID?
6  Using Arduino / Displays / Re: Opel TID Display on: May 18, 2013, 07:55:57 am
Adding cycle() hat line 140 works. Scrolling is a bit bumby, sometimes the text gets stuck for one unit, then the letters are shifted for two positions. Example?
"SCROLLING " is displayed as "SCROLLIN", next one is "ROLLING "

I have added a cycle in the library for the 10 Letters TID, but nothing is happening on the TID10

Disconneting Pin 5 on the TID8 doesnt change anything. Disconnecting also Pin8 switches the TID8 off. And connecting only Pin 5 lets the TID8 display the date.
7  Using Arduino / Displays / Re: Opel TID Display on: May 17, 2013, 02:13:57 pm
TID 1.1 from page 2

Connection on the 8 Letters TID:
1: 12V (permanent)
3: GND
5: 12V (switched)
8: 12V (Auto Antenna)
9: SCL
10: SDA
11: MRQ

Sketch:
Code:
#include <TID.h>

TID myTID (7,5,6);//SDA, SCL, MRQ

void setup()
{
}

void loop()
{
  myTID.display_message("CORSA C",4);
}

Using a scroll speed of 64 stopps the flickering and displays a short text permanently, but leaves the scrolling completely unusable.

---

BTW, the connection of the 10 Letters TID:
1: 12V (switched)
2: 12V (Auto Antenna)
3: 12V (permanent)
6: GND
10: SCL
11: SDA
12: MRQ
8  Using Arduino / Displays / Re: Opel TID Display on: May 16, 2013, 02:29:41 pm
Back in town with some news. I've got a new power supply, and I bought an 8 Letters TID from an Astra F. I switched back to Basic_Functions.ino, which worked pretty good, I can display any text up to eight Letters on this TID. Using the library doesnt work properly. Displaying a short text results in flickering the display, 1 second text, 1 second empty, and so on. I cant judge the scrolling, there is scrolling something, but there is the same flickering. A speed of '4' seems to be the right for me, with 128 the TID isnt quick enough to display letters readable.

Now using my 10 Letters TID: with Basic_Functions.ino, text ist beeing displayed for 4 seconds, 62 seconds blank, 4 seconds text, and after further 75 seconds I gave up waiting. The library isnt working at all.

Quote
I didn't mention in the PDF that the arrow J> is the Red/White connector ('gorgeous' put red/grey) that tells the display to display the date or the text string. This wire is just the antenna-power wire given out by the radio that is meant for electric aerials, which tells them to rise or drop when the radio is switched on/off.
My radio always powers this pin, regardless of radio or not, TP or not. In my car, the Pin 5 in the ISO is connected to the antenna amplifier and also to the red/white wire to the TID. Cutting the red/white wire lets the TID always display the date. Cutting the thicker wire on the radio disables the antenna amplifier.

I have made another discovery. Inbetween stop_tid() and start_tid(), a delay of maximum 30ms is allowed, otherwise the display clears the screen. I am using some code like this
Code:
    char light[12];
for ( int i = 0; i < 70; i++ )
    {
        start_tid();
        tid_address(0x94);
        tid_data(0);
        tid_data(0);
        //tid_data(0);            // delete if 8 Letters

        //tid_data(light[1]);     // delete if 8 Letters
        tid_data(light[2]);
        tid_data(light[3]);
        tid_data(light[4]);
        tid_data(light[5]);
        tid_data(light[6]);
        tid_data(light[7]);
        tid_data(light[8]);
        tid_data(light[9]);
        //tid_data(light[10]);    // delete if 8 Letters

        stop_tid();

        */delay(30)
a delay of 30ms works at the 8 Letter TID, more than 30ms not.
9  Using Arduino / Displays / Re: Opel TID Display on: April 27, 2013, 05:13:22 am
You are right, I confused the word current with voltage, I am sorry. Please replace every "current" in my posting with "voltage".

Quote
if you have another suitable dc power supply
I have ordered a new power supply with fixed steps of the output voltage. And also a breadboard for more serious experimenting smiley-grin

Now away from the supply: the TID expects 12V on a pin called DIS for switching from calendar date to "incoming" String. It is the red/gray wire (same for 8 and 10 letters display). Right now I have connected this pin directly to VCC. In my car I would connect it to ... I dont know how that wire is called - not the positive pole from the battery but the one from the dynamo. Or should this be managed from the Arduino, too?
10  Using Arduino / Displays / Re: Opel TID Display on: April 26, 2013, 03:46:21 pm
I don't feel offended. I am indeed familiar with electronics, what I dont know for sure are the english terms since I am not a native speaker. If you want a circuit diagram, I can provide one.

Yes I am using a so called Multimeter. But I have to disappoint you, it doesn't matter if with or without, the Blink Sketch starts only with 15V=. Or if I am connecting the USB cable to the 5V recharger of my mobile phone. Setting the power supply to 5V= and connecting it to the special "5V" pin for stabilized input, the sketch isn't starting either.
11  Using Arduino / Displays / Re: Opel TID Display on: April 26, 2013, 03:15:57 pm
I am using an adjustable power supply that provides 0-16V= at 500mA. I have placed a measuring device inbetween while powering my Arduino for viewing the current under load. When the current exceeds 15V, the Blink Sketch starts to blink the LED.
12  Using Arduino / Displays / Re: Opel TID Display on: April 26, 2013, 02:37:27 pm
Thanks for the response. I've corrected the line, but still nothing happend.

Meanwhile I have loaded the Blink Sketch and evaluated the power supply. 12V= to VIN causes RX TX to light, L doesnt blink. When I increase the current to 15V=, L starts to blink. I don't understand this behaviour, since VIN is specified to 6-12V.
I am not sure, how to power the Arduino in the car. When the battery is not charged I have 14,5V and 13,8V when charged. How can I get 15V in the car? Or other suggestions? Or is my Arduino kind of buggy?

BTW: the TID in my Corsa is the same like in the Astra G, dandymon has shown a picture of it.
13  Using Arduino / Displays / Re: Opel TID Display on: April 24, 2013, 04:02:04 pm
Hi there,

I bought myself an Arduino Nano for displaying the current speed in my Corsa C with 10 letters display.
At first I simply extended the .ino file from the first page. But nothing happend. Then I tried the lib from dandymon by running the example. But still nothing is happening. Im using this code:

Code:
#include <TID.h>
//Created by Daniel Crane
TID mydisplay(3,4,5);//SDA, SCL, MRQ

void setup()
{
  pinMode(13,OUTPUT);
}

void loop()
{
    mydisplay.display_message("SCROLLING MONKEY5!",500);
    digitalWrite(13,HIGH);
    delay(500);
    digitalWrite(13,LOW);
    delay(1000);
 
}
I've connected SDA to D3, SCL to D4 and MRQ to D5. But even the LED L on the board doesnt light. When uploading the basic blinking sketch from Arduino examples, the LED starts to blink right after uploading.

I've experienced another problem. When connecting a 12V= powersource to VIN, the LEDs RX and TX start to light, but even the blinking sketch doesn't start to blink LED L. Only if I connect 5V= via USB from a power supply for mobile phones, L starts to blink.

Im using Arduino 3.0 and Im new to Arduino, but Im very experienced writing C-code. Im not too familiar with C++.
Pages: [1]