Quote
// linear actuator brown wire to the right
#include <Servo.h>
Servo spoon_servo;
Servo bowl_servo;
int pos = 35; // initialize spoon to serving position
void setup(){
pinMode(4,OUTPUT); // pin output, spoon extend
pinMode(8,OUTPUT); // pin output, spoon retract
pinMode(11,INPUT); // linear actuator limit switch, front
pinMode(3,INPUT); // linear actuator limit switch, back
pinMode(12,INPUT); // user input switch, not sure if this line is needed
pinMode(6,INPUT); // home position rotary switch
spoon_servo.attach(9);
spoon_servo.write(pos);
delay(2000);
bowl_servo.attach(10);
bowl_servo.write(90);
if (digitalRead(6) == HIGH){
while (digitalRead(11) == LOW) { // fully retract spoon
digitalWrite(8, HIGH);
}
digitalWrite(8, LOW); // stop retracting spoon
}
else{ while (digitalRead(3) == LOW) { // fully retract spoon
digitalWrite(4, HIGH);
}
digitalWrite(4, LOW); // stop retracting spoon
}
}
void loop(){
if(digitalRead(12) == HIGH) {
while (digitalRead(11) == LOW) {
digitalWrite(8, HIGH); // fully retract spoon
}
digitalWrite(8, LOW); // stop retracting spoon
delay(1000);
spoon_servo.write(120); // rotate spoon into bowl
delay(1000);
bowl_servo.write(110); // rotate bowl
delay(1000);
bowl_servo.write(90); // stop rotation of bowl
delay(1000);
spoon_servo.write(35); // rotate spoon into serving position
delay(1000);
while (digitalRead(3) == LOW) {
digitalWrite(4, HIGH); // fully extend spoon
}
digitalWrite(4, LOW); // stop extending spoon
}
else{}
return;
}
#include <Servo.h>
Servo spoon_servo;
Servo bowl_servo;
int pos = 35; // initialize spoon to serving position
void setup(){
pinMode(4,OUTPUT); // pin output, spoon extend
pinMode(8,OUTPUT); // pin output, spoon retract
pinMode(11,INPUT); // linear actuator limit switch, front
pinMode(3,INPUT); // linear actuator limit switch, back
pinMode(12,INPUT); // user input switch, not sure if this line is needed
pinMode(6,INPUT); // home position rotary switch
spoon_servo.attach(9);
spoon_servo.write(pos);
delay(2000);
bowl_servo.attach(10);
bowl_servo.write(90);
if (digitalRead(6) == HIGH){
while (digitalRead(11) == LOW) { // fully retract spoon
digitalWrite(8, HIGH);
}
digitalWrite(8, LOW); // stop retracting spoon
}
else{ while (digitalRead(3) == LOW) { // fully retract spoon
digitalWrite(4, HIGH);
}
digitalWrite(4, LOW); // stop retracting spoon
}
}
void loop(){
if(digitalRead(12) == HIGH) {
while (digitalRead(11) == LOW) {
digitalWrite(8, HIGH); // fully retract spoon
}
digitalWrite(8, LOW); // stop retracting spoon
delay(1000);
spoon_servo.write(120); // rotate spoon into bowl
delay(1000);
bowl_servo.write(110); // rotate bowl
delay(1000);
bowl_servo.write(90); // stop rotation of bowl
delay(1000);
spoon_servo.write(35); // rotate spoon into serving position
delay(1000);
while (digitalRead(3) == LOW) {
digitalWrite(4, HIGH); // fully extend spoon
}
digitalWrite(4, LOW); // stop extending spoon
}
else{}
return;
}