int scvVal = 6; int drvVal = 9; int sensorVal = A1; void setup() { Serial.begin(9600); pinMode(6, OUTPUT); pinMode(9, OUTPUT); } void loop(){ sensorVal = analogRead(A1); Serial.print("Sensor Value: "); Serial.print(sensorVal); float voltage = (sensorVal*5.0)/1024.0; Serial.print("Volts: "); Serial.print(voltage); float pressure_pascal = (400.0*((float)voltage-0.5))*1000000.0; float pressure_bar = pressure_pascal/10e5; Serial.print("Pressure = "); Serial.print(pressure_bar); Serial.println(" bars"); Serial.print("Pressure = "); { for(int a = 255; a>=0;a--) { analogWrite(6,a); if (pressure_bar = 1600){ analogWrite (6, a); if (pressure_bar > 1600){ analogWrite (6, a); } for(int a = 0; a<256; a++) { analogWrite(6, a); { if(pressure_bar < 1600){ analogWrite (6, a); } for(int b = 255; b>=0;b--) { analogWrite(9, b); { if (pressure_bar == 1600){ analogWrite (9, b); if(pressure_bar < 1600){ analogWrite (9, b); } for(int b = 0; b<256; b++) { analogWrite(9, b); { if (pressure_bar > 1600){ analogWrite (9, b); } }
Comentarios
Respuesta
Algunas pautas para la programación:
Inicie cada declaración en una nueva line
int scvVal = 6; int drvVal = 9; int sensorVal = A1; void setup() { Serial.begin(9600); pinMode(6, OUTPUT); pinMode(9, OUTPUT); } void loop(){ sensorVal = analogRead(A1); Serial.print("Sensor Value: "); Serial.print(sensorVal); float voltage = (sensorVal*5.0)/1024.0; Serial.print("Volts: "); Serial.print(voltage); float pressure_pascal = (400.0*((float)voltage-0.5))*1000000.0; float pressure_bar = pressure_pascal/10e5; Serial.print("Pressure = "); Serial.print(pressure_bar); Serial.println(" bars"); Serial.print("Pressure = "); { for(int a = 255; a>=0;a--) { analogWrite(6,a); if (pressure_bar = 1600){ analogWrite (6, a); if (pressure_bar > 1600){ analogWrite (6, a); } for(int a = 0; a<256; a++) { analogWrite(6, a); { if(pressure_bar < 1600){ analogWrite (6, a); } for(int b = 255; b>=0;b--) { analogWrite(9, b); { if (pressure_bar == 1600){ analogWrite (9, b); if(pressure_bar < 1600){ analogWrite (9, b); } for(int b = 0; b<256; b++) { analogWrite(9, b); { if (pressure_bar > 1600){ analogWrite (9, b); } }
Utilice corchetes y alinéelos
.. por lo que cada par de {y} está en la misma columna y alinea el código con los corchetes para tener una sangría de 2, 3 o 4 espacios
int scvVal = 6; int drvVal = 9; int sensorVal = A1; void setup() { Serial.begin(9600); pinMode(6, OUTPUT); pinMode(9, OUTPUT); } void loop() { sensorVal = analogRead(A1); Serial.print("Sensor Value: "); Serial.print(sensorVal); float voltage = (sensorVal*5.0)/1024.0; Serial.print("Volts: "); Serial.print(voltage); float pressure_pascal = (400.0*((float)voltage-0.5))*1000000.0; float pressure_bar = pressure_pascal/10e5; Serial.print("Pressure = "); Serial.print(pressure_bar); Serial.println(" bars"); Serial.print("Pressure = "); { for(int a = 255; a>=0;a--) { analogWrite(6,a); if (pressure_bar = 1600) { analogWrite (6, a); if (pressure_bar > 1600) { analogWrite (6, a); } for(int a = 0; a<256; a++) { analogWrite(6, a); { if(pressure_bar < 1600) { analogWrite (6, a); } for(int b = 255; b>=0;b--) { analogWrite(9, b); { if (pressure_bar == 1600) { analogWrite (9, b); if(pressure_bar < 1600) { analogWrite (9, b); } for(int b = 0; b<256; b++) { analogWrite(9, b); { if (pressure_bar > 1600) { analogWrite (9, b); } }
Elimine los corchetes superfluos
Como Como puede ver, tiene algunos corchetes superfluos / faltantes. Lo que quiere es probablemente algo como:
int scvVal = 6; int drvVal = 9; int sensorVal = A1; void setup() { Serial.begin(9600); pinMode(6, OUTPUT); pinMode(9, OUTPUT); } void loop() { sensorVal = analogRead(A1); Serial.print("Sensor Value: "); Serial.print(sensorVal); float voltage = (sensorVal*5.0)/1024.0; Serial.print("Volts: "); Serial.print(voltage); float pressure_pascal = (400.0*((float)voltage-0.5))*1000000.0; float pressure_bar = pressure_pascal/10e5; Serial.print("Pressure = "); Serial.print(pressure_bar); Serial.println(" bars"); Serial.print("Pressure = "); for(int a = 255; a>=0;a--) { analogWrite(6,a); if (pressure_bar = 1600) { analogWrite (6, a); } if (pressure_bar > 1600) { analogWrite (6, a); } } for(int a = 0; a<256; a++) { analogWrite(6, a); if(pressure_bar < 1600) { analogWrite (6, a); } } for(int b = 255; b>=0;b--) { analogWrite(9, b); if (pressure_bar == 1600) { analogWrite (9, b); } if(pressure_bar < 1600) { analogWrite (9, b); } } for(int b = 0; b<256; b++) { analogWrite(9, b); if (pressure_bar > 1600) { analogWrite (9, b); } } }
Eliminar el código duplicado
En la sentencia if, ejecuta dos veces el mismo código (ambos envían un analogWrite
con el mismo valor, por lo que el código (del Los bucles for se pueden reducir a:
for(int a = 255; a>=0;a--) { analogWrite(6,a); if (pressure_bar >= 1600) { analogWrite (6, a); } } for(int a = 0; a<256; a++) { analogWrite(6, a); if(pressure_bar <= 1600) { analogWrite (6, a); } } for(int b = 255; b>=0;b--) { analogWrite(9, b); if (pressure_bar <= 1600) { analogWrite (9, b); } } for(int b = 0; b<256; b++) { analogWrite(9, b); if (pressure_bar >= 1600) { analogWrite (9, b); } } }
Poco claro
Lo que no está claro por qué primero escribe un valor analógico, y directamente después (en cada si) escribe el mismo valor. No estoy seguro de lo que realmente quiere aquí. O quiere escribir en un pin diferente, o desea un retraso (para que el valor tenga algún efecto), «no estoy seguro.
Responder
Mire sus corchetes abiertos {frente a corchetes de cierre}. Necesita el mismo número de cada uno. Si tiene esto en el IDE de Arduino y usa CTRL-T, son algo fáciles de encontrar. Solo miré y puedo detectarlos con bastante facilidad.
}
que falta.do you help me?
…. tienes que empezar ayudándote a ti mismo ….. lee y comprende las respuestas a continuación ….. no copie y pegue el código sin pensar