SUMO-Roboter über W-LAN fernsteuern
(EN google-translate)
(PL google-translate)
Besucher sollen mit einem ferngesteuerten SUMO gegen einen autonomen SUMO antreten, indem sie Ersteren über W-LAN fernsteuern.
Das verwendete Modul ESP8266 setzt die W-LAN-Schnittstelle seriell gegenüber einem Mikrocontroller um.
Er benötigt eine Stromversorgung von 3,3 Volt, die entweder über einen Spannungsregler bereitgestellt werden kann, oder an einem Arduino abgegriffen werden kann.
Links
//#define BAUDRATE 9600
#define BAUDRATE 115200
//#define BAUDRATE 57600
void initTimer1()
{
TCCR1B &= ~(1<<WGM13); //Mode 4
TCCR1B |= (1<<WGM12);
TCCR1A &= ~(1<<WGM11);
TCCR1A &= ~(1<<WGM10);
//Vorteilung 1: 16000000Hz
TCCR1B &= ~(1<<CS12);
TCCR1B &= ~(1<<CS11);
TCCR1B |= (1<<CS10);
//f = fclk/(2*N*(OCR1A+1))
//OCR1A = (fclk/(f*2*N))-1
//OCR1A = 8000000/440 - 1 == 18181
//KORRIGIERT:
//********************************
//OCR1A = 4000000/440 - 1 == 9091
//OCR1A = 16000000/(f*4*N) - 1 == 9091
//********************************
//OCR1A=9091; //0,5Hz == 4 Schläge!
// OCR1A=132; //0,5Hz == 4 Schläge!
OCR1A=264; //0,5Hz == 4 Schläge!
//Toggle auf OC1A:
TCCR1A &= ~(1<<COM1A1);
TCCR1A |= (1<<COM1A0);
pinMode(9,OUTPUT);
}
void setup()
{
//Motortest bei D11, D12:
//pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
//digitalWrite(11,HIGH);
digitalWrite(12,HIGH);
analogWrite(11,15);
initTimer1();
//PB2 sicher deaktivieren, da als toter Pin für IR-Anode benötigt:
DDRB &= ~0b00000100;
//TSOP 31230 aktivieren:
//Spannungsversorgung IR-Sensor:
pinMode(22,OUTPUT); //A4
pinMode(23,OUTPUT); //A5
digitalWrite(22,LOW);
digitalWrite(23,HIGH);
Serial.begin(BAUDRATE); //Kabelverbindung
Serial1.begin(BAUDRATE); //Infrarot-Verbindung
}
void loop()
{
//Zeichen weiterleiten zur IR-Diode:
while(Serial.available())//Senden
{
Serial1.write(Serial.read());
}
while(Serial1.available()) //Empfangen
{
Serial.write(Serial1.read());
}
}
Code 0-1: Seriell weiterleiten. Baudrate testen!
Mögliches Vorgehen
|
Schaltvarianten
Bild 0-1: http://microcontrollerkits.blogspot.de/2015/05/arduino-esp8266-iot-control-thingspeak.html
Bild 0-2: http://www.instructables.com/id/noobs-guide-to-ESP8266-with-Arduino-Mega-2560-or-U/
Bild 0-3: http://www.whatimade.today/esp8266-and-the-water-heater/