PIC16F84A discolight effect with bass beat control




Introduction

External circuit converts bass beat of music into pulses.The motor is controlled by them.
If theres bass beat recognised then the motor rotates one direction(in full stepping) for a predefined time then stops. If the second beat comes in then it rotates again for the same time and so on.There is a random number generator (from 1 to 4) written into the code which tells how many times have the motor to rotate one direction.After that the PIC changes rotation direction of the motor.If the tempo is too fast (<400msec) then the direction is changed immediately.

PIC16F84A discolight effect with bass beat controlWhen the motor stops after the predefined time period a counter is enabled.if beat doesnt come in for 15sec the motor starts to rotate slowly in half stepping.If a beat comes in the counter is disabled and the motor continues its normal rotation in full stepping.
(Half stepping is smoother but unfortunately the torque is less)

The PIC can control the motor after every beat or its possible to bypass some beats.It can be done by pushbuttons. Rotation speed and rotation lenght can be adjusted too.Settings are limited between values to prevent possible register overflow-underflow. These values are saved in EEPROM so after shut-down the settings dont lost.

A beat consist of a series of vibrations(dont know the correct english word for that-sorry) so the PIC gets a few interrupts.PIC16F84A discolight effect with bass beat control SchematicTo prevent multi-triggering theres a counter written into the code which disables reaction to beat for
200msecs after the first interrupt. 180msec delay is enough if you are using amplifiers output (or line out) as music source. I had to increase it to 200msec because i use microphone and the rooms echo influences operation.

Programming the PIC – Adjustments




When programming the PIC16F84A you need to fill the first three EEPROM locations with the setting values.
I used these one: 01 14 E0

 

For more detail: PIC16F84A discolight effect with bass beat control




Leave a Comment

*
= 3 + 3

Read previous post:
LCD
Using an LCD’s for Graphics Animation using PIC16C84

This project uses Myke's 2-Wire LCD Interface from last week and will help teach you "Graphics Animation" using LCD's. Last...

Close
Scroll to top