expected `}' at end of input
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);
}
}
@Đức Hòang, 👍0
Обсуждение2 ответа
Посмотрите на открытые скобки { и закрывающие скобки, }. Вам понадобится одинаковое количество каждого из них. Если у вас есть это в Arduino IDE и используется сочетание клавиш CTRL-T, их довольно легко найти. Я только что посмотрел и довольно легко их заметил.
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 = ");
{ << bracket for what?
for(int a = 255; a>=0;a--) { << missing closing bracket
analogWrite(6,a);
if (pressure_bar = 1600){ << missing closing bracket
analogWrite (6, a);
if (pressure_bar > 1600){
analogWrite (6, a);
}
for(int a = 0; a<256; a++) {
analogWrite(6, a);
{ << wrong direction
if(pressure_bar < 1600){
analogWrite (6, a);
}
for(int b = 255; b>=0;b--) {
analogWrite(9, b);
{ << wrong direction
if (pressure_bar == 1600){ << missing closing bracket
analogWrite (9, b);
if(pressure_bar < 1600){ << missing closing bracket
analogWrite (9, b);
}
for(int b = 0; b<256; b++) {
analogWrite(9, b);
{ << wrong direction
if (pressure_bar > 1600){
analogWrite (9, b);
}
} << closing bracket for loop
Некоторые рекомендации по программированию:
Начинайте каждый оператор с новой строки
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);
} }
Используйте скобки и выравнивайте их
.. чтобы каждая пара { и } находилась в одном столбце, и выровняйте код с помощью скобок, чтобы отступ был равен 2, 3 или 4 пробелам.
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);
}
}
Удалите лишние скобки
Как видите, у вас есть лишние/отсутствующие скобки. Вероятно, вам нужно что-то вроде:
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);
}
}
}
Удалить повторяющийся код
В операторе if вы дважды выполняете один и тот же код (оба раза вы отправляете analogWrite
с одним и тем же значением, поэтому код (из циклов for можно сократить до:
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);
}
}
}
Неясно
Что непонятно, почему вы сначала пишете аналоговое значение, а сразу после (в каждом if) пишете одно и то же значение. Я не уверен, чего ты на самом деле здесь хочешь. Либо вы хотите записать на другой вывод, либо вам нужна задержка (чтобы значение имело какой-то эффект), я просто не уверен.
- Печать string and integer LCD
- Почему мои часы реального времени показывают неверное время с моего ПК?
- Arduino uno + cnc Shield v3 + драйвер шагового двигателя A4988 + AccelStepper?
- Отправьте несколько значений int из Python в Arduino, используя pySerial
- Глобальные переменные занимают много места в динамической памяти.
- (Код ультразвукового датчика: такого файла или каталога нет)
- rfid_default_keys проверить с помощью RC522
- Команда strtok() с Serial связью
Добро пожаловать в Arduino:SE. Ваша жизнь была бы намного проще, если бы вы правильно сделали отступы в своем коде. Тогда будет совершенно очевидно, где должен находиться отсутствующий
}
., @sempaiscubaпоможешь мне?, @Đức Hòang
@Duc Hoang: Правильно ли вы форматируете свой код, чтобы он был читаемым? Выберите в редакторе вопросов и нажмите кнопку {}, @chrisl
Никогда раньше я не видел такого случайного использования скобок... ;), @Majenko
вы мне помогаете?
.... вам нужно начать с помощи себе ..... прочитайте и поймите ответы ниже ..... не копируйте и не вставляйте код, не задумываясь, @jsotolaтакже, какой текстовый редактор/IDE вы используете? Некоторые из них выделяют соответствующие скобки, но не скобки Arduino., @aaaaa says reinstate Monica