Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Xbee1
- D. Thiebaut
- Makes Arduino send 1 character via XBee wireless to another XBee connected
- to a computer via a USB cable.
- The circuit:
- * RX is digital pin 2 (connect to TX of XBee)
- * TX is digital pin 3 (connect to RX of XBee)
- Based on a sketch created back in the mists of time by Tom Igoe
- itself based on Mikal Hart's example
- */
- #include <SoftwareSerial.h>
- #include <stdio.h>
- #include <stdlib.h>
- SoftwareSerial xbee(50, 51); // RX, TX
- //char c = 'A';
- int pingPong = 1;
- String splitString(String s, char parser,int index);
- void setup() {
- Serial.begin(9600);
- Serial.println( "Arduino started sending bytes via XBee" );
- pinMode(12, OUTPUT); //Initiates Motor Channel A pin
- pinMode(9, OUTPUT); //Initiates Brake Channel A pin
- // set the data rate for the SoftwareSerial port
- xbee.begin( 9600 );
- }
- void loop() {
- /*if (xbee.available()) {
- byte temp= xbee.read();
- Serial.print(temp);
- }
- //xbee.print("['1']['Humidity']=");
- //--- switch LED on Arduino board every character sent---
- if ( pingPong == 0 )
- digitalWrite(13, LOW);
- else
- digitalWrite(13, HIGH);
- pingPong = 1 - pingPong;
- */
- if (xbee.available()) {
- char val = xbee.read(); // this will read from the xbee
- int turns=splitString(val,',',0);
- int moving=splitString(val,',',1);
- int sent=splitString(val,',',2);
- if(moving > 0){
- digitalWrite(12, HIGH);
- digitalWrite(9, LOW);
- analogWrite(3, 100);
- }
- if(moving < 0){
- digitalWrite(12, LOW);
- digitalWrite(9, LOW);
- analogWrite(3, 100);
- }
- }
- delay( 300 );
- }
- String splitString(String s, char parser, int index){
- String rs='\0';
- int parserIndex = index;
- int parserCnt=0;
- int rFromIndex=0, rToIndex=-1;
- while(index>=parserCnt){
- rFromIndex = rToIndex+1;
- rToIndex = s.indexOf(parser,rFromIndex);
- if(index == parserCnt){
- if(rToIndex == 0 || rToIndex == -1){
- return '\0';
- }
- return s.substring(rFromIndex,rToIndex);
- }
- else{
- parserCnt++;
- }
- }
- return rs;
- }
Add Comment
Please, Sign In to add comment