Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

projektews2013:wwsr:start

Dies ist eine alte Version des Dokuments!




Wheelpowered, WLANcontrolled Support Robot (Florian René Beier,Konrad Yuri Gbur)

SimpleReceiveSoftwareSerial_Mega.ino
// How to send OSC messages from an Arduino.
// This Example is in the public domain.
 
// Important known issues:
// The Wifly provides no means to get the data from a single UDP package at a time
// Everything is just dumped to the serial connection.
// The only hint that a package is finished is that reading from the serial *might* time out
// To make things work anyway:
// 1. Use a high baud rate for communication with the Wifly: 115200 on a hardware serial is perfect.
// 2. Adjust the timeout in server.availableCheck(). 2ms works fine with 115200baud.
// 3. If possible, let the controlling Program pause at least 1.5 times the timout between sending OSC messages.
 
#include <WiFlyHQ.h>
#include <ArdOSCForWiFlyHQ.h>
#include <Servo.h>
//#include <SoftwareSerial.h>
//SoftwareSerial softSerial(2,3); // Rx is the recieving pin, Tx is the transmitting pin
 
WiFly wifly;
OSCServer server(&wifly);
int winkel = 0;
int ledPin=13;
Servo myservo;
void setup()
{ 
  myservo.attach(22);
  myservo.write(winkel);
  Serial.begin(115200);
  //use the convenient setup.
  wifly.setupForUDP<HardwareSerial>(
    &Serial3,   //the serial you want to use (this can also be a software serial)
    57600, // if you use a hardware serial, I would recommend the full 115200. This does not work with a software serial.
    true,	// should we try some other baudrates if the currently selected one fails?
    "arduinonet",  //Your Wifi Name (SSID)
    "florian3", //Your Wifi Password 
    "WiFly",                 // Device name for identification in the network
    0,         // IP Adress of the Wifly. if 0 (without quotes), it will use dhcp to get an ip
    8000,                    // WiFly receive port
    "255.255.255.255",       // Where to send outgoing Osc messages. "255.255.255.255" will send to all hosts in the subnet
    8001,                     // outgoing port
    true	// show debug information on Serial
  );
  wifly.printStatusInfo(); //print some debug information 
 
  pinMode(ledPin,OUTPUT); //prepare to fade th einternal LED by OSC
   // Register a callback fuction of the LED fading.
   // When a message is with the adress "/ard/ledFade" is received, "setLedFade" will be invoked.
   server.addCallback("/ard/ledFade",&setLedFade);
   wifly.startCommand();
 
}
 
 
void loop()
{
	//check for new incoming messages. If a message with a registered adress is recieved, the callback function will be invoked.
  if(server.availableCheck(2)>0)
  {  
    //debugoutln("alive!"); //callback after process
  }
  Serial.println(wifly.getRSSI());
  if(winkel < 180){
    winkel++;
 
  }
  if(winkel>=180){
    winkel=0;
  }
   myservo.write(winkel);
   delay(50);
 
}
 
void setLedFade(OSCMessage *_mes){
  //get 1st argument(int32) and use it to fade the LED
  int fadeValue=_mes->getArgInt32(0);
  Serial.println(fadeValue);
  analogWrite(ledPin,fadeValue );
}
projektews2013/wwsr/start.1386598804.txt.gz · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)