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); } }
Megjegyzések
Válasz
Néhány iránymutatás a programozáshoz:
Indítsa el az utasításokat egy új sor
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); } }
zárójelek használata és igazítása
.. tehát a {és} párok ugyanazon az oszlopon vannak, és igazítsd a kódot a zárójeles zárójelek közé, amelyeket behúzunk 2, 3 vagy 4 szóközökbe
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); } }
Távolítsa el a felesleges zárójeleket
As láthatja, hogy van néhány felesleges / hiányzó zárójel. Amire vágysz, valószínűleg valami ilyesmi:
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); } } }
Ismétlődő kód eltávolítása
Az if utasításban kétszer ugyanazt a kódot hajtja végre (mindkettőt elküldi egy analogWrite
azonos értékkel, így a kód (a mert a hurkok a következőkre redukálhatók:
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); } } }
Nem világos
Mi nem világos, miért írsz először analóg értéket, és közvetlenül utána (mindegyik if-ben) ugyanazt az értéket írja. Nem vagyok biztos benne, mit akarsz itt. Vagy írnod kell egy másik tű, vagy késleltetést szeretne (hogy az értéknek legyen valamilyen hatása), egyszerűen nem vagyok biztos benne.
Válasz
Nézze meg a nyitott zárójeleket {vs záró zárójelek,}. Mindegyiknek ugyanannyira van szüksége. Ha ez megvan az Arduino IDE-ben, és használja a CTRL-T-t, akkor ezek kissé könnyen megtalálhatók. Csak néztem, és meg tudom elég könnyen észreveheti őket.
}
lenni.do you help me?
…. azzal kell kezdened, hogy segítesz magadnak ….. olvassa el és értse meg az alábbi válaszokat ….. ne másolja és illessze be a kódot gondolkodás nélkül