Another motorcycle taillight/blinker thread!

I have searched, and most deal with code issues and latency, and delays..etc..etc..

A buddy asked me about doing a similar project as noted here:

https://forum.arduino.cc/index.php?topic=411401.0

Custom Tail Light/Blinkers (eventually custom PCB)
and
Eventually something he can use on his helmet/jacket/backpack ..etc.. (whatever)

  • Neopixels tail light/pcb
  • not sure what will be used for the remote nRF side of things yet

I have no issues with the code portion of things (so far)..

Normal:

Scrolling Leds:

Thanks to @Grumpy_Mike for his Adafruit non-blocking Neopixel pattern approach which I updated (molested) into something that could update multiple (different) patterns at the same time..etc..etc.. using multiple button inputs.

Anyways..

more question is more about the hardware side of things now (my kryptonite always)..

  • I'm not sure/clear what kind of 'signal' I'll be dealing with here?
  • I mean I know its a 12v system** (more on that below).
  • but is the blinker 'signal' a constant 'hi/lo'? is there some sort of board that does the 'blinking'? (should this be bypassed then? or how do you account for multiple 'momentary' inputs then?.. I'm hoping it some sort of constant hi/lo then gone when off.. but that would be wishful thinking Im afraid! lol)
  • As mentioned in the other thread linked to above, I would use a voltage divider to get the 12v signal down to 5v for the I/O pin to detect/check for... but how do I implement the zenier diode to handle the 'full range' of over the 12v at certain times?

  • I'm guessing the constant 'power' (at all) would me running light.. and then another voltage divider to detect a pulse for the 'brake' pumping/pulsing.. that seams pretty straight forward though.. unless I'm missing something?

So I guess the main stuff is:

  • zener diode implementation?

  • if the blinker does have some sort of intermediate 'blinker relay' board, should it just be bypassed? (probably easier NOT to do so I'd imagine as far as final installment)

  • if do-not bypass (or just by design not bypassing for easier final installment), how do you suggest dealing with the 'pulse' burst of the blinker signal? (just treat the 'animation/behavior' part like it should only perform it once upon each 'input'?) like a 'one press' behavior?

*maybe I'm just overthinking most of this? just trying to prepare myself before I can get some actually data/testing done on the bike itself.

Thanks for all feedback!

xl97:
but is the blinker 'signal' a constant 'hi/lo'?

It alternates between HIGH and LOW. Constantly while ever it is turned on.

xl97:
is there some sort of board that does the 'blinking'?

It's a blinker.

xl97:
should this be bypassed then?

No as it is necessary to make the indicators already on the bike, work! :roll_eyes:

Also, it is in the common wire to the blinker switch so it controls whichever of the left or right blinker to which you switch it, but not directly connected to either.

xl97:
or how do you account for multiple 'momentary' inputs then?

You use a code which keeps the indicator on for slightly more than the length of time in between actual blinks.

xl97:
how do I implement the Zener diode to handle the 'full range' of over the 12v at certain times?

Well you could but this circuit should be pretty easy:
Input02.png

xl97:
if the blinker does have some sort of intermediate 'blinker relay' board, should it just be bypassed? (probably easier NOT to do so I'd imagine as far as final instalment)

Can't muck about with the original wiring. Legal consequences regarding road-worthiness.

xl97:
how do you suggest dealing with the 'pulse' burst of the blinker signal?

As said, a delay circuit (see here) to "hold" from one blink to the next.

xl97:

  • I'm not sure/clear what kind of 'signal' I'll be dealing with here?
  • I mean I know its a 12v system** (more on that below).
  • but is the blinker 'signal' a constant 'hi/lo'? is there some sort of board that does the 'blinking'? (should this be bypassed then? or how do you account for multiple 'momentary' inputs then?.. I'm hoping it some sort of constant hi/lo then gone when off.. but that would be wishful thinking Im afraid! lol)

The blinker is a relay (perhaps a solid state relay) that connects/disconnects to ground. You'll see a high signal when it is open because there is a relatively low resistance path through the bulb to 12V if the lights are incandescent. If the bulbs are LEDs then it will be something less than 12V.

I'd consider using an optoisolator, so the circuit would be +12V - current limiting resistor - led side of optoisolator - blinker, and the output side would be on Arduino's +5V.