Initial commit
This commit is contained in:
commit
68c8109f14
244
minikame.ino
Normal file
244
minikame.ino
Normal file
@ -0,0 +1,244 @@
|
|||||||
|
#include <Arduino.h>
|
||||||
|
#include "LARS.h"
|
||||||
|
#include <WiFi.h>
|
||||||
|
#include <ESPUI.h>
|
||||||
|
|
||||||
|
const char* ssid = "Lars";
|
||||||
|
|
||||||
|
#define TIME_INTERVAL 5000
|
||||||
|
|
||||||
|
/*
|
||||||
|
#define FORWARD 'f'
|
||||||
|
#define LEFT 'l'
|
||||||
|
#define STAND 's'
|
||||||
|
#define RIGHT 'r'
|
||||||
|
#define BACKWARD 'b'
|
||||||
|
#define GO 'g'
|
||||||
|
#define RIGHT_FRONT 'c'
|
||||||
|
#define RIGHT_BACK 'e'
|
||||||
|
#define LEFT_FRONT 'd'
|
||||||
|
#define LEFT_BACK 'h'
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
LARS robot;
|
||||||
|
|
||||||
|
bool state = true;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
boolean walk_forward = false;
|
||||||
|
boolean walk_backward = false;
|
||||||
|
boolean hello = false;
|
||||||
|
boolean turn_left = false;
|
||||||
|
boolean turn_right = false;
|
||||||
|
boolean moonwalk = false;
|
||||||
|
boolean audience = false;
|
||||||
|
boolean omni = false;
|
||||||
|
boolean omni_left = false;
|
||||||
|
boolean dance = false;
|
||||||
|
boolean upDown = false;
|
||||||
|
boolean PushUp = false;
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
Serial.begin(115200);
|
||||||
|
WiFi.mode(WIFI_AP);
|
||||||
|
WiFi.setHostname(ssid);
|
||||||
|
WiFi.softAP(ssid);
|
||||||
|
//WiFi.softAP(ssid, password);
|
||||||
|
Serial.println("");
|
||||||
|
Serial.print("IP address: ");
|
||||||
|
Serial.println(WiFi.softAPIP());
|
||||||
|
|
||||||
|
|
||||||
|
ESPUI.pad("Walking Control", true, &MegaMaxim);
|
||||||
|
ESPUI.button("Wave Button", &AudienceButton);
|
||||||
|
ESPUI.button("MoonWalk Button", &BeerButton);
|
||||||
|
ESPUI.button("Dance Button", &BeerButton3);
|
||||||
|
ESPUI.button("PushUp Button", &BeerButton4);
|
||||||
|
ESPUI.button("upDown Button", &BeerButton5);
|
||||||
|
ESPUI.button("Slow Turn Right", &BeerButton6);
|
||||||
|
ESPUI.button("Slow Turn left", &BeerButton7);
|
||||||
|
|
||||||
|
ESPUI.begin("Crabby Control");
|
||||||
|
|
||||||
|
robot.init();
|
||||||
|
delay(1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AudienceButton(int id, int type) {
|
||||||
|
if (type == B_DOWN) {
|
||||||
|
audience = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
audience = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void BeerButton(int id, int type) {
|
||||||
|
if (type == B_DOWN) {
|
||||||
|
moonwalk = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
moonwalk = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void BeerButton3(int id, int type) {
|
||||||
|
if (type == B_DOWN) {
|
||||||
|
dance = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
dance = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void BeerButton4(int id, int type) {
|
||||||
|
if (type == B_DOWN) {
|
||||||
|
PushUp = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
PushUp = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void BeerButton5(int id, int type) {
|
||||||
|
if (type == B_DOWN) {
|
||||||
|
upDown = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
upDown = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void BeerButton6(int id, int type) {
|
||||||
|
if (type == B_DOWN) {
|
||||||
|
omni = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
omni = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void BeerButton7(int id, int type) {
|
||||||
|
if (type == B_DOWN) {
|
||||||
|
omni_left = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
omni_left = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MegaMaxim (int id, int value) {
|
||||||
|
switch (value) {
|
||||||
|
case P_LEFT_DOWN:
|
||||||
|
turn_left = true;
|
||||||
|
break;
|
||||||
|
case P_LEFT_UP:
|
||||||
|
turn_left = false;
|
||||||
|
break;
|
||||||
|
case P_RIGHT_DOWN:
|
||||||
|
turn_right = true;
|
||||||
|
break;
|
||||||
|
case P_RIGHT_UP:
|
||||||
|
turn_right = false;
|
||||||
|
break;
|
||||||
|
case P_FOR_DOWN:
|
||||||
|
walk_forward = true;
|
||||||
|
break;
|
||||||
|
case P_FOR_UP:
|
||||||
|
walk_forward = false;
|
||||||
|
break;
|
||||||
|
case P_BACK_DOWN:
|
||||||
|
walk_backward = true;
|
||||||
|
break;
|
||||||
|
case P_BACK_UP:
|
||||||
|
walk_backward = false;
|
||||||
|
break;
|
||||||
|
case P_CENTER_DOWN:
|
||||||
|
hello = true;
|
||||||
|
break;
|
||||||
|
case P_CENTER_UP:
|
||||||
|
hello = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
|
||||||
|
if (walk_forward) robot.walk();
|
||||||
|
else if (walk_backward) robot.walk(0);
|
||||||
|
else if (hello) robot.hello();
|
||||||
|
else if (turn_left) robot.turnL(1, 550);
|
||||||
|
else if (turn_right) robot.turnR(1, 550);
|
||||||
|
else if (moonwalk) robot.moonwalkL(1, 5000);
|
||||||
|
else if (audience) robot.wave();
|
||||||
|
else if (dance) robot.dance(1, 600);
|
||||||
|
else if (omni) robot.omniWalk(1, 600, true, 1);
|
||||||
|
else if (omni_left) robot.omniWalk(1, 600, false, 1);
|
||||||
|
else if (PushUp) robot.pushUp(1, 600);
|
||||||
|
else if (upDown) robot.upDown(1, 5000);
|
||||||
|
else robot.home();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
void serialEvent() {
|
||||||
|
char tmp = -1;
|
||||||
|
boolean taken = false;
|
||||||
|
|
||||||
|
while (Serial.available()) {
|
||||||
|
state = !state;
|
||||||
|
// analogWrite(LED_PIN, 128 * state); //flashing LED indicating cmd received
|
||||||
|
tmp = Serial.read (); //Serial.println(cmd);
|
||||||
|
// not_gaits(tmp);
|
||||||
|
taken = gaits(tmp);
|
||||||
|
if (taken) cmd = tmp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
boolean gaits(char cmd) {
|
||||||
|
bool taken = true;
|
||||||
|
switch (cmd) {
|
||||||
|
case GO:
|
||||||
|
robot.walk();
|
||||||
|
break;
|
||||||
|
case FORWARD:
|
||||||
|
robot.hello();
|
||||||
|
break;
|
||||||
|
case BACKWARD:
|
||||||
|
//robot.run(0);
|
||||||
|
robot.walk(0);
|
||||||
|
break;
|
||||||
|
case RIGHT:
|
||||||
|
robot.turnR(1, 550);
|
||||||
|
break;
|
||||||
|
case LEFT:
|
||||||
|
robot.turnL(1, 550);
|
||||||
|
break;
|
||||||
|
case RIGHT_FRONT:
|
||||||
|
robot.turnR(1, 550);
|
||||||
|
robot.walk();
|
||||||
|
break;
|
||||||
|
case RIGHT_BACK:
|
||||||
|
robot.turnR(1, 550);
|
||||||
|
robot.walk(0);
|
||||||
|
break;
|
||||||
|
case LEFT_FRONT:
|
||||||
|
robot.turnL(1, 550);
|
||||||
|
robot.walk();
|
||||||
|
break;
|
||||||
|
case LEFT_BACK:
|
||||||
|
robot.turnL(1, 550);
|
||||||
|
robot.walk(0);
|
||||||
|
break;
|
||||||
|
case STAND:
|
||||||
|
robot.home();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
taken = false;
|
||||||
|
}
|
||||||
|
return taken;
|
||||||
|
}
|
||||||
|
*/
|
Loading…
Reference in New Issue
Block a user