car radio muting device - revisiting old project

Hello,

I am in the process of revisiting an old project, which was a car radio muting device. It switches your radio to mute when reverse gear is detected, so you can hear the beep of your parking sensors better.

This was my first ever project with a standalone circuit, and it is working fine and it is installed in my car. But as first projects go, it still contains a fair bit of unnecessary parts. Namely, I would like to port it down from the Atmega328P-PU that it runs on now to an Attiny85, possibly an Attiny45. One reason being that a friend has asked me to build such a muting device for his car as well.

Here's a schematic of what I want the new circuit to look like:

|500x281

(click on image for larger view)

Here's how the circuit is basically supposed to work:

When reverse gear is detected on pin 0, the controller switches the radio's mute pin to GND on pin 2.

When you go back out of reverse, the mute is sustained for 30 seconds. You can deactivate the mute before that time by going forward at more than 12 mph (20 kph) or by turning the radio's volume knob, which is basically a 5V rotary encoder, while the car is completely standing still.

Both the speed signal and the volume knob signal are square waves. The speed signal is 12V, the volume knob 5V.

Putting the car back into reverse always reactivates the mute.

The device gives out a short 100 ms confirmation beep when you turn on the ignition, when you put the car in reverse, and when the mute is deactivated. And in case you get tired of all the beeping at some point, I want to have the option of switching off the speaker.

This project was finished, but again, I would like to port it to an Attiny and strip it down to only the necessary parts.

I am still knee deep in the process of slimming down the code from the Atmega328 to the Attiny, so there's no point posting it just yet.

I'm still iffy on a few hardware related things. For example, are the 1N4003 diodes at the optocoupler and the radio mute pin necessary, especially to protect my delicate sat nav radio from inverse voltage? And can a BC548C handle the current of switching a radio's mute pin to GND? In my Atmega328 based circuit, a relay does that job.

So it would be great if you guys could comment on my schematic before I buy the parts and put it on a breadboard... :)