100 lines
1.5 KiB
Plaintext
100 lines
1.5 KiB
Plaintext
int speed1 = 11;
|
|
int g1a = 10;
|
|
int g1b = 9;
|
|
int flag = 0;
|
|
unsigned long time =0;
|
|
int val=0;
|
|
int pot=0;
|
|
|
|
void stop()
|
|
{
|
|
digitalWrite(g1a, LOW);
|
|
digitalWrite(g1b, LOW);
|
|
analogWrite(speed1, 0);
|
|
}
|
|
|
|
void izquierda(int iz)
|
|
{
|
|
digitalWrite(g1a, HIGH);
|
|
digitalWrite(g1b, LOW);
|
|
analogWrite(speed1, iz);
|
|
}
|
|
|
|
void derecha(int der)
|
|
{
|
|
digitalWrite(g1a, LOW);
|
|
digitalWrite(g1b, HIGH);
|
|
analogWrite(speed1, der);
|
|
}
|
|
|
|
void setup()
|
|
{
|
|
Serial.begin(57600);
|
|
delay(100);
|
|
|
|
pinMode(g1a, OUTPUT);
|
|
pinMode(g1b, OUTPUT);
|
|
pinMode(14, INPUT);
|
|
stop();
|
|
//digitalWrite(14,HIGH);
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
if ((!digitalRead(14))&&(!flag))
|
|
{
|
|
Serial.print(0x01,BYTE);
|
|
flag=1;
|
|
}
|
|
else if ((digitalRead(14))&&(flag))
|
|
{
|
|
Serial.print(0x00,BYTE);
|
|
flag=0;
|
|
}
|
|
|
|
if (Serial.available()) {
|
|
val = Serial.read();
|
|
}
|
|
|
|
if ((val&0x01)==0x01)
|
|
{
|
|
pot=val>>1;
|
|
//Serial.println(pot);
|
|
if (pot<64)
|
|
{
|
|
izquierda(map(pot, 63, 0, 0, 255));
|
|
}
|
|
else if (pot>=64)
|
|
{
|
|
derecha(map(pot, 64, 127, 0, 255));
|
|
}
|
|
//val=0x00;
|
|
}
|
|
else if ((val&0x01)==0x00)
|
|
{
|
|
izquierda(0);
|
|
derecha(0);
|
|
}
|
|
|
|
|
|
/*if ((!digitalRead(14))&&(!flag))
|
|
{
|
|
flag=1;
|
|
derecha(200);
|
|
Serial.print(0x01,BYTE);
|
|
time=millis();
|
|
}
|
|
else
|
|
{
|
|
if (((millis()-time)>=5000)&&(flag) )
|
|
{
|
|
flag=0;
|
|
derecha(0);
|
|
Serial.print(0x00,BYTE);
|
|
}
|
|
}*/
|
|
// Serial.println(analogRead(0));
|
|
|
|
}
|
|
|