Вы находитесь на странице: 1из 10

N) PRO (//WWW.ARDUINO.

CC/PRO) RESOURCES COMMUNITY HELP SIGN IN

Arduino Forum (https://forum.arduino.cc/index.php) > Using Arduino (https://forum.arduino.cc/index.php#c2)

> Displays (https://forum.arduino.cc/index.php?board=7.0)

> Opel TID Display (https://forum.arduino.cc/index.php?topic=78634.0)

Go Down
PRINT (HTTPS://FORUM.ARDUINO.CC/INDEX.PHP?ACTION=PRINTPAGE;TOPIC=78634.0)

Pages: [1] 2 (https://forum.arduino.cc/index.php?topic=78634.15) 3 (https://forum.arduino.cc/index.php?topic=78634.30) ... 10


(https://forum.arduino.cc/index.php?topic=78634.135) (https://forum.arduino.cc/index.php?topic=78634.15)

Topic: Opel TID Display (Read 100033 times)


v_next=Prev#New) - Next Topic (Https://Forum.Arduino.Cc/Index.Php?Topic=78634.0;Prev_next=Next#New)

tuccer Opel TID Display (https://forum.arduino.cc/index.php?topic=78634.msg593602#msg593602)


(https://forum.arduino Nov 11, 2011, 09:50 am (https://forum.arduino.cc/index.php?topic=78634.msg593602#msg593602)
.cc/index.php?
action=profile;u=57133 Hi
) I have a Triple Info Display (TID) in my Opel. I want to send data to the screen via
Arduino. I find all the info about how to send the stuff but i dont know how to write
the libary for the display.
The infos are here: http://www.carluccio.de/index.php/Opel_TID
(http://www.carluccio.de/index.php/Opel_TID) in German.
(https://forum.arduino.c
The second part is the circuit, i find also a sample circuit but it is not Arduino based.
c/index.php?
http://www.rolandgruber.de/OpelTID_e.htm
action=profile;u=57133) (http://www.rolandgruber.de/OpelTID_e.htm)
I think the transistors can work with the arduino but i have to connect one PNP and
Newbie one NPN to each other for controlling the SDA, SCL and MRQ lines. Is it right?
Posts: 13 I hope somebody can help me.
Karma: 4  [add] Thanks in advance.
(https://forum.arduino.c
tuccer
c/index.php?
action=karma;sa=applau
d;uid=57133;bb4458e=6b
a4478e88ae3ec8916a702
4dd46d5dc)

tuccer Re: Opel TID Display (https://forum.arduino.cc/index.php?topic=78634.msg597462#msg597462)


(https://forum.arduino Nov 15, 2011, 06:02 pm (https://forum.arduino.cc/index.php?topic=78634.msg597462#msg597462) #1
.cc/index.php?
action=profile;u=57133 Well, finaly i find a code, but there some expressions that i dont know. Can somebody
) explain for me?? (I'm very newbe in the Programming). The most important is that i
want to know is which pin  the MRQ, SDA, SCL. What are the PortC and PortB, PINB,
PINC,.. etc, and the unit8_get stuff.
/
Thanks
N) P R O ( / / W W W . A R D UHere
I N O is
. Cthe
C / code:
PRO) RESOURCES COMMUNITY HELP SIGN IN

(https://forum.arduino.c /****************************************************************/
/*                                                              */
c/index.php?
/*              Opel Astra G TID Ansteuerung                    */
action=profile;u=57133) /*                     I2C-Protokol                             */
/*                                                              */
Newbie /****************************************************************/
Posts: 13
Karma: 4  [add] #include <Wire.h>
(https://forum.arduino.c #define TID 0x9B
#define _SCL  5
c/index.php?
//#define _SCL_in    1
action=karma;sa=applau
#define _MRQ  4
d;uid=57133;bb4458e=6b //#define _MRQ_in    3
a4478e88ae3ec8916a702 #define  _SDA  4
4dd46d5dc) //#define _SDA_in    5
#define PIN

void setup()
{
  SDA_high();
  SCL_high();
  MRQ_high();

void loop()
{
  MRQ_low();
  SDA_low();
  while(get_SDA());        //warte bis SDA low
  delay(50);
  MRQ_high();
  while(!get_SDA());        //warte bis SDA high
  delay(50);
  SDA_low();
  delay(50);
  SCL_low();
  delay(50);
   Wire.begin();
   Wire.beginTransmission(TID);
   MRQ_low();
   Wire.send(0x01); // Schalte Symbole aus
   Wire.send(0x01); // Schalte Symbole aus
   Wire.send(0x01); // Schalte Symbole aus
   Wire.send(0x85);// B
   Wire.send(0x8A);// E
   Wire.send(0xA4);// R
   Wire.send(0x8F);// G
   Wire.send(0x83);// A
   Wire.send(0x9B);// M
/
   Wire.send(0x83);// A
N) P R O ( / / W W W . A R D U I Wire.send(0xA7);//
NO.CC/PRO) RS E S O U R C E S COMMUNITY HELP SIGN IN
   Wire.send(0x86);// C
   Wire.send(0x9E);// O
   delay(50);
   MRQ_high();
   Wire.endTransmission();
   SDA_high();
   SCL_high();
   MRQ_high();
   delay(1000);
}

void MRQ_high(void)
{
  PORTB &= ~(1<<_MRQ  );
}

void MRQ_low(void)
{
  PORTB |= (1<<_MRQ);
}

void SCL_high(void){
  PORTC &= ~(1<<_SCL);
}

void SCL_low(void)
{
  PORTC |= (1<<_SCL);
}

void SDA_high(void)
{
  PORTC &= ~(1<<_SDA);
}

void SDA_low(void)
{
  PORTC |= (1<<_SDA);
}

uint8_t get_MRQ(void)
{
  return (PINB & (1<< _MRQ));
}

uint8_t get_SCL(void)
{
  return (PINC & (1<< _SCL));
}

/
uint8_t get_SDA(void)
N) P R O ( / / W W W . A R D U{I N O . C C / P R O ) RESOURCES COMMUNITY HELP SIGN IN
  return (PINC & (1<< _SDA));
}

tomasi Re: Opel TID Display (https://forum.arduino.cc/index.php?topic=78634.msg597658#msg597658)


Nov 15, 2011, 09:07 pm (https://forum.arduino.cc/index.php?topic=78634.msg597658#msg597658) #2
Guest

Hi tuccer. Im new into programming. As i could notice , portA and stuff are related to
arduino port manipulation. Check this:
http://www.arduino.cc/en/Reference/PortManipulation

tuccer Re: Opel TID Display (https://forum.arduino.cc/index.php?topic=78634.msg597752#msg597752)


(https://forum.arduino Nov 15, 2011, 10:41 pm (https://forum.arduino.cc/index.php?topic=78634.msg597752#msg597752) #3
.cc/index.php?
action=profile;u=57133 Thanks, I will read the port manipulation, maybe i can better understand the code.
)
Thanks again.

(https://forum.arduino.c
c/index.php?
action=profile;u=57133)

Newbie
Posts: 13
Karma: 4  [add]
(https://forum.arduino.c
c/index.php?
action=karma;sa=applau
d;uid=57133;bb4458e=6b
a4478e88ae3ec8916a702
4dd46d5dc)

bill2009 Re: Opel TID Display (https://forum.arduino.cc/index.php?topic=78634.msg599071#msg599071)


(https://forum.arduino Nov 17, 2011, 03:47 pm (https://forum.arduino.cc/index.php?topic=78634.msg599071#msg599071) #4
.cc/index.php?
action=profile;u=5457) The wire library is used for I2C serial communications - have a look at this
documentation which explains SDA etc
http://www.arduino.cc/en/Reference/Wire

the code
(https://forum.arduino.c
Code: [Select]
c/index.php?
action=profile;u=5457)
#define _MRQ 4
.....and... /
Edison Member void MRQ_high(void)
N) P R O ( / / W W W . A R D U I N{ O . C C / P R O ) RESOURCES COMMUNITY HELP SIGN IN
Posts: 1,021
PORTB &= ~(1<<_MRQ );
Karma: 30  [add]
}
(https://forum.arduino.c
c/index.php?
Is seting a  particular pin on avr port B to 0 (which is odd given that it's called
action=karma;sa=applau MRQ_high).  I believe that it is equivalent to Arduino digital pin 12.  See the port
d;uid=5457;bb4458e=6b manipulation ref'd earlier and http://arduino.cc/en/Hacking/Atmega168Hardware
a4478e88ae3ec8916a702
4dd46d5dc) We could puzzle our way through all this but  really, your best bet would be to poke
around where you found the code and see if there's a connection diagram. 
Olduino - an arduino for the
first of us.
I'm interested in the project though.  Can you show us the display?  How will you get
access to it?

tuccer Re: Opel TID Display (https://forum.arduino.cc/index.php?topic=78634.msg599944#msg599944)


(https://forum.arduino Nov 18, 2011, 03:14 pm (https://forum.arduino.cc/index.php?topic=78634.msg599944#msg599944) #5
.cc/index.php?
action=profile;u=57133 Thanx for your help!
) So the TID ( Triple Info Display) display is a stock part in the Opel cars ( in my case the
Astra F) and its made for the stock radio to show the radio data and the time with the
temperature. The radio has no built in display and its connected with some wire to the
TID. Because i don't have the original radio, and i want to use the screen. 
The screen :
(https://forum.arduino.c
c/index.php?
It is the Corsa TID but mine is the same.
action=profile;u=57133) The problem is that this communication is not clean I2C, because i have an MRQ pin
and it is must be use to start and stop the transmit. If  you see my links the german will
Newbie explain the complete protocol. 
Posts: 13
Karma: 4  [add] I find some BASCOM codes but i totally don't know the Bascom Basic.
(https://forum.arduino.c
And of curse where i find the code there was no wireing diagrams or any explanations.
c/index.php?
So lets play puzzle or rewrite the code in arduino language. I test the code with the
action=karma;sa=applau Arduino IDE and i's can complie so it is can be use with the arduino.
d;uid=57133;bb4458e=6b
a4478e88ae3ec8916a702 -thanks in advance and sorry for my english, i am a Hungarian guy.
4dd46d5dc)

Budd Re: Opel TID Display (https://forum.arduino.cc/index.php?topic=78634.msg741833#msg741833)


Mar 29, 2012, 03:37 pm (https://forum.arduino.cc/index.php?topic=78634.msg741833#msg741833) #6
Guest

Hey Tuccer, Have you already succeeded in connecting the TID? And where did you find
the code? Maybe there is a newer improved version?

bobale Re: Opel TID Display (https://forum.arduino.cc/index.php?


topic=78634.msg1042008#msg1042008)
Guest #7
Dec 23, 2012, 04:38 am (https://forum.arduino.cc/index.php?topic=78634.msg1042008#msg1042008) Last
Edit: Dec 23, 2012, 05:18 am by bobale Reason: 1
/
Has anyone had any success interfacing Arduino with Opel TID display? I've found
N) PRO (//WWW.ARDUINO.CC/PRO) RESOURCES COMMUNITY HELP SIGN IN
many, many codes in different programming languages, but I'm not advanced enough
to translate them into code which will work with Arduino.

I know that asking someone to translate code would be too much to ask, but is there
any way someone could help a little here? As the code is too long to share in one post,
here is the complete code http://codetidy.com/4239/. A chunk of code is dedicated for
voltage measurement and display, and I'm not interested in it, so I don't need that.

Mostly, I'm confused about these initializations:

Code: [Select]

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF

Do I need any of these initializations for this code to work in Arduino?

Edit:
I've found Arduino code that looks like it shoud work, but as my Arduino hasn't yet
arrived, I have no way of checking it:

Code: [Select]

#include <Wire.h>
void setup() {
pinMode(2, OUTPUT);
Wire.begin();

digitalWrite(2, LOW);
delay(200);
digitalWrite(2, HIGH);
delay(200);
Wire.beginTransmission(0x94);

It seems that this code follows procedure for sending text to the LCD:
1:Idle state all lines are high.
2:Pull MRQ low for a short period and let it go high again.
3:Send a "I2C Start"
4:Send the address byte, 0x94
5:Pull MRQ low.
6:Send 13 data bytes. (The 8 character display uses 10 databytes)
7:Let MRQ go high
8:Send "I2C Stop"
/
N) P R O ( / / W W W . A R D UWhat
I N O .do
C Cyou
/ P Rguys
O ) think?
RESOURCES COMMUNITY HELP SIGN IN

MarkT Re: Opel TID Display (https://forum.arduino.cc/index.php?


(https://forum.arduino topic=78634.msg1042727#msg1042727)
Dec 23, 2012, 10:10 pm (https://forum.arduino.cc/index.php?topic=78634.msg1042727#msg1042727) #8
.cc/index.php?
action=profile;u=2027
6) Quote

❝I think the transistors can work with the arduino but i have to connect one PNP and one NPN to
each other for controlling the SDA, SCL and MRQ lines. Is it right?
(https://forum.arduino.c
c/index.php?
action=profile;u=20276)
No, I2C is an open-collector bus, PNP pull-up transistors would stop it working.
Brattain Member
Posts: 33,861 Quote
Karma: 1733  [add]
(https://forum.arduino.c ❝Do I need any of these initializations for this code to work in Arduino?
c/index.php?
action=karma;sa=applau
d;uid=20276;bb4458e=6 No, the Arduino software does its own initialization.
ba4478e88ae3ec8916a70
24dd46d5dc) The code you found is assuming particular pins for each of the three pins, namely:
MRQ  - pin 12   (port B, bit 4)
Arduino rocks
SCL - pin A5   (standard hardware SCL pin, port C bit 5)
SDA - pin A4  (standard hardware SDA pin, port C bit 4).

To pull MRQ low for instance the MRQ_low() routine sets pin 12 to HIGH, since pin 12
turns on the NPN transistor
(the collector of which thus pulls MRQ low).

[ all port/pin numbers apply to Uno (ATmega328 chip) ]

[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

bobale Re: Opel TID Display (https://forum.arduino.cc/index.php?


topic=78634.msg1042733#msg1042733)
Guest #9
Dec 23, 2012, 10:13 pm (https://forum.arduino.cc/index.php?topic=78634.msg1042733#msg1042733)

I'll check everyting once my Arduino arrives, and then I'll report back here.

Giovanni83 Re: Opel TID Display (https://forum.arduino.cc/index.php?


(https://forum.arduino topic=78634.msg1050403#msg1050403)
Dec 30, 2012, 05:05 pm (https://forum.arduino.cc/index.php?topic=78634.msg1050403#msg1050403) #10
.cc/index.php?
/
action=profile;u=16088
Hello everyone, newbie here.
N ) 5) P R O ( / / W W W . A R D U I N O . C C / P R O ) RESOURCES COMMUNITY HELP SIGN IN

After three days of headache and frustration (great way to spend the holidays )i
came up with some working arduino code to drive my TID

(https://forum.arduino.c mind you, i can't write a proper library of functions because... i don't know how 
c/index.php?
action=profile;u=160885) so here it is an arduino project that just writes the letter G on the third position of a 8
letters display, needs additional work to make it actually useful, but it's a good start i
Newbie think.

Posts: 36
Karma: 1  [add]
(https://forum.arduino.c https://www.box.com/s/be3ia25iven1ygk3rwzn
c/index.php? (https://www.box.com/s/be3ia25iven1ygk3rwzn)
action=karma;sa=applau
d;uid=160885;bb4458e=
6ba4478e88ae3ec8916a7
024dd46d5dc)

bobale Re: Opel TID Display (https://forum.arduino.cc/index.php?


topic=78634.msg1050414#msg1050414)
Guest #11
Dec 30, 2012, 05:13 pm (https://forum.arduino.cc/index.php?topic=78634.msg1050414#msg1050414)

Hats off to you. But I can see you haven't used Arduino's I2C lib. Now, I have a question
about parity: is that a part of standard I2C protocol? I mean, can I just ditch those lines
of code and use Wire library? I have to ask because I can't try this as my Arduino hasn't
arrived yet.

Giovanni83 Re: Opel TID Display (https://forum.arduino.cc/index.php?


(https://forum.arduino topic=78634.msg1050454#msg1050454) #12
.cc/index.php? Dec 30, 2012, 05:53 pm (https://forum.arduino.cc/index.php?topic=78634.msg1050454#msg1050454)
action=profile;u=16088
5) I have tried arduino wire library as well as two other i2c libraries (one being the base
upon i created the sketch above), but none of those worked for this display, so i think
parity is not part of the i2c protocol

(https://forum.arduino.c
c/index.php?
action=profile;u=160885)

Newbie
Posts: 36
Karma: 1  [add]
(https://forum.arduino.c
c/index.php?
action=karma;sa=applau
d;uid=160885;bb4458e=

/
6ba4478e88ae3ec8916a7
N) PRO (//WWW.ARDUINO.CC/PRO) RESOURCES COMMUNITY HELP SIGN IN
024dd46d5dc)

bobale Re: Opel TID Display (https://forum.arduino.cc/index.php?


topic=78634.msg1050472#msg1050472)
Guest #13
Dec 30, 2012, 06:05 pm (https://forum.arduino.cc/index.php?topic=78634.msg1050472#msg1050472)

I was really hoping we could use Wire library, it would be so much simpler. Well, never
mind, I'll at least learn how to make libraries, if someone doesn't do that before me.

Giovanni83 Re: Opel TID Display (https://forum.arduino.cc/index.php?topic=78634.msg1051647#msg1051647)


(https://forum.arduino Dec 31, 2012, 04:21 pm (https://forum.arduino.cc/index.php?topic=78634.msg1051647#msg1051647) Last Edit: #14
.cc/index.php? Dec 31, 2012, 04:24 pm by Giovanni83 Reason: 1
action=profile;u=16088
5) uhm, making a library out of it wasn't as hard as i thought, so here it is:

Opel TID arduino library 1.0 (https://www.box.com/s/ejpz8fd0ngwetid4g5s3)

the public functions are slightly smarter than the basic one i wrote yesterday, so now
(https://forum.arduino.c
you can write directly a message, and if it's longer than 8 chars it will roll, and you can
c/index.php?
selectively toggle every symbol, clear only the text/symbols  while leaving the other
action=profile;u=160885) untouched

Newbie
Posts: 36
Karma: 1  [add]
(https://forum.arduino.c
c/index.php?
action=karma;sa=applau
d;uid=160885;bb4458e=
6ba4478e88ae3ec8916a7
024dd46d5dc)

Go Up
PRINT (HTTPS://FORUM.ARDUINO.CC/INDEX.PHP?ACTION=PRINTPAGE;TOPIC=78634.0)

Pages: [1] 2 (https://forum.arduino.cc/index.php?topic=78634.15) 3 (https://forum.arduino.cc/index.php?topic=78634.30) ... 10


(https://forum.arduino.cc/index.php?topic=78634.135) (https://forum.arduino.cc/index.php?topic=78634.15)
Jump to:
=> Displays   Go

/
N) PRO (//WWW.ARDUINO.CC/PRO) RESOURCES COMMUNITY HELP SIGN IN

NEWSLETTER

Enter your email to sign up SUBSCRIBE

Terms Of Service (//www.arduino.cc/en/Main/TermsOfService)


Privacy Policy (//www.arduino.cc/en/Main/PrivacyPolicy)

Contact Us (//www.arduino.cc/en/Main/ContactUs)
About Us (//www.arduino.cc/en/Main/AboutUs)
Distributors (//store.arduino.cc/distributors)
Careers (//careers.arduino.cc)
Security (//www.arduino.cc/en/Main/Security)
© 2020 Arduino (//www.arduino.cc/en/Main/CopyrightNotice)

(https://www.facebook.com/official.arduino)
(https://twitter.com/arduino)
(https://www.instagram.com/arduino.cc/)
(https://github.com/arduino/)
(https://www.flickr.com/photos/arduino_cc)
(https://www.youtube.com/user/arduinoteam)

Вам также может понравиться