From d8e0256a9190faafba00f778bab60687e3278951 Mon Sep 17 00:00:00 2001 From: Erik Tylek Kettenburg Date: Wed, 7 Jan 2015 17:48:49 -0800 Subject: [PATCH] Add more examples - fix robot example --- .../DigisparkCDC/examples/CDC_LED/CDC_LED.ino | 22 +++++ .../BT_BLE_Echo/BT_BLE_Echo.ino | 13 +++ .../BT_or_BLERobot/BT_or_BLERobot.ino | 94 +++++++++++++++++++ .../WiFiServerRobot/WiFiServerRobot.ino | 63 +++++++------ 4 files changed, 161 insertions(+), 31 deletions(-) create mode 100644 hardware/digistump/avr/libraries/DigisparkCDC/examples/CDC_LED/CDC_LED.ino create mode 100644 hardware/digistump/avr/libraries/Digispark_Examples/BT_BLE_Echo/BT_BLE_Echo.ino create mode 100644 hardware/digistump/avr/libraries/Digispark_Examples/BT_or_BLERobot/BT_or_BLERobot.ino diff --git a/hardware/digistump/avr/libraries/DigisparkCDC/examples/CDC_LED/CDC_LED.ino b/hardware/digistump/avr/libraries/DigisparkCDC/examples/CDC_LED/CDC_LED.ino new file mode 100644 index 0000000..7140781 --- /dev/null +++ b/hardware/digistump/avr/libraries/DigisparkCDC/examples/CDC_LED/CDC_LED.ino @@ -0,0 +1,22 @@ +#include +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(); +} diff --git a/hardware/digistump/avr/libraries/Digispark_Examples/BT_BLE_Echo/BT_BLE_Echo.ino b/hardware/digistump/avr/libraries/Digispark_Examples/BT_BLE_Echo/BT_BLE_Echo.ino new file mode 100644 index 0000000..8132eb5 --- /dev/null +++ b/hardware/digistump/avr/libraries/Digispark_Examples/BT_BLE_Echo/BT_BLE_Echo.ino @@ -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()); + } + +} \ No newline at end of file diff --git a/hardware/digistump/avr/libraries/Digispark_Examples/BT_or_BLERobot/BT_or_BLERobot.ino b/hardware/digistump/avr/libraries/Digispark_Examples/BT_or_BLERobot/BT_or_BLERobot.ino new file mode 100644 index 0000000..9290a64 --- /dev/null +++ b/hardware/digistump/avr/libraries/Digispark_Examples/BT_or_BLERobot/BT_or_BLERobot.ino @@ -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); +} + + diff --git a/hardware/digistump/avr/libraries/Digispark_Examples/WiFiServerRobot/WiFiServerRobot.ino b/hardware/digistump/avr/libraries/Digispark_Examples/WiFiServerRobot/WiFiServerRobot.ino index 9b70d20..42be4ad 100644 --- a/hardware/digistump/avr/libraries/Digispark_Examples/WiFiServerRobot/WiFiServerRobot.ino +++ b/hardware/digistump/avr/libraries/Digispark_Examples/WiFiServerRobot/WiFiServerRobot.ino @@ -67,55 +67,56 @@ void loop() { void sendOK(){ sendResponse(F("OK")); } + void botForward(int botSpeed){ - digitalWrite(2,HIGH); - digitalWrite(5,HIGH); - analogWrite(0,botSpeed); - analogWrite(1,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); + digitalWrite(2, LOW); + digitalWrite(5, LOW); + analogWrite(0, botSpeed); + analogWrite(1, botSpeed); } - + void botRight(int botSpeed){ - digitalWrite(2,HIGH); - digitalWrite(5,LOW); - analogWrite(0,botSpeed); - analogWrite(1,0); + digitalWrite(2, LOW); + digitalWrite(5, HIGH); + analogWrite(0, 0); + analogWrite(1, 255 - botSpeed); } - + void botHardRight(int botSpeed){ - digitalWrite(2,HIGH); - digitalWrite(5,LOW); - analogWrite(0,botSpeed); - analogWrite(1,botSpeed); + digitalWrite(2, LOW); + digitalWrite(5, HIGH); + analogWrite(0, botSpeed); + analogWrite(1, 255 - botSpeed); } - + void botLeft(int botSpeed){ - digitalWrite(2,LOW); - digitalWrite(5,HIGH); - analogWrite(0,0); - analogWrite(1,botSpeed); + digitalWrite(2, HIGH); + digitalWrite(5, LOW); + analogWrite(0, 255 - botSpeed); + analogWrite(1, 0); } - + void botHardLeft(int botSpeed){ - digitalWrite(2,LOW); - digitalWrite(5,HIGH); - analogWrite(0,botSpeed); - analogWrite(1,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);