From d0a894f33f62db3ffb52b0141bebf8dbe8bc4ff8 Mon Sep 17 00:00:00 2001 From: happythingsmaker Date: Tue, 13 Mar 2018 13:45:45 +0200 Subject: [PATCH] The first commit --- TrashEatingRobot/TrashEatingRobot.ino | 77 +++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 TrashEatingRobot/TrashEatingRobot.ino diff --git a/TrashEatingRobot/TrashEatingRobot.ino b/TrashEatingRobot/TrashEatingRobot.ino new file mode 100644 index 0000000..14c172a --- /dev/null +++ b/TrashEatingRobot/TrashEatingRobot.ino @@ -0,0 +1,77 @@ +#include + +Servo armServo; + +void setup() { + armServo.attach(12); + armServo.write(90); + + pinMode(A7, INPUT) ; + pinMode(13, OUTPUT); + pinMode(0, OUTPUT); + pinMode(1, OUTPUT); +} + +int sensorValue = 0; +int prevSensorValue = 0; +const int THRESHOLD = 360; +void loop() { + + sensorValue = analogRead(A7); + if (prevSensorValue <= THRESHOLD) { + if (sensorValue > THRESHOLD) { + action(); + } + } + + prevSensorValue = sensorValue; + delay(10); +} + +void action() { + led(true); + + //eating + delay(1000); + armServo.attach(12); + armServo.write(10); + delay(300); + armServo.write(70); + delay(500); + + //after ate + delay(100); + armServo.write(50); + delay(250); + armServo.write(70); + delay(250); + armServo.write(50); + delay(250); + armServo.write(70); + delay(250); + armServo.write(50); + delay(250); + armServo.write(70); + delay(250); + armServo.write(50); + delay(250); + armServo.write(90); + delay(250); + + //release arm's torque + armServo.detach(); + led(false); +} + +void led(bool onOff) { + if (onOff) { + digitalWrite(13, HIGH); + digitalWrite(0, LOW); + digitalWrite(1, LOW); + } else { + digitalWrite(13, LOW); + digitalWrite(0, HIGH); + digitalWrite(1, HIGH); + } +} +