Lab_interaccio/2010/anaisa_motores/anaisa_motores.pde
2025-02-25 21:29:42 +01:00

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));
}