Go Down

Topic: Error Compilando para tarjeta Arduino/Genuino Uno (Read 136 times) previous topic - next topic

RodrigoContre

Amigos, por favor ayuda.

Soy más o menos nuevo en esto. Ya he hecho algunas cosas sin problema, pero ahora que quiero hacer un sistema que grabe datos de temperatura y presión atmosférica en una SD y que también se vean en una LCD 16x2 conectada a través de I2C.

Pero al tratar de compilar me da el mensaje de la referencia. Me pueden ayudar a solucionar mi problema, por favor?

"Exit status 1
Error Compilando para tarjeta Arduino/Genuino Uno"


El código es el siguiente:

#include <SPI.h>                        // incluye libreria interfaz SPI
#include <SD.h>                         // incluye libreria para tarjetas SD
#define SSpin 10                       // Slave Select en pin digital 10

File archivo;                                // objeto archivo del tipo File

#include <Wire.h>                      // incluye libreria de bus I2C
#include <Adafruit_Sensor.h>      //
#include <Adafruit_BMP085.h>

Adafruit_BMP085 bmp;                // crea objeto con nombre bmp


#include <LCD.h>
#include <LiquidCrystal_I2C.h>


LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7) // señala los pines que usará la pantalla.


#include <RTClib.h>                          // incluye la librería RCT para controlar el reloj de tiempo real

RTC_DS1307 RTC;                             // Establece el valor RTC a partir de de RTC_DS1307


int TEMPERATURA;                           // variable para almacenar valor de temperatura
int PRESION;                                   // variable para almacenar valor de presion
int PULSADOR = 8;
int Pulsador = LOW;                        // define el pulsador en LOW   



void setup() {
  Serial.begin(9600);                       // inicializa monitor serie a 9600 bps
  bmp.begin();                                // inicializacion de sensor
  lcd.begin(16, 2);                          // inicializa la pantalla LCD
  RTC.begin();                                // Inicia la comunicaci¢n con el RTC
  pinMode(PULSADOR,INPUT);                        // define el pin 8 como entrada

//   RTC.adjust(DateTime(__DATE__, __TIME__));

  Serial.println("Inicializando tarjeta ...");         // texto en ventana de monitor

  if (!SD.begin(SSpin)) {                                 // inicializacion de tarjeta SD
    Serial.println("fallo en inicializacion !");       // si falla se muestra texto correspondiente y
  }

  Serial.println("inicializacion correcta");      // texto de inicializacion correcta
  archivo = SD.open("datos.txt", FILE_WRITE);     // apertura para lectura/escritura de archivo datos.txt

 }


void loop() {                                     // funcion loop() obligatoria de declarar pero no utilizada
  if (archivo) {
     
    while(digitalRead(PULSADOR)== LOW){          // mientras el pulsador esté apagado, hará lo que sigue

      TEMPERATURA = bmp.readTemperature();        // almacena en variable valor leido de temperatura
      PRESION = bmp.readPressure()/100;           // almacena en variable valor leido de presion
      DateTime now = RTC.now();                     // Obtiene la fecha y hora del RTC


      archivo.print(now.year(), DEC);                // A§o         
      archivo.print('/');
      archivo.print(now.month(), DEC);               // Mes
      archivo.print('/');
      archivo.print(now.day(), DEC);                 // Dia
      archivo.print(',');
      archivo.print(now.hour(), DEC);                // Horas
      archivo.print(':');
      archivo.print(now.minute(), DEC);              // Minuto   
     
      archivo.print(",");                         // escribe en tarjeta una coma
      archivo.print(TEMPERATURA-2);               // escribe en tarjeta el valor de temperatura
      archivo.print(",");                         // escribe en tarjeta una coma
      archivo.println(PRESION);                   // escribe en tarjeta el valor de presion y salto de linea

      Serial.print(now.year(), DEC);                // A§o         
      Serial.print('/');
      Serial.print(now.month(), DEC);               // Mes
      Serial.print('/');
      Serial.print(now.day(), DEC);                 // Dia
      Serial.print(',');
      Serial.print(now.hour(), DEC);                // Horas
      Serial.print(':');
      Serial.print(now.minute(), DEC);              // Minutos
     
      Serial.print(",");                          // escribe en monitor una coma
      Serial.print(TEMPERATURA-2);                // escribe en monitor el valor de temperatura
      Serial.print(",");                          // escribe en monitor una coma
      Serial.println(PRESION);                    // escribe en monitor el valor de presion y salto de linea

      lcd.clear();
      lcd.setCursor(0,0);                         // Sitúa el cursor en las cordenadas 0,0.

      lcd.print(now.year(), DEC);                // A§o         
      lcd.print('/');
      lcd.print(now.month(), DEC);               // Mes
      lcd.print('/');
      lcd.print(now.day(), DEC);                 // Dia
      lcd.print(' ');
      lcd.print(now.hour(), DEC);                // Horas
      lcd.print(':');
      lcd.print(now.minute(), DEC);              // Minutos

      lcd.setCursor(0,1);                         // Sitúa el cursor en las cordenadas 0,0.
      lcd.print("Temp ");                        // Escribe lo que está entre comillas
      lcd.print(TEMPERATURA-2);
      lcd.print(" Pre ");
      lcd.print(PRESION);
 

      delay(1000);                                // demora de 1 Minuto
      }

   
    archivo.close();                              // cierre de archivo
    Serial.println("escritura correcta");         // texto de escritura correcta en monitor serie
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Escritura OK");
   }
 
  else {
    Serial.println("error en apertura de datos.txt"); // texto de falla en apertura de archivo
    lcd.print("error en apertura de datos.txt");
  }
}


surbyte

Vaya vaya, te has equivocado de lugar.
Te invito a que leas las normas del foro y ten presente que hay lugares para consultas y otros para diferentes cosas.
Justamente Proyectos es uno de ellos asi que moveré tu hilo a Software
Ahora luego de leer las normas edita tu post usando etiquetas para códigos

Go Up