conexión serial Arduino

0

He escrito un pequeño programa para Arduino, en el que recibe un número de dos dígitos de la serie, por ejemplo, "" 26 ". Luego establece el voltaje ALTO en el pin 2 con una duración de 6 * 100. Eso funciona bien , excepto que también tengo un LED conectado al pin 4, y su voltaje se establece en ALTO al inicio, pero cuando Arduino recibe / envía a través del serial, baja el voltaje, ¿es normal?

El código es el siguiente:

int pts = 4;

String input;

void flash(int pin, int duration){
  Serial.println(pin);
  Serial.println(duration);
  pinMode(pin, OUTPUT);
  digitalWrite(pin, HIGH);
  delay(duration);
  digitalWrite(pin, LOW);
}

void setup() {
  input="";
  digitalWrite(pts, HIGH);
  pinMode(pts,OUTPUT);
  Serial.begin(9600);
}

void parseInput(){
  if(Serial.available()>0){
//digitalWrite(led, LOW);
char incomingByte=(char)Serial.read(); 
input+=incomingByte;
delay(10);
  }
  else{

if(input!="")
{
  flash(input[0]-'0', (input[1]-'0') *100);
}
input=""; 
  }
}

void loop()
{
  parseInput();     
}
    
pregunta MustSeeMelons

1 respuesta

2

¿Ha intentado mover el modo de pin en la configuración de debajo de la escritura digital a la parte superior? Esto podría causar el comportamiento extraño.

pinMode(pts,OUTPUT); 
digitalWrite(pts, HIGH);
    
respondido por el Dr Coconut

Lea otras preguntas en las etiquetas