Skip to content

Commit 34cbe3c

Browse files
committed
first commit
0 parents  commit 34cbe3c

File tree

3 files changed

+184
-0
lines changed

3 files changed

+184
-0
lines changed

Diff for: README

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Arduino powered claw game

Diff for: elt243/elt243.ino

+119
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
#include <Servo.h>
2+
#include <LiquidCrystal.h>
3+
4+
Servo myservo;
5+
Servo updownservo;
6+
LiquidCrystal lcd(7,8,9,10,11,12);
7+
8+
int speed = 90;
9+
boolean claw = false;
10+
boolean running = false;
11+
12+
long previousMillis = 0; // will store last time LED was updated
13+
long interval = 1000; // interval at which to blink (milliseconds)
14+
int count = 20;
15+
16+
void setup()
17+
{
18+
pinMode(3,OUTPUT);
19+
pinMode(4,OUTPUT);
20+
digitalWrite(3,LOW);
21+
digitalWrite(4,LOW);
22+
myservo.attach(2); // attaches the servo on pin 2 to the servo object
23+
myservo.write(90);
24+
updownservo.attach(5);
25+
updownservo.write(90);
26+
lcd.begin(16, 2);
27+
lcd.print("The Claw Game!");
28+
Serial.begin(19200);
29+
Serial.println("Ready");
30+
}
31+
32+
33+
void loop()
34+
{
35+
if(running == false && analogRead(0) < 100)
36+
{
37+
running = true;
38+
count = 20;
39+
}
40+
while(running == true)
41+
{
42+
if (Serial.available() > 0) {
43+
// Read a byte from the serial buffer.
44+
char incomingByte = (char)Serial.read();
45+
switch(incomingByte)
46+
{
47+
case 'r':
48+
speed = 93;
49+
break;
50+
case 'l':
51+
speed = 87;
52+
break;
53+
case 'o':
54+
if(claw == true)
55+
{
56+
Serial.println("opening claw");
57+
digitalWrite(3,LOW);
58+
digitalWrite(4,HIGH);
59+
delay(1200);
60+
digitalWrite(4,LOW);
61+
claw = false;
62+
}
63+
break;
64+
case 'c':
65+
if(claw == false) {
66+
Serial.print("closing claw");
67+
updownservo.write(85);
68+
delay(3500);
69+
updownservo.write(90);
70+
digitalWrite(4,LOW);
71+
digitalWrite(3,HIGH);
72+
delay(1200);
73+
digitalWrite(3,LOW);
74+
updownservo.write(95);
75+
delay(4200);
76+
updownservo.write(90);
77+
claw = true;
78+
}
79+
break;
80+
case 's':
81+
speed = 90;
82+
break;
83+
default:
84+
speed = 90;
85+
break;
86+
}
87+
Serial.print("Speed: ");
88+
Serial.println(speed);
89+
}
90+
else {
91+
speed = 90;
92+
}
93+
myservo.write(speed);
94+
95+
unsigned long currentMillis = millis();
96+
97+
if(currentMillis - previousMillis > interval) {
98+
// save the last time you blinked the LED
99+
previousMillis = currentMillis;
100+
count -= 1;
101+
lcd.setCursor(0, 1);
102+
lcd.print(" ");
103+
lcd.setCursor(0, 1);
104+
lcd.print("Time Left: ");
105+
lcd.print(count);
106+
}
107+
if(count == 0)
108+
{
109+
running = false;
110+
myservo.write(90);
111+
lcd.setCursor(0, 1);
112+
lcd.print(" ");
113+
lcd.setCursor(0,1);
114+
lcd.print("Game over!");
115+
}
116+
117+
delay(50);
118+
}
119+
}

Diff for: elt243_controller/elt243_controller.ino

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
#define RED_LED 5
2+
#define GREEN_LED 13
3+
#define BLUE_LED 3
4+
#define YELLOW_LED 10
5+
#define BLUE_BUTTON 2
6+
#define RED_BUTTON 6
7+
#define YELLOW_BUTTON 9
8+
#define GREEN_BUTTON 12
9+
#define PIEZO_PIN 4
10+
11+
void setup() {
12+
Serial.begin(19200);
13+
pinMode(RED_BUTTON, INPUT);
14+
pinMode(GREEN_BUTTON, INPUT);
15+
pinMode(BLUE_BUTTON, INPUT);
16+
pinMode(YELLOW_BUTTON, INPUT);
17+
pinMode(RED_LED, OUTPUT);
18+
pinMode(GREEN_LED, OUTPUT);
19+
pinMode(BLUE_LED, OUTPUT);
20+
pinMode(YELLOW_LED, OUTPUT);
21+
digitalWrite(RED_LED, HIGH);
22+
digitalWrite(GREEN_LED, HIGH);
23+
digitalWrite(BLUE_LED, HIGH);
24+
digitalWrite(YELLOW_LED, HIGH);
25+
digitalWrite(RED_BUTTON, HIGH);
26+
digitalWrite(GREEN_BUTTON, HIGH);
27+
digitalWrite(BLUE_BUTTON, HIGH);
28+
digitalWrite(YELLOW_BUTTON, HIGH);
29+
}
30+
31+
void loop() {
32+
33+
if(digitalRead(RED_BUTTON) == LOW)
34+
{
35+
digitalWrite(RED_LED, LOW);
36+
Serial.print("r");
37+
}
38+
else
39+
digitalWrite(RED_LED, HIGH);
40+
if(digitalRead(GREEN_BUTTON) == LOW)
41+
{
42+
digitalWrite(GREEN_LED, LOW);
43+
Serial.print("c");
44+
}
45+
else
46+
digitalWrite(GREEN_LED, HIGH);
47+
if(digitalRead(BLUE_BUTTON) == LOW)
48+
{
49+
digitalWrite(BLUE_LED, LOW);
50+
Serial.print("l");
51+
}
52+
else
53+
digitalWrite(BLUE_LED, HIGH);
54+
if(digitalRead(YELLOW_BUTTON) == LOW)
55+
{
56+
digitalWrite(YELLOW_LED, LOW);
57+
Serial.print("o");
58+
}
59+
else
60+
digitalWrite(YELLOW_LED, HIGH);
61+
62+
delay(50);
63+
}
64+

0 commit comments

Comments
 (0)