Código desastroso

No me para de dar error, me sale error compilando para la tarjeta de arduino uno, y no se que hacer, urgente, voy a suspender

void loop() {
#include <LiquidCrystal.h>
   LiquidCrystal lcd(8, 9, 10, 11, 12, 13);

   const int gas = 0;
   int MQ2pin = A0;

   {void setup()
      ; lcd.begin(16, 2);
   Serial.begin(9600);
   }

   {void loop()
      ;  float sensorValue, MQ2pin;
   sensorValue = analogRead(MQ2pin);

   if (sensorValue >= 330) {
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("CO2 Detectado");
      lcd.setCursor(5, 1);
      lcd.print(sensorValue);
   }
   else {
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("No Detectado CO2");
      lcd.setCursor(5, 1);
      lcd.print(sensorValue);
   }
   delay(1000);
   }

#define gassensor {float getsensorValue(int pin)
#define gassensor ;( return (analogRead(pin));
   }

Editado por moderador: Título y código.

Su publicacion se MUEVE a su ubicacion actual ya que es mas adecuada.

Hola bienvenido al foro, por favor lee las normas del foro y coloca el código con las etiquetas que corresponden, además edita el Titulo que no aporta nada al problema o al error del código, ahora en tu código está mal declarado las librerías que estas utilizando además tienes dos void loops() es imposible que eso copile aparte de eso faltan llaves de inicio y cierre de las instrucciones en el codigo

Me parece que tienes que estar mas atento en clase :rofl:
Compara y estudia tu codigo corregido y comentado.

// AL PRINCIPIO Y ANTES DEL " SETUP () " VAN TODAS LAS LIBRERIAS, DECLARACIONES,DEFINICION
//DE VARIABLES ETC, TODO LO NECESARIO PARA QUE FUNCIONE EL CODIGO

//void loop() { TE HAS PRECIPITADO ESTO VA MAS TARDE
#include <LiquidCrystal.h> //CORRECTO
LiquidCrystal lcd(8, 9, 10, 11, 12, 13);//CORRECTO
const int gas = 0; //CORRECTO
int MQ2pin = A0;   //C0RRECTO
float sensorValue; // ESTO VA AQUI

// AQUI EMPIEZA EL CODIGO
//{void setup()    //SOBRA EL PARENTESIS
void setup() {
  // TODO LO QUE VA ENTRE LOS PARENTESIS DEL SETUP SE EJECUTA UNA SOLA VEZ
  
  //; lcd.begin(16, 2); // SOBRA EL ; INICIAL
  lcd.begin(16, 2); // Se inicia la pantalla
  Serial.begin(9600);// Se inicia el puerto serie, comunicacion con pc a 9600 baudios
}// Fin del setup.

//{void loop()//EL { NO VA AL PRINCIPIO
void loop() {
  // TODO LO QUE VA ENTRE LOS PARENTESIS DEL LOOP SE EJECUTA REITERADAMENTE
  //AL ACABAR LA ULTIMA INSTRUCCION SE VUELVE A EMPEZAR Y ASI INDEFINIDAMENTE

  //LA SIGUIENTE LINEA ES DEFINICION DE VARIABLES VAN ANTES DEL SETUP
  //ADEMAS REDEFINES LA VARIABLE MQ2pin. MUEVO Y CORRIJO
  //; float sensorValue,MQ2pin;

  sensorValue = analogRead(MQ2pin);
  if (sensorValue >= 330) {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("GAS Detectado");//CAMBIO EL TETO EL MQ2 NO ES DE CO2
    lcd.setCursor(5, 1);
    lcd.print(sensorValue);
  } else {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("No Detectado GAS");//CAMBIO EL TETO EL MQ2 NO ES DE CO2
    lcd.setCursor(5, 1);
    lcd.print(sensorValue);
  }
  delay(1000);
}// Fin del LOOP

// ¿ QUE DIABLOS QUIERES HACER CON LAS DOS SIGUIENTES LINEAS SIN SENTIDO ALGUNO?
//#define gassensor {float getsensorValue(int pin)
//#define gassensor ;( return (analogRead(pin));
//} SOBRA
1 Like

MUCHAS GRACIAS, pero, ahora me sale esto:

El Sketch usa 4658 bytes (14%) del espacio de almacenamiento de programa. El máximo es 32256 bytes.
Las variables Globales usan 268 bytes (13%) de la memoria dinámica, dejando 1780 bytes para las variables locales. El máximo es 2048 bytes.
AYUDA PORFA

No tienes ni idea de lo que haces, cierto?

no, pero necesito aprobar

Es un mensaje totalmente normal de una compilación exitosa, te está informando de los recursos que usas y los que te quedan.
Preocúpate cuando te salsa alguno en naranja diciendo que usas más memoria dinámica, (RAM), de la que tienes y no puede compilar, o que usas tanta memoria que puedes tener inestabilidad.

vale ya lo entiendo, pero ahora me sale esto

Problem uploading to board.  See https://support.arduino.cc/hc/en-us/sections/360003198300 for suggestions.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
Problem uploading to board.  See https://support.arduino.cc/hc/en-us/sections/360003198300 for suggestions.

Editado por moderador

Eso ya es otra cosa distinta a errores en compilación, sube el esquema electrico, enlaces a componentes y objetivos a lograr.

Eso es problema de cable USB con un 99% de seguridad.
Prueba con otro cable

O que se lea la página que le indica en el mensaje de error así aprende.

Me encantaría, pero mi profesor literalmente nos dijo que teníamos que copiar un código QUE EL NOS DABA, y después solo era pegarlo en la aplicación, así que si mi profesor no me explica lo que tengo que hacer yo no lo voy a averiguar por mi cuenta, porque por mucho que quiera entenderlo no es lo mismo que si te lo explica alguien

Pues no veo otra forma de solucionarlo, después de todo el que tienes que aprobar eres tú, no nosotros. Saludos

por eso pedí ayuda, y me habeis ayudado un montón vaya, pero mi profesor me ha dicho que el no sabe lo que le pasa, así que he tenido que recurrir a esto

Me cuesta creer que tu profesor sea tan burro como para escribir un código como el de #1, salvo que lo haya hecho a propósito para que Uds. encuentren los errores.

Y por cierto, corrige el título y el post #1 para que el código se vea como el que subió @gonpezzi (lee las Normas de Foro).
Ya te lo había dicho @Swift y no hiciste caso, vas a lograr que te sancionen.

como lo puedo hacer?

y si, todo mi curso tiene el mismo problema con el profesor


Acabo de cerrar tu otro hilo.
Vengo a este y me ecuentro que no editas el titulo.
No editas el código
Posteas no una sino varias veces haciendo caso omiso a las advertencias.
Tienes una ultima oportunidad o recibirás una sanción por no respetar las normas del foro.
Edita Titulo según punto 5.
Edita código con etiquetas.
Edita error con etiquetas.

Porque le dan la solución a alguien que no lo merece?
Alguien que solo quiere aprobar, sus palabras.
Viene al foro, postea acá y en el foro en inglés, no respeta idiomas, normas, y se sale con la suya sin hacer nada, ni siquiera la tarea.
El foro ayuda a quien se esfuerza.
Si no sabe que aprenda.
Y si no aprueba, tal vez le sirva para estudiar y aprender algo.

me acaban de dar la nota, saqué un 10, pero gracias, adiós, no volveré a usar la app ; )