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

Commentaires

  • Bienvenue dans Arduino: SE. Votre vie serait tellement plus facile si vous indentiez correctement votre code. Il serait alors assez évident où devrait se trouver le } manquant.
  • maidez-vous?
  • @Duc Hoang: Êtes-vous en train de formater votre code correctement, quil est lisible? Sélectionnez dans léditeur de questions et cliquez sur le {} bouton
  • Jamais auparavant je navais vu une utilisation aussi aléatoire de crochets …;)
  • do you help me? …. vous devez commencer par vous aider ….. lire et comprendre les réponses ci-dessous ….. ne pas copier et coller du code sans réfléchir

Réponse

Quelques règles de programmation:

Commencez chaque instruction sur une nouvelle ligne

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

Utilisez des crochets et alignez-les

.. donc chaque paire de {et} est sur la même colonne et alignez le code avec des crochets pour être en retrait de 2, 3 ou 4 espaces

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

Supprimer les crochets superflus

Comme vous pouvez voir que vous avez des crochets superflus / manquants. Ce que vous voulez, cest probablement quelque chose comme:

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

Supprimer le code en double

Dans linstruction if, vous exécutez deux fois le même code (tous les deux vous envoyez un analogWrite avec la même valeur, donc le code (du Les boucles for peuvent être réduites à:

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

Incertain

Ce qui nest pas clair pourquoi vous écrivez dabord une valeur analogique, et directement après (dans chaque cas) vous écrivez la même valeur. Je ne sais pas ce que vous voulez vraiment ici. Soit vous voulez écrire une broche différente, ou vous voulez un délai (pour que la valeur ait un effet), je ne suis pas sûr.

Réponse

Regardez vos crochets ouverts {vs les crochets fermants,}. Vous avez besoin du même nombre de chacun. Si vous avez ceci dans lIDE Arduino et utilisez CTRL-T, ils sont assez faciles à trouver. Jai juste regardé, et je peux repérez-les assez facilement.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *