Chess Clock by WillemvD 3d model
3dmdb logo
Thingiverse
Chess Clock by WillemvD

Chess Clock by WillemvD

by Thingiverse
Last crawled date: 3 years, 1 month ago
https://youtu.be/9qv9F0zIUgI
An Arduino controlled chess clock.
The speed of the clock can be changed with a potentiometer.
High speed for reaction games.
t is the delay after each change of levels and allows the magnetic fields to build up properly. t=3 works for most stepper motors. Make sure your power supply is accurate and supplies 5 volts, 1 or 2 Amps. The Arduino sketch below makes it all work.
//Nano half step mode
//512 >> 360 degrees 1.4 step/degree
int Pin0 = 9; int Pin1 = 10; int Pin2 = 11; int Pin3 = 12;
int Pin4 = 2; int Pin5 = 3; int Pin6 = 4; int Pin7 = 5;
int ClockPin = 2; //change between the two clocks
int SpeedPin = 0; //adjust with the potentiometer
int t=3;
void setup()
{
pinMode(Pin0, OUTPUT); pinMode(Pin1, OUTPUT); pinMode(Pin2, OUTPUT); pinMode(Pin3, OUTPUT);
pinMode(Pin4, OUTPUT); pinMode(Pin5, OUTPUT); pinMode(Pin6, OUTPUT); pinMode(Pin7, OUTPUT);
pinMode(ClockPin, INPUT); pinMode(SpeedPin, INPUT);
}
void loop()
{
int val = analogRead(ClockPin);
int speed = analogRead(SpeedPin);
if(val<400){
digitalWrite(Pin0, LOW); digitalWrite(Pin1, LOW); digitalWrite(Pin2, LOW); digitalWrite(Pin3, HIGH); delay(t);
digitalWrite(Pin0, LOW); digitalWrite(Pin1, LOW); digitalWrite(Pin2, HIGH); digitalWrite(Pin3, HIGH); delay(t);
digitalWrite(Pin0, LOW); digitalWrite(Pin1, LOW); digitalWrite(Pin2, HIGH); digitalWrite(Pin3, LOW); delay(t);
digitalWrite(Pin0, LOW); digitalWrite(Pin1, HIGH); digitalWrite(Pin2, HIGH); digitalWrite(Pin3, LOW); delay(t);
digitalWrite(Pin0, LOW); digitalWrite(Pin1, HIGH); digitalWrite(Pin2, LOW); digitalWrite(Pin3, LOW); delay(t);
digitalWrite(Pin0, HIGH); digitalWrite(Pin1, HIGH); digitalWrite(Pin2, LOW); digitalWrite(Pin3, LOW); delay(t);
digitalWrite(Pin0, HIGH); digitalWrite(Pin1, LOW); digitalWrite(Pin2, LOW); digitalWrite(Pin3, LOW); delay(t);
digitalWrite(Pin0, HIGH); digitalWrite(Pin1, LOW); digitalWrite(Pin2, LOW); digitalWrite(Pin3, HIGH); delay(t);
delay(speed);}
else{
digitalWrite(Pin4, LOW); digitalWrite(Pin5, LOW); digitalWrite(Pin6, LOW); digitalWrite(Pin7, HIGH); delay(t);
digitalWrite(Pin4, LOW); digitalWrite(Pin5, LOW); digitalWrite(Pin6, HIGH); digitalWrite(Pin7, HIGH); delay(t);
digitalWrite(Pin4, LOW); digitalWrite(Pin5, LOW); digitalWrite(Pin6, HIGH); digitalWrite(Pin7, LOW); delay(t);
digitalWrite(Pin4, LOW); digitalWrite(Pin5, HIGH); digitalWrite(Pin6, HIGH); digitalWrite(Pin7, LOW); delay(t);
digitalWrite(Pin4, LOW); digitalWrite(Pin5, HIGH); digitalWrite(Pin6, LOW); digitalWrite(Pin7, LOW); delay(t);
digitalWrite(Pin4, HIGH); digitalWrite(Pin5, HIGH); digitalWrite(Pin6, LOW); digitalWrite(Pin7, LOW); delay(t);
digitalWrite(Pin4, HIGH); digitalWrite(Pin5, LOW); digitalWrite(Pin6, LOW); digitalWrite(Pin7, LOW); delay(t);
digitalWrite(Pin4, HIGH); digitalWrite(Pin5, LOW); digitalWrite(Pin6, LOW); digitalWrite(Pin7, HIGH); delay(t);
delay(speed);}
}

Tags