Renault stuurwielbediening -> JVC radio

Pagina: 1
Acties:

Acties:
  • +15 Henk 'm!

  • real[B]art
  • Registratie: Februari 2000
  • Laatst online: 10-05 10:48

real[B]art

CTRL+ALT+D1337

Topicstarter
Na een paar dagen knutselen heb ik de originele Renault stuurwielbediening van mijn Twingo werkend gekregen op mijn JVC radio (8>

Een filmpje van het werkende geheel:


Voor wie dit ook wil doen, hier is een booschappenlijstje:
  • Arduino Nano (ik heb een goedkope kloon uit China besteld)
  • Voeding om de Nano van 5V te voorzien (bijvoorbeeld deze)
  • Een weerstandje van 1k
  • Een optocoupler (ik heb de 4N25 gebruikt)
  • Een zekering (ik heb een 250mA gebruikt omdat ik die nog had liggen, een lagere waarde kan ook prima)
  • Een experimenteerprintje om alles netjes op te solderen
  • Een behuizing, draadjes, pin headers, krimpkous, etc.
De code voor de Arduino is te vinden op pastebin, ruim voorzien van commentaar over hoe alles werkt (in het Engels, maar als er vragen zijn kan ik die hier uiteraard in het Nederlands beantwoorden).

De 6 draden van de Renault stuurwielbediening worden aan pin 2 t/m 7 van de Arduino gesoldeerd. Pin 8 van de Arduino stuurt via de 1k weerstand de optocoupler aan. Aan de andere kant van de optocoupler zijn de blauw/gele 'steering wheel remote' draad van de radio en een massadraad verbonden.
Het geheel krijgt voeding vanuit de blauw/witte 'remote' draad van de radio, zodat de Arduino alleen aan staat als de radio ook aan is. Uiteraard is deze voeding voorzien van een zekering.

Ik heb besloten dit hier te posten in de hoop dat anderen er ook wat aan hebben :)



Edit 2017-12-18: op veler verzoek heb ik een schema toegevoegd (klikbaar voor hogere resolutie):
Afbeeldingslocatie: https://i.imgur.com/vg5zvh5l.png

[ Voor 4% gewijzigd door real[B]art op 18-12-2017 23:28 ]

"The general rule on about people on IRC seems to be "Attractive, single, mentally stable: choose two"


Acties:
  • 0 Henk 'm!

  • masaman
  • Registratie: Februari 2001
  • Niet online
Gaaf gedaan en mooi gedocumenteerde code.
Hoe ben je achter het protocol gekomen dat je radio gebruikt en dat je remote verzendt.

Acties:
  • +1 Henk 'm!

  • real[B]art
  • Registratie: Februari 2000
  • Laatst online: 10-05 10:48

real[B]art

CTRL+ALT+D1337

Topicstarter
Heb het meeste van de info alsook een groot deel van de code gevonden op https://www.avforums.com/...-stalk-adapter-diy.248455. Op basis van die code heb ik ook de werking van de Renault stuurwielbediening uit kunnen vogelen (copy+pasta is een goed begin, maar ik heb de onweerstaanbare dwang om te willen begrijpen hoe alles werkt ;))

Voor het JVC protocol behalve genoemde forum her en der nog wat meer websites en documentatie kunnen vinden, dingen naast elkaar gelegd en vergeleken etc. Daarna natuurlijk alle mogelijke code's naar mijn radio gestuurd en noteren wat er gebeurde :P

De oorspronkelijke code was nauwelijks gedocumenteerd, er zat een bug in en de timing klopte nét niet. Goed genoeg om te werken, maar wel net ver genoeg ernaast dat het display van de radio er vreemd van ging flikkeren. Heb toen dezelfde timing geprobeerd als een JVC IR afstansbediening (527 us ipv 537 us) en dat werkte perfect. Daarna nog wat finetuning, commando's werden soms niet geregistreerd door de radio, maar door het sturen van een header + start bit gevolgd door 3x adres, commando, stop bits werkte het altijd perfect, zonder onbedoelde herhalingen.

[ Voor 4% gewijzigd door real[B]art op 15-01-2016 21:50 ]

"The general rule on about people on IRC seems to be "Attractive, single, mentally stable: choose two"


Acties:
  • 0 Henk 'm!

  • masaman
  • Registratie: Februari 2001
  • Niet online
Knap dat je het voor elkaar gekregen hebt. Daar is doorzettingsvermogen en veel trial en error voor nodig. 👍👍

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Nu online
Interessant! Voor een Peugeot stuurwielbediening > Alpine autoradio heb ik destijds een 'Connects2' kastje gekocht, maar zelf bouwen is natuurlijk een stuk leuker!

Even een mirror van de code, heb al vaker gezien dat een Pastebin linkje ofzo ineens niet meer werkt :P
(Waarom ondersteunt Tweakers nog geen code-blocks die default ingeklapt zijn }:| ?)
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
// ############################################################################################################
// #  This code is meant to interface a 6-wire Renault Twingo / Clio steering wheel remote control with       #
// #  a JVC car radio equipped with a 'steering wheel remote input'. Hardware used is an Arduino Nano-clone.  #
// ############################################################################################################
// 
// The steering wheel remote connection on the radio (blue/yellow wire or Tip in case of a TS connector)
//   is connected to a pull-up resistor in the radio circuitry.
//   Data is sent in the form of pulse interval modulation, meaning the interval following a pulse determines if we're sending a 0 or a 1.
//   Pulses are sent by pulling the radio's input to ground.
//   I'm driving an optocoupler to pull the radio's input to ground, so a HIGH Arduino output makes for a LOW radio input (= a pulse).
//   Whenever I refer to HIGH or LOW, I'm talking about the Arduino output.
// Protocol specifications:
//   Pulse width                    527.5 µs
//   Pulse interval for sending 0  1055.0 µs (HIGH for 1 pulse width, LOW for 1 pulse width)
//   Pulse interval for sending 1  2110.0 µs (HIGH for 1 pulse width, LOW for 3 pulse widths)
//   Note: since the delayMicroseconds() function accepts only unsigned integers, we're using a pulse width of 527 µs
// Data packets are constructed as follows:
//   HEADER     always LOW (1 pulse width), HIGH (16 pulse widths), LOW (8 pulse widths)
//   START BIT  always 1
//   ADDRESS    7-bits (0x00 to 0x7F), send LSB first, always 0x47 for JVC KD-R531, probably the same for all JVC car radio's
//   COMMAND    7-bits (0x00 to 0x7F), send LSB first, see next section for list of known commands for JVC KD-R531
//   STOP BITS  always 1, 1
//   Note: the ADDRESS, COMMAND and STOP BITS are repeated 3 times to ensure the radio properly receives them.
// Known commands for JVC KD-R531:
//   HEX   DEC  BIN(7b)  FUNCTION
//   0x04    4  0000100  Volume +
//   0x05    5  0000101  Volume -
//   0x08    8  0001000  Source cycle
//   0x0D   13  0001101  Equalizer preset cycle
//   0x0E   14  0001110  Mute toggle / Play/pause toggle
//   0x12   18  0010010  Tuner Search + / Track + (and Manual Tune + / Fast Forward with press & hold)
//   0x13   19  0010011  Tuner Search - / Track - (and Manual Tune - / Fast Rewind with press & hold)
//   0x14   20  0010100  Tuner Preset + / USB Folder +
//   0x15   21  0010101  Tuner Preset - / USB Folder -
//   0x37   55  0110111  UNKNOWN, appears to be a sort of reset as well as a display test
//   0x58   88  1011000  UNKNOWN, displays 'SN WRITING' where WRITING is blinking

// Define commands
#define VOLUP       0x04
#define VOLDOWN     0x05
#define SOURCE      0x08
#define EQUALIZER   0x0D
#define MUTE        0x0E
#define TRACKFORW   0x12
#define TRACKBACK   0x13
#define FOLDERFORW  0x14
#define FOLDERBACK  0x15
#define UNKNOWN1    0x37
#define UNKNOWN2    0x58

// Renault Twingo / Clio steering wheel remote wire functions
// pin_cycle_current  1     0              2
//         OUTPUTS    BLUE  GREEN          YELLOW
// INPUTS  PIN#       3     5              6
// BLACK   2          MUTE  TOP RIGHT BTN  TOP LEFT BTN
// RED     4          VOL+  BOTTOM BTN     VOL-
//                    HIGH  HIGH           LOW    SCROLL UP (CCW)
// BROWN   7          HIGH  LOW            HIGH  SCROLLWHEEL
//                    LOW   HIGH           HIGH   SCROLL DN (CW)
// Outputs are set LOW one at a time (the other outputs will be HIGH). Inputs (with internal pull-up) are then evaluated.
//   If an input is being pulled LOW this means a button is being pressed. Taking into account which output is currently LOW
//   we know which button this is. For example, is output pin 3 (Blue wire) is currently LOW and we also read LOW on
//   input pin 2 (Black) we know the MUTE button is being pressed.
// For the scrollwheel we must take into account its last known position in order to determine if there has been a change.
// We can determine the direction based on which pins are being pulled LOW.

// Connect Renault Twingo / Clio steering wheel remote wires to these pins
#define BLACKPIN    2 // D2
#define BLUEPIN     3 // D3
#define REDPIN      4 // D4
#define GREENPIN    5 // D5
#define YELLOWPIN   6 // D6
#define BROWNPIN    7 // D7

// Connect optocoupler input through a 1k resistor to this pin
#define OUTPUTPIN   8 // D8

// On-board LED, useful for debugging
#define LEDPIN     13 // D13

// Pulse width in µs
#define PULSEWIDTH 527

// Address that the radio responds to
#define ADDRESS 0x47

// Set number of output pins and put those pins in an array to cycle through when polling the input pins
#define OUT_PINS 3
unsigned char out_pins[OUT_PINS] = {GREENPIN, BLUEPIN, YELLOWPIN};

void setup() {
  pinMode(OUTPUTPIN, OUTPUT);    // Set the proper pin as output
  digitalWrite(OUTPUTPIN, LOW);  // Output LOW to make sure optocoupler is off

  // Set the pins connected to the steering wheel remote as input / output
  pinMode(BLACKPIN, INPUT_PULLUP);
  pinMode(BLUEPIN, OUTPUT);
  pinMode(REDPIN, INPUT_PULLUP);
  pinMode(GREENPIN, OUTPUT);
  pinMode(YELLOWPIN, OUTPUT);
  pinMode(BROWNPIN, INPUT_PULLUP);

  pinMode(LEDPIN, OUTPUT);                  // Set pin connected to on-board LED as output...
  digitalWrite(LEDPIN, LOW);                // ...and turn LED off
  for (unsigned char i = 0; i <= 7; i++) {  // Flash on-board LED a few times so it's easy to see when the Arduino is ready
    delay(100);
    digitalWrite(LEDPIN, !digitalRead(LEDPIN));
  }
  delay(100);
  digitalWrite(LEDPIN, LOW);                // Make sure LED ends up being off
}

// The steering wheel remote has 6 buttons and a scrollwheel, interfaced via 6 wires.
// This function will cycle through the output pins, setting one pin LOW at a time.
// It will then poll the input pins to see which input pins - if any - are pulled LOW.
unsigned char GetInput(void) {
  static unsigned char pin_cycle_current = 0;  // To keep track of which output pin is currently LOW
  static unsigned char pin_cycle_stored;       // To store the last known scrollwheel position
  static boolean first_run = true;             // After booting, there is no known last position for the scrollwheel
                                               // So on the first poll of the scrollwheel just store the current position and don't send a command
  unsigned char i;

  if (++pin_cycle_current > (OUT_PINS - 1)) pin_cycle_current = 0;     // Reset pin_cycle_current counter after last pin

  for (i = 0; i < OUT_PINS; i++) {                                     // Cycle through the output pins, setting one of them LOW and the rest HIGH
    if (i == pin_cycle_current)
      digitalWrite(out_pins[i], LOW);
    else
      digitalWrite(out_pins[i], HIGH);
  }

  if (!digitalRead(BROWNPIN)) {                                        // We're only interested if this pin is being pulled LOW
    if (pin_cycle_current != pin_cycle_stored) {                       // If the output that's currently LOW is different from the one that was LOW the last time
                                                                       //   we came through here, then the scrollwheel has changed position
      signed char scrollwheel_current = pin_cycle_current - pin_cycle_stored; // Result of this calculation can range from -2 to 2
      pin_cycle_stored = pin_cycle_current;                            // Store which output pin is currently LOW
      if (first_run) {                                                 // If this is the first run, don't send a command
        first_run = false;                                             //   (since there was no previously known scrollwheel position)
        return 0;
      }
      if ((scrollwheel_current == 1) || (scrollwheel_current == -2)) { // If above calculation resulted in 1 or -2 the scrollwheel was rotated up (ccw)
        return FOLDERBACK;
      }else {                                                          // If above calculation resulted in anything else the scrollwheel was rotated down (cw)
        return FOLDERFORW;
      }
    }
  }

  if (!digitalRead(REDPIN)) {   // We're only interested if this pin is being pulled LOW
    switch(pin_cycle_current) {
    case 0:                     // RED (input) is LOW while GREEN (output) is LOW: bottom button pressed
      return SOURCE;
    case 1:                     // RED (input) is LOW while BLUE (output) is LOW: volume + button pressed
      return VOLUP;
    case 2:                     // RED (input) is LOW while YELLOW (output) is LOW: volume - button pressed
      return VOLDOWN;
    }
  }

  if (!digitalRead(BLACKPIN)) { // We're only interested if this pin is being pulled LOW
    switch(pin_cycle_current) {
    case 0:                     // BLACK (input) is LOW while GREEN (output) is LOW: top right button is pressed
      return TRACKFORW;
    case 1:                     // BLACK (input) is LOW while BLUE (output) is LOW: mute button is pressed
      return MUTE;
    case 2:                     // BLACK (input) is LOW while YELLOW (output) is LOW: top left button is pressed
      return TRACKBACK;
    }
  }

  return 0;
}

void loop() {
  unsigned char Key = GetInput();  // If any buttons are being pressed the GetInput() function will return the appropriate command code

  if (Key) {  // If no buttons are being pressed the function will have returned 0 and no command will be sent
    SendCommand(Key);
  }
}

// Send a value (7 bits, LSB is sent first, value can be an address or command)
void SendValue(unsigned char value) {
  unsigned char i, tmp = 1;
  for (i = 0; i < sizeof(value) * 8 - 1; i++) {
    if (value & tmp)  // Do a bitwise AND on the value and tmp
      SendOne();
    else
      SendZero();
    tmp = tmp << 1; // Bitshift left by 1
  }
}

// Send a command to the radio, including the header, start bit, address and stop bits
void SendCommand(unsigned char value) {
  unsigned char i;
  Preamble();                         // Send signals to precede a command to the radio
  for (i = 0; i < 3; i++) {           // Repeat address, command and stop bits three times so radio will pick them up properly
    SendValue(ADDRESS);               // Send the address
    SendValue((unsigned char)value);  // Send the command
    Postamble();                      // Send signals to follow a command to the radio
  }
}

// Signals to transmit a '0' bit
void SendZero() {
  digitalWrite(OUTPUTPIN, HIGH);      // Output HIGH for 1 pulse width
  digitalWrite(LEDPIN, HIGH);         // Turn on on-board LED
  delayMicroseconds(PULSEWIDTH);
  digitalWrite(OUTPUTPIN, LOW);       // Output LOW for 1 pulse width
  digitalWrite(LEDPIN, LOW);          // Turn off on-board LED
  delayMicroseconds(PULSEWIDTH);
}

// Signals to transmit a '1' bit
void SendOne() {
  digitalWrite(OUTPUTPIN, HIGH);      // Output HIGH for 1 pulse width
  digitalWrite(LEDPIN, HIGH);         // Turn on on-board LED
  delayMicroseconds(PULSEWIDTH);
  digitalWrite(OUTPUTPIN, LOW);       // Output LOW for 3 pulse widths
  digitalWrite(LEDPIN, LOW);          // Turn off on-board LED
  delayMicroseconds(PULSEWIDTH * 3);
}

// Signals to precede a command to the radio
void Preamble() {
  // HEADER: always LOW (1 pulse width), HIGH (16 pulse widths), LOW (8 pulse widths)
  digitalWrite(OUTPUTPIN, LOW);       // Make sure output is LOW for 1 pulse width, so the header starts with a rising edge
  digitalWrite(LEDPIN, LOW);          // Turn off on-board LED
  delayMicroseconds(PULSEWIDTH * 1);
  digitalWrite(OUTPUTPIN, HIGH);      // Start of header, output HIGH for 16 pulse widths
  digitalWrite(LEDPIN, HIGH);         // Turn on on-board LED
  delayMicroseconds(PULSEWIDTH * 16);
  digitalWrite(OUTPUTPIN, LOW);       // Second part of header, output LOW 8 pulse widths
  digitalWrite(LEDPIN, LOW);          // Turn off on-board LED
  delayMicroseconds(PULSEWIDTH * 8);
  
  // START BIT: always 1
  SendOne();
}

// Signals to follow a command to the radio
void Postamble() {
  // STOP BITS: always 1
  SendOne();
  SendOne();
}

[ Voor 139% gewijzigd door ThinkPad op 21-01-2016 12:02 ]


Acties:
  • 0 Henk 'm!

  • ArnieNFW
  • Registratie: December 2000
  • Laatst online: 03-07 12:15
Mooi gedaan! Ik ben aan het kijken naar een DAB+ radio voor mn twingootje; ik moet dus voor een JVC gaan :) Zelf test ik op de arduino, maar programmeer daarna direct de microprocessor. Kan het dan mooi klein inbouwen. Mocht het gelukt zijn, dan zal ik n berichtje achterlaten. Thanx voor de code!

Acties:
  • 0 Henk 'm!

  • Ploink
  • Registratie: April 2002
  • Laatst online: 12-05 22:54
Leuk! d:)b
Ik loop al een tijdje met het idee om in onze twingo de stuurwielbediening aan te sluiten op een HID bluetooth module. Dit om de telefoon te besturen, voor de media functies, maar zo mogelijk ook de TomTom Go app en handsfree bellen/opnemen.

Als ik het goed begrijp is die stuurwielbediening dus gewoon een 3x3 keyboard multiplex schakeling?
Afbeeldingslocatie: http://ohbah.com/mods/chairkey/images/multiplex.png
Edit:
Ik zie dat je de bediening er helemaal af hebt gehaald, heb je nog tips om die te (de)monteren?

[ Voor 10% gewijzigd door Ploink op 10-10-2017 22:02 ]


Acties:
  • 0 Henk 'm!

  • perslucht
  • Registratie: Oktober 2007
  • Laatst online: 15:58
Hoi,

Hartelijk dank voor deze post!
Met het inbouwen van mijn Android radio in mijn Renault Megane loop ik tegen een hoop problemen met de stuurwielbediening aan. Jouw methode lijkt mij een mooie oplossing.

Kan jij aangeven welke draad met welke pin op de stekker van je stuurwielbediening correspondeerd? Ik heb opgezocht welke kleuren worden gebruikt bij de Clio II, maar die zijn anders dan die van de Twingo.
Mijn megane gebruikt namelijk een andere stekker en andere kleuren. Als ik weet welke kleuren bij welke pin horen kan ik opzoeken welke pins ik dan moet gebruiken bij mijn eigen auto.

Acties:
  • 0 Henk 'm!

  • necessaryevil
  • Registratie: September 2005
  • Laatst online: 19-06 06:34
Ik wil een mp3 speler in mijn Clio III, dus dat wordt een andere radio met mp3 of anderzijds een externe mp3 speler.

Wat ik me afvraag, die paar gekleurde draden die je noemt, gaan die normaal naar de C3 connectors op de (originele) radio of werkt dat bij de Twingo anders dan bij de Clio III? \

Ik bedoel dus deze connectors:
Afbeeldingslocatie: https://www.tehnomagazin.com/images/ISO-connector.jpg
bron: http://www.tehnomagazin.c...adio-Wiring-Connector.htm

Acties:
  • 0 Henk 'm!

  • Ploink
  • Registratie: April 2002
  • Laatst online: 12-05 22:54
necessaryevil schreef op maandag 12 maart 2018 @ 22:58:
Ik wil een mp3 speler in mijn Clio III, dus dat wordt een andere radio met mp3 of anderzijds een externe mp3 speler.

Wat ik me afvraag, die paar gekleurde draden die je noemt, gaan die normaal naar de C3 connectors op de (originele) radio of werkt dat bij de Twingo anders dan bij de Clio III? \

Ik bedoel dus deze connectors:
[afbeelding]
bron: http://www.tehnomagazin.c...adio-Wiring-Connector.htm
Dat is een ISO 10487 connector. De C connector is optioneel en de functie daarvan kan sterk afwijken tussen verschillende merken/typen auto.
Ik heb geen ervaring op dit gebied anders dan mijn eigen internet zoektocht, maar het ziet er naar uit dat een willekeurige auto radio niet gaat samenwerken met de Twingo stuurwiel controller, tenzij je deze op de een of andere manier flexibel kan configureren voor diverse auto's, maar geen idee of zulke radio's bestaan.
Ook vond ik ergens adapter modules die je kan toepassen als interface tussen de stuurwielcontroller en de radio, maar ben de details vergeten. Misschien stond dat op twingoclub.nl maar die is helaas ter ziele gegaan.

Connectors kun je kopen op aliexpress, bijvoorbeeld:
https://www.aliexpress.co...-Citroen/32661525957.html
https://www.aliexpress.co...A2-A3-A4/32500814883.html


Ik had al eens wat foto's gemaakt van onze originele Twingo I radio, model 22DC239/62R.
Die gele C1 connector is voor de controller, de blauwe C3 is voor de optionele CD wisselaar.
Een C2 zit er niet op, maar ik dacht dat de analoge AUX op de C3 zit bij onze Twingo 1 radio.

Hoe je hem verwijdert, vier pinnen insteken en dan uitwippen, of speciale verwijderbeugels bestellen:
Afbeeldingslocatie: https://i.imgur.com/22SsOowl.jpg
Afbeeldingslocatie: https://i.imgur.com/Q1YW8KW.jpg
Connector blok:
Afbeeldingslocatie: https://i.imgur.com/GFOcjVil.jpg
Afbeeldingslocatie: https://i.imgur.com/z1Q1FO5l.jpg
Connectors:
Afbeeldingslocatie: https://i.imgur.com/aqsmLo0l.jpg

Acties:
  • 0 Henk 'm!

  • necessaryevil
  • Registratie: September 2005
  • Laatst online: 19-06 06:34
Die stekkers heb ik al liggen, en de radio krijg ik er ook wel uit hoor :) . Ik verwacht overigens dat een auto van hetzelfde merk en dezelfde generatie (dat laaste weet ik dus niet) overeenkomstige interfaces aan boord heeft.

Ik heb inmiddels ontdekt dat ik eigenlijk iets anders wil. De topicstarter lijkt de stuurwielbediening direct te gebruiken. Ik wil 'm in de auto houden, in dat geval zit er nog een soort Routerachtig, CAN-busachtig ding tussen, de radio hangt niet direct aan de stuurwielbediening.


OJa, ik zoek nog wel de male tegenhanger van de C-connectoren.

Acties:
  • 0 Henk 'm!

  • real[B]art
  • Registratie: Februari 2000
  • Laatst online: 10-05 10:48

real[B]art

CTRL+ALT+D1337

Topicstarter
Kan zijn dat het bij jouw auto inderdaad anders zit.

Bij mij is het zoals Ploink postte, waarbij de stuurwielbediening direct aangesloten zat op connector C1 op de originele radio.

"The general rule on about people on IRC seems to be "Attractive, single, mentally stable: choose two"


Acties:
  • 0 Henk 'm!

Anoniem: 1167816

Hey, I need a little help. I bought everything I needed to control my JVC KD-R951BT radio, but it doesn't work. The arduino detects the signal from the steering wheel controls, (all except the roulette wheel). But my JVC doesn't do anything when I press any of the buttons on the steering wheel controls. :? :?

Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 17:32

SA007

Moderator Tweaking
@Anoniem: 1167816 This is a dutch forum, please post in dutch.
If you need help in english, please go to a different board.

Mocht je toch hierop verder willen gaan moet je eerst eens vertellen wat je zover geprobeerd hebt en waar je op vastloopt. alleen 'het werkt niet' kunnen we hier ook weinig mee.

Acties:
  • 0 Henk 'm!

Anoniem: 1167816

SA007 schreef op maandag 14 januari 2019 @ 18:30:
@Anoniem: 1167816 This is a dutch forum, please post in dutch.
If you need help in english, please go to a different board.

Mocht je toch hierop verder willen gaan moet je eerst eens vertellen wat je zover geprobeerd hebt en waar je op vastloopt. alleen 'het werkt niet' kunnen we hier ook weinig mee.
Hallo, ik heb de stappen van het forum gevolgd, ik heb gezien dat mijn Arduino de gegevens verzendt, ik heb hem gezien met de "serial" -functie en een led aangesloten op de testbit. Maar mijn radio ontvangt geen antwoord. Sorry om te zien geschreven in het Engels.

Acties:
  • 0 Henk 'm!

  • Marcelvgr
  • Registratie: Oktober 2019
  • Laatst online: 23-02-2021
goedendag
Ik weet dat ik op een onderwerp reageer wat 3 jaar oud is
Toch wil ik even wat vragen
Zelf ben ik niet bekend met programeren
Printplaatje in elkaar zetten is geen probleem
Maar hoe programmeer je nu zo iets?
Zou graag deze print voor mijn dochter dr twingo uit 2002 willen maken
Hoop dat er iemand mij dit wilt uitleggen
Alvast bedankt

Acties:
  • 0 Henk 'm!

  • jctjepkema
  • Registratie: Mei 2011
  • Laatst online: 02-07 10:34
Marcelvgr schreef op woensdag 9 oktober 2019 @ 12:51:
goedendag
Ik weet dat ik op een onderwerp reageer wat 3 jaar oud is
Toch wil ik even wat vragen
Zelf ben ik niet bekend met programeren
Printplaatje in elkaar zetten is geen probleem
Maar hoe programmeer je nu zo iets?
Zou graag deze print voor mijn dochter dr twingo uit 2002 willen maken
Hoop dat er iemand mij dit wilt uitleggen
Alvast bedankt
Hij gebruikt een Arduino Nano, een heel makkelijk te programmeren module, die doormiddel van een USB kabel en de Arduino IDE zo geprogrammeerd kan worden. Arduino Nano gemaakt van Chinesium kost ook nog eens heel erg weinig!

https://www.vanallesenmee...8-5V-16-MHz-met-USB-kabel
In Nederland

Aliexpress:
https://nl.aliexpress.com...01602_,searchweb201603_52

Probeer daar maar eerst Blink op aan de praat te krijgen, vervolgens goed deze forum post doorlezen.

Acties:
  • 0 Henk 'm!

  • Marcelvgr
  • Registratie: Oktober 2019
  • Laatst online: 23-02-2021
Dank je voor de reactie
Ik heb een nederlandse site gevonden die uitlegt hoe het werkt en een editor
Het enige wat ik nu niet kon zien opnfr tutorial was een duidelijke print van het gene wat ik moet maken
Was nogal wazig
Mocht jij het weten
Hoor ik het graag
Groet Marcel

Acties:
  • 0 Henk 'm!

  • oranje2307
  • Registratie: Augustus 2012
  • Laatst online: 03-07 22:57
Zoonlief heeft een Twingo (2008) gekocht, ik heb de spulletjes besteld, ga binnenkort aan de slag hiermee en denk maar zo: in het ergste geval houd ik een JVC autoradio over van ca 100,- :) maar het zou gaaf zijn als het gaat werken.

Acties:
  • +1 Henk 'm!

  • oranje2307
  • Registratie: Augustus 2012
  • Laatst online: 03-07 22:57
Nou, ik kan niet anders zeggen dat wat real[B]art heeft uitgevonden perfect werkt.
Nadat alle onderdelen binnen waren de boel gesoldeerd, gemonteerd, geprogrammeerd en samen met een JVC KD-X351BT in de Twngo II ingebouwd. Hoewel de kabelkleuren van de gele C1-stekker anders waren dan in het voorbeeld was het gewoon 1-op-1 de stekkertjes er in prikken en het werkt als een tierelier.
Beste real[B]art, veel dank voor het delen _/-\o_

Acties:
  • 0 Henk 'm!

  • real[B]art
  • Registratie: Februari 2000
  • Laatst online: 10-05 10:48

real[B]art

CTRL+ALT+D1337

Topicstarter
oranje2307 schreef op zondag 22 december 2019 @ 16:56:
Beste real[B]art, veel dank voor het delen _/-\o_
Graag gedaan, leuk dat er nog steeds belangstelling is voor dit topic.

Ik heb intussen een kleine modificatie gedaan, ik had een instelbare DC-DC converter gebruikt om van de auto's boordspanning 5 V te maken, maar van de zomer werkte de stuurwielbediening opeens niet meer atlijd. Dat bleek te komen door een te lage voedingsspanning voor de Arduino (warmte? trillingen?). Het volgende moment deed hij het dan weer perfect.

Ik heb de converter toen op de werkbank exact op 5 V ingesteld, de potmeter gedesoldeerd en de weerstand gemeten. Vervolgens heb ik in de plaats van de potmeter een weerstandje met die waarde op de converter gesoldeerd en sindsdien werkt het geheel weer 100% betrouwbaar.

Kan natuurlijk ook gewoon een probleem met dat specifieke potmetertje zijn geweest, maar mocht je tegen een soortgelijk probleem aanlopen dan kan dit een goede plek zijn om te beginnen met troubleshooten.

[ Voor 10% gewijzigd door real[B]art op 30-12-2019 01:05 ]

"The general rule on about people on IRC seems to be "Attractive, single, mentally stable: choose two"


Acties:
  • +1 Henk 'm!

  • oranje2307
  • Registratie: Augustus 2012
  • Laatst online: 03-07 22:57
De zomer moet nog komen, waarschijnlijk zal het in mijn geval meevallen. Er zit een DC-DC step down module 5-40 volt naar 5 Volt 1A (niet adjustable) op het printje gesoldeerd. Toch bedankt voor de tip :) .

Hier is een foto en filmpje te zien van mijn geklaard klusje: https://imgur.com/gallery/8peCyvC

[ Voor 17% gewijzigd door oranje2307 op 06-01-2020 21:45 ]


Acties:
  • 0 Henk 'm!

  • real[B]art
  • Registratie: Februari 2000
  • Laatst online: 10-05 10:48

real[B]art

CTRL+ALT+D1337

Topicstarter
Netjes gedaan! Zag ik goed dat je de originele connecter van de stuurwielbediening intact hebt gehouden? Da's natuurlijk helemaal sjiek.

"The general rule on about people on IRC seems to be "Attractive, single, mentally stable: choose two"


Acties:
  • 0 Henk 'm!

  • oranje2307
  • Registratie: Augustus 2012
  • Laatst online: 03-07 22:57
Klopt. Ik heb wat stekkertjes op maat gevijld zodat ze direct en naast elkaar in de connector passen. Dus met wat extra moeite de boel 'onbeschadigd' gelaten zodat de originele radio er hupla zo weer terug in kan.

Acties:
  • 0 Henk 'm!

  • Bonno
  • Registratie: November 2001
  • Laatst online: 01-06 21:26
@real[B]art @oranje2307
Ik ben voor mijn Laguna ook bezig met dit project, maar ik heb het idee dat de pinout van de C1 connector anders is. Hoe hebben jullie de juiste pinout/kleuren gevonden?

De controle led van de arduino brand continue (zodra deze gestart is) en de radio reageert op geen enkele knop van de stuurwielbediening. Alleen als ik de arduino reset krijgt de radio soms een commando binnen waar hij op reageert (volume aanpassing of kanaal zoeken meestal)

Ik twijfel dus of ik het de print verkeerd heb gesoldeerd of dat ik dus de verkeerde pinout van de stuurwielbediening gebruik, maar ik weet niet zo goed hoe ik dit kan debuggen.

Afbeeldingslocatie: https://i.imgur.com/MGjuzRf.jpg

Acties:
  • 0 Henk 'm!

  • real[B]art
  • Registratie: Februari 2000
  • Laatst online: 10-05 10:48

real[B]art

CTRL+ALT+D1337

Topicstarter
@Bonno, het eerste wat ik zou controleren is de voeding van de Arduino. Ik heb zelf problemen gehad met een instelbare voeding, die gaf soms willekeurig en bij warm weer vrijwel altijd opeens nog maar zo'n 3V in plaats van de ingestelde 5V. Daardoor leek de Arduino wel aan te staan, maar werkte hij niet.

De oorzaak van de instabiele voeding zat hem in het potmetertje. Ik heb de voeding eruit gehaald en op mijn bureau ingesteld op 5V, toen de potmeter gedesoldeerd en de weerstand gemeten. Vervolgens heb ik een gewone weerstand met diezelfde waarde in de plaats van de potmeter op de voeding terug gesoldeerd. Sindsdien nooit problemen meer en altijd keurig 5V.

"The general rule on about people on IRC seems to be "Attractive, single, mentally stable: choose two"


Acties:
  • 0 Henk 'm!

  • Bonno
  • Registratie: November 2001
  • Laatst online: 01-06 21:26
@real[B]art Ik heb een kant en klare dc dc stepdown module gebruikt, dus die 5v is op zich wel in orde. Maar ik zal het sowieso even controleren zodra ik de radio weer opnieuw uitgebouwd heb 😄

Maar ik heb sowieso andere kleuren op mijn connector waardoor ik niet zeker ben welke pin waar op de arduino behoort te gaan voor de juiste signalen. Ik heb namelijk nu het idee dat het daar fout in gaat. Heb jij een idee hoe ik die zou kunnen controleren?

Ik had op basis van foto's de posities op jullie connector kunnen herleiden naar de volgende kleuren als ik uitga van dezelfde posities van de draden, maar deze werkte bij mij dus helaas niet.

Code/twingo -> Laguna
Zwart -> Grijs
Blauw -> Rood/roze
Rood -> Paars
Groen -> Wit
Geel -> Groen
Bruin -> Geel

Dit is op basis van de foto van @Ploink en dat leek voor zover ik het kon zien ook wel overeen te komen bij @oranje2307 maar daar kon ik het niet altijd helemaal duidelijk zien.

Acties:
  • +1 Henk 'm!

  • oranje2307
  • Registratie: Augustus 2012
  • Laatst online: 03-07 22:57
Hallo Bonno,
Ook bij mij in de Twingo waren de draden anders gekleurd dan die op de foto van 'Ploink'. Ik heb wel zijn kleurenvolgorde aangehouden dus dan zou bij jou de blauwe draad die uit de Arduino komt aangesloten moeten worden op de rood/roze draad van de stekker, de gele Arduinodraad op de groene van de stekker, en zo verder (de andere kleuren op jouw foto zijn niet echt duidelijk te onderscheiden maar zo zou het moeten lukken).
Ook ik had bij de eerste poging de aansluitingen verkeerd om, gespiegeld zeg maar. Na dit gecorrigeerd te hebben werkte het fantastisch, en nog steeds (ook in deze tropische dagen).

Acties:
  • 0 Henk 'm!

  • tijmengodfroid
  • Registratie: November 2013
  • Laatst online: 10-06-2022
Alvast bedankt voor alles, scheelt een hoop uitzoeken!
Ik zou graag willen weten naar welke pin de remote gaat?

  • oranje2307
  • Registratie: Augustus 2012
  • Laatst online: 03-07 22:57
Ik zou graag willen weten naar welke pin de remote gaat?
Zie het schema van real[B]art: naar pin 5 van de optocoupler.

Acties:
  • 0 Henk 'm!

  • oranje2307
  • Registratie: Augustus 2012
  • Laatst online: 03-07 22:57
.... en omdat er in de familie nog een Twingo ('08) aangeschaft is heb ik hetzelfde trucje weer uitgevoerd, met wederom succes >:)

Acties:
  • 0 Henk 'm!

  • tijmengodfroid
  • Registratie: November 2013
  • Laatst online: 10-06-2022
Heeft iemand het schema opnieuw, hij is jammer genoeg verwijderd.

Acties:
  • 0 Henk 'm!

  • oranje2307
  • Registratie: Augustus 2012
  • Laatst online: 03-07 22:57
Afbeeldingslocatie: https://tweakers.net/i/0P7N8K7559aMo19IWOPwfWR8P6k=/800x/filters:strip_exif()/f/image/7eGdsCOYQTzk4f9aYfwAQbVv.png?f=fotoalbum_large
Pagina: 1