Add more examples - fix robot example

This commit is contained in:
Erik Tylek Kettenburg 2015-01-07 17:48:49 -08:00
parent f92e829acd
commit d8e0256a91
4 changed files with 161 additions and 31 deletions

View File

@ -0,0 +1,22 @@
#include <DigiCDC.h>
void setup() {
// initialize the digital pin as an output.
SerialUSB.begin();
pinMode(1,OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
//turns led on and off based on sending 0 or 1 from serial terminal
if (SerialUSB.available()) {
char input = SerialUSB.read();
if(input == '0')
digitalWrite(1,LOW);
else if(input == '1')
digitalWrite(1,HIGH);
}
SerialUSB.delay(100); // keep usb alive // can alos use SerialUSB.refresh();
}

View File

@ -0,0 +1,13 @@
void setup() {
//If prompted for a pairing code it is 1234, 12345, or 000000
Serial.begin(9600);
}
// the loop routine runs over and over again forever:
void loop() {
if (Serial.available()) {
Serial.write(Serial.read());
}
}

View File

@ -0,0 +1,94 @@
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //open connection to bt/ble module
botInit(); //setup the pins for the bot
}
void loop() {
if(Serial.available()){
char input = Serial.read();
//route based on input
if(input == 'f'){
botForward(255);
}
else if(input == 'b'){
botReverse(255);
}
else if(input == 'r'){
botRight(255);
}
else if(input == 'l'){
botLeft(255);
}
else if(input == 's'){
botStop();
}
}
}
void botForward(int botSpeed){
digitalWrite(2, HIGH);
digitalWrite(5, HIGH);
analogWrite(0, 255 - botSpeed);
analogWrite(1, 255 - botSpeed);
}
void botReverse(int botSpeed){
digitalWrite(2, LOW);
digitalWrite(5, LOW);
analogWrite(0, botSpeed);
analogWrite(1, botSpeed);
}
void botRight(int botSpeed){
digitalWrite(2, LOW);
digitalWrite(5, HIGH);
analogWrite(0, 0);
analogWrite(1, 255 - botSpeed);
}
void botHardRight(int botSpeed){
digitalWrite(2, LOW);
digitalWrite(5, HIGH);
analogWrite(0, botSpeed);
analogWrite(1, 255 - botSpeed);
}
void botLeft(int botSpeed){
digitalWrite(2, HIGH);
digitalWrite(5, LOW);
analogWrite(0, 255 - botSpeed);
analogWrite(1, 0);
}
void botHardLeft(int botSpeed){
digitalWrite(2, HIGH);
digitalWrite(5, LOW);
analogWrite(0, 255 - botSpeed);
analogWrite(1, botSpeed);
}
void botStop(){
digitalWrite(2,LOW);
digitalWrite(5,LOW);
analogWrite(0,0);
analogWrite(1,0);
}
void botInit(){
pinMode(0,OUTPUT);
pinMode(1,OUTPUT);
pinMode(2,OUTPUT);
pinMode(5,OUTPUT);
}

View File

@ -67,11 +67,12 @@ void loop() {
void sendOK(){ void sendOK(){
sendResponse(F("OK")); sendResponse(F("OK"));
} }
void botForward(int botSpeed){ void botForward(int botSpeed){
digitalWrite(2, HIGH); digitalWrite(2, HIGH);
digitalWrite(5, HIGH); digitalWrite(5, HIGH);
analogWrite(0,botSpeed); analogWrite(0, 255 - botSpeed);
analogWrite(1,botSpeed); analogWrite(1, 255 - botSpeed);
} }
void botReverse(int botSpeed){ void botReverse(int botSpeed){
@ -82,30 +83,30 @@ void botReverse(int botSpeed){
} }
void botRight(int botSpeed){ void botRight(int botSpeed){
digitalWrite(2,HIGH);
digitalWrite(5,LOW);
analogWrite(0,botSpeed);
analogWrite(1,0);
}
void botHardRight(int botSpeed){
digitalWrite(2,HIGH);
digitalWrite(5,LOW);
analogWrite(0,botSpeed);
analogWrite(1,botSpeed);
}
void botLeft(int botSpeed){
digitalWrite(2, LOW); digitalWrite(2, LOW);
digitalWrite(5, HIGH); digitalWrite(5, HIGH);
analogWrite(0, 0); analogWrite(0, 0);
analogWrite(1,botSpeed); analogWrite(1, 255 - botSpeed);
} }
void botHardLeft(int botSpeed){ void botHardRight(int botSpeed){
digitalWrite(2, LOW); digitalWrite(2, LOW);
digitalWrite(5, HIGH); digitalWrite(5, HIGH);
analogWrite(0, botSpeed); analogWrite(0, botSpeed);
analogWrite(1, 255 - botSpeed);
}
void botLeft(int botSpeed){
digitalWrite(2, HIGH);
digitalWrite(5, LOW);
analogWrite(0, 255 - botSpeed);
analogWrite(1, 0);
}
void botHardLeft(int botSpeed){
digitalWrite(2, HIGH);
digitalWrite(5, LOW);
analogWrite(0, 255 - botSpeed);
analogWrite(1, botSpeed); analogWrite(1, botSpeed);
} }