Welcome to North American Motoring, the North American MINI Community of owners and enthusiasts!
You are currently viewing our boards as a guest which gives you limited access to view most discussions, articles and photo galleries. By joining our free community you will have access to post topics, communicate privately with other MINI enthusiasts (PM), respond to polls, upload your own photo gallery and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!
If you have any problems with the registration process or your account login, please contact our support team.
You are currently viewing our forum as a guest, which gives you limited access to view most discussions and access our other features. By joining our community, at no cost, you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is free, fast and simple, so please join our community today!
Hm...actually, for the Serial Input, the levels are supposed to be TTL, so when IBus is low, it should be 0-0.8V output to the Arduino, High should be close to +5V. I think then that transistor I was inverting with was unnecessary? Is the IBus -12 when low + 12 when high? Or is it 0 low, +12 high? If so, a simple resistor in the latter case to drop the voltage to +5V will work, not sure what it should be in the former case.
The IBus is 12V if there is no traffic and pulled low (0V) when transmitting. So you need to invert it and make it 0-5V. I did this with a transistor using the 5V out of the Arduino. This is the result for the volume down button:
Quote:
I think you are saying that on the I-Bus, the idle state is high and the transition from high/+12V to low indicates the start bit and the rest of the bits are sent Low=0V, High=+12V? If this is correct, then I would have to write a custom software serial driver and not be able to use the UART built into the dedicated serial ports. DOH!!!
I couldn’t get the Arduino serial input reading the signal from pin 9 of the (Reslers module) Max232 as you described in one of your first posts. For this reason I read all the codes from the steering wheel buttons (in us) and wrote some code for the Arduino to recognize them. This works fine except when there is a lot of traffic on the IBus. During driving, one out of ten times you have to press a button twice. For this reason I will give it another try to get the serial communication working. Can you post a picture how you did this?
Nevertheless, the first version is installed and running