-
Notifications
You must be signed in to change notification settings - Fork 0
T10.Code for card dealing machine
Shivani S Patil edited this page Jul 28, 2023
·
1 revision
#include <Stepper.h>
const int stepsPerRevolution = 96;
Stepper myStepper(stepsPerRevolution,7,8,9,10);
const int M1=12, M2=13; //Motor pins
void setup() {
myStepper.setSpeed(60);
Serial1.begin(9600);
pinMode(M1,OUTPUT);
pinMode(M2,OUTPUT);
}
void loop() {
int flag = 1;
int count = 0;
int cards = 52; //Can read this with Bluetooth?
char a;
a= Serial1.read();
if(a=='2')
{
if(flag== 1)
{
myStepper.step();
delay(2000);
digitalWrite(M1,LOW);
digitalWrite(M2,HIGH);
delay(200);
digitalWrite(M1,HIGH);
digitalWrite(M2,LOW);
delay(50);
digitalWrite(M1,LOW);
digitalWrite(M2,LOW);
flag = -flag;
cards--;
}
else if(flag== -1)
{
myStepper.step(-stepsPerRevolution*8/3);
delay(2000);
digitalWrite(M1,LOW);
digitalWrite(M2,HIGH);
delay(200);
digitalWrite(M1,HIGH);
digitalWrite(M2,LOW);
delay(50);
digitalWrite(M1,LOW);
digitalWrite(M2,LOW);
flag = -flag;
cards--;
}
}
else if(a=='3')
{
if(count==3)
{
count=1;
myStepper.step(-stepsPerRevolution*57/16);
delay(3000);
digitalWrite(M1,LOW);
digitalWrite(M2,HIGH);
delay(200);
digitalWrite(M1,HIGH);
digitalWrite(M2,LOW);
delay(50);
digitalWrite(M1,LOW);
digitalWrite(M2,LOW);
cards--;
}
else
{
myStepper.step(stepsPerRevolution*57/32);
delay(2000);
digitalWrite(M1,LOW);
digitalWrite(M2,HIGH);
delay(200);
digitalWrite(M1,HIGH);
digitalWrite(M2,LOW);
delay(50);
digitalWrite(M1,LOW);
digitalWrite(M2,LOW);
count++;
cards--;
}
}
else if(a=='4')
{
if(count==4)
{
count=1;
myStepper.step(-stepsPerRevolution*16/3);
delay(4000);
digitalWrite(M1,LOW);
digitalWrite(M2,HIGH);
delay(200);
digitalWrite(M1,HIGH);
digitalWrite(M2,LOW);
delay(50);
digitalWrite(M1,LOW);
digitalWrite(M2,LOW);
cards--;
}
else
{
myStepper.step(stepsPerRevolution*4/3);
delay(2000);
digitalWrite(M1,LOW);
digitalWrite(M2,HIGH);
delay(200);
digitalWrite(M1,HIGH);
digitalWrite(M2,LOW);
delay(50);
digitalWrite(M1,LOW);
digitalWrite(M2,LOW);
count++;
cards--;
}
}
}