MOUSEBOX
/* *** mousebox skech *** 16-7-14 sketch to run mouse in a box without touching the sides makes random moves */ #include#include "MouseSensors.h" #include "MouseMotors.h" // LED & button pins #define LED 13 #define BUTTON 12 MouseMotors motors; // create motors object MouseSensors sensors; // pass pin numbers to sensors object void setup() { Serial.begin(9600); // start serial comms motors.attach(); // attach servos sensors.enable(); // enable emiiter ports pinMode(LED, OUTPUT); // LED output pinMode(BUTTON, INPUT_PULLUP); // input is from button pin to GND // *** START while(digitalRead(BUTTON)); // wait for button press delay(100); while(!digitalRead(BUTTON)); // wait for button release digitalWrite(LED, HIGH); // LED on is a go } void loop() { // avoid walls of box avoid(sensors.state()); } void avoid(byte event) // take avoiding action depending on sensor event { switch(event) { case 1: // north motors.turn(W, 90); sensors.init(); break; case 2: // west & north west case 3: motors.turn(E, 45); sensors.init(); break; case 4: // east and north east case 5: motors.turn(W, 45); sensors.init(); break; case 6: // east & west case 7: // east, north & west motors.turn(E, 180); sensors.init(); default: motors.fwd(0,0); // forwards, continuous, no error correction } }
No comments:
Post a Comment