Pages

(TCP/IP) Zumocontrol sketch for Intel Edison Arduino board

// for the PWM 10 pin in the Intel Edison Arduino Board
// pin 6 has to output with pin 10
// no need to Ethernoet setting for TCP/IP communication. Intel Edison already setup the Wifi.
#include <SPI.h>
#include <Ethernet.h>
#define PWM_L1 6   // for PWM 10
#define PWM_L 10
#define PWM_R 9
#define DIR_L 8
#define DIR_R 7
EthernetServer server(8888);
void setup() {
// put your setup code here, to run once:
// Serial.begin(9600);
server.begin();
//setPwmSwizzler(3,5,10,9);   // is not working in the edison board
pinMode(10,OUTPUT);
pinMode(6,OUTPUT);
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);
}
boolean alreadyConnected = false;
int speed=200;
int reverse = 1;
void sstop(){
// speed = 0;
analogWrite(PWM_L1, 0);
// analogWrite(PWM_L, 0);
analogWrite(PWM_R, 0);
// analogWrite(PWM_R, speed * 51 / 80);
// digitalWrite(10, 0);
digitalWrite(6, 0);
digitalWrite(9, 0);
// Serial.write("stop");
reverse = 1;
}
void go(){
analogWrite(PWM_L1, speed * 51 / 80);
analogWrite(PWM_L, speed * 51 / 80);
analogWrite(PWM_R, speed * 51 / 80);
digitalWrite(DIR_L, 0);
digitalWrite(DIR_R, 0);
reverse = 1;
}
void back(){
analogWrite(PWM_L1, speed * 51 / 80);
analogWrite(PWM_L, speed * 51 / 80);
analogWrite(PWM_R, speed * 51 / 80);
digitalWrite(DIR_L, 1);
digitalWrite(DIR_R, 1);
reverse = -1;
//Serial.write("back");
}
void left(){
speed= speed +25;
analogWrite(PWM_L1, speed * 51 / 80);
analogWrite(PWM_L, speed * 51 / 80);
if(reverse >0){
digitalWrite(DIR_L, 1);
}else if(reverse <0){
digitalWrite(DIR_L, 0);
}
}
void right(){
speed= speed +25;
//analogWrite(PWM_L1, speed * 51 / 80);
analogWrite(PWM_R, speed * 51 / 80);
if(reverse >0){
digitalWrite(DIR_R, 1);
}else if(reverse <0){
digitalWrite(DIR_R, 0);
}
}
char command= 'n';
int count =0;
void loop() {
EthernetClient client = server.available();
// if (client) {
if (client.available() > 0) {
// read the bytes incoming from the client:
command= client.read();
// echo the bytes back to the client:
// server.write(thisChar);
// echo the bytes to the server as well:
// Serial.write(command);
// }
switch(command)
{
count++;
case 'g':
go();
client.flush();
break;
case 's':
sstop();
// Serial.write("stop");
client.flush();
break;
case 'r':
right();
client.flush();
break;
case 'l':
left();
client.flush();
break;
case 'b':
back();
client.flush();
// Serial.write("stop");
break;
}
if(count <10){
command='n';
count =0;
}
}
Share:

No comments:

Post a Comment

Powered by Blogger.

Popular Posts