My very first robot. aka STINKBOT
I just finished my very first robot today. Not having a Ping ultrasonic sensor I searched my parts box for ideas on how to avoid objects. After having realized that I couldnt avoid objects I figured the bot could run into an object, it just needed a way to eventually get around it. I reused some mouse buttons, an Adafruit motor shield and an Arduino Uno. I also used a Precision mandrel bent self suspensioning paper clip/ mouse wheel combo lol ;P I call it Stinkbot because I used the base of a Febreeze airfreshener. This little guy just drives around making my house smell great :)
This is my first attempt at writing a code that controlled more than an Led.
**A little hint to other new people to this site. When selecting my embed code from youtube I had to select options and click "use old embed code" for the link to work correctly on here.
I was thinking that I may want to add some sort of button count so that if the bot gets stuck in a particular corner and the same button keeps getting pressed that the bot would just do a full 180 and continue on.
#include <AFMotor.h>
#define LB 14
#define RB 19
int lval = 0;
int rval = 0;
AF_DCMotor motor(3, MOTOR12_64KHZ);
AF_DCMotor motor1(4, MOTOR12_64KHZ);
void setup() {
Serial.begin(9600);
Serial.println("Go Robot Go!");
motor.setSpeed(200);
motor1.setSpeed(255);
pinMode(LB, INPUT);
pinMode(RB, INPUT);
}
void loop() {
Serial.print("nomnomnom");
motor.run(FORWARD);
motor1.run(FORWARD);
{
lval = digitalRead(LB);
if (lval == HIGH)
{
Serial.print("Obstacle to the left! Reversing!");
motor.run(BACKWARD);
motor1.run(BACKWARD);
delay(500);
motor.run(RELEASE);
motor1.run(RELEASE);
delay(250);
motor1.run(BACKWARD);
delay(750);
}
rval = digitalRead(RB);
if (rval == HIGH) {
Serial.print("Obstacle to the RIGHT! Reversing!");
motor.run(BACKWARD);
motor1.run(BACKWARD); //
delay(500);
motor.run(RELEASE);
motor1.run(RELEASE);
delay(250);
motor.run(BACKWARD);
delay(750);
}
}
}
Drives around bumping into objects making the room smell great
- Actuators / output devices: 2 geared motors
- Control method: autonomous
- CPU: arduino uno
- Power source: 9V+6V
- Sensors / input devices: Mouse buttons
- Target environment: indoors