Estos son los distintos códigos que hemos ido utilizando para sus respectivas funciones.
const int pinrele = 12;
const int sensorPin1 = A0;
const int sensorPin2 = A2;
int sensorValue1;
int sensorValue2;
boolean estaon = HIGH;
void setup() {
Serial.begin(9600);
pinMode(pinrele, OUTPUT);
}
void loop() {
int sensorValue1 = analogRead(sensorPin1);
int sensorValue2 = analogRead(sensorPin2);
digitalWrite(pinrele, HIGH);
delay(750);
digitalWrite(pinrele, LOW);
delay(750);
estaon = digitalRead(pinrele);
Serial.print("sensor1 = " );
Serial.print(sensorValue1 * (5.0 / 1023.0));
Serial.print("\t sensor2 = ");
Serial.println(sensorValue2 * (5.0 / 1023.0));
}
(temporal)
const int pinrele = 12;
const int pinboton = 4;
const int sensorPin1 = A0;
const int sensorPin2 = A2;
int sensorValue1;
int sensorValue2;
boolean estaon = HIGH;
boolean estaon2 = HIGH;
void setup() {
Serial.begin(9600);
pinMode(pinrele, OUTPUT);
pinMode(pinboton, INPUT);
}
void loop() {
int sensorValue1 = analogRead(sensorPin1);
int sensorValue2 = analogRead(sensorPin2);
int estaon = digitalRead(pinrele);
int estaon2 = digitalRead(pinboton);
if(estaon2 == HIGH) {
digitalWrite(pinrele, HIGH);
}
else if(estaon2 == LOW) {
digitalWrite(pinrele, LOW);
}
Serial.print("sensor1 = " );
Serial.print(sensorValue1 * (5.0 / 1023.0));
Serial.print("\t sensor2 = ");
Serial.println(sensorValue2 * (5.0 / 1023.0));
}
const int pinrele = 12;
const int pinboton = 4;
const int sensorPin1 = A0;
const int sensorPin2 = A2;
int sensorValue1;
int sensorValue2;
boolean estaon = HIGH;
boolean estaon2 = HIGH;
#include <SPI.h>
#include <SD.h>
File myFile;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
pinMode(pinrele, OUTPUT);
pinMode(pinboton, INPUT);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.print("Initializing SD card...");
if (!SD.begin(4)) {
Serial.println("initialization failed!");
while (1);
}
Serial.println("initialization done.");
// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
myFile = SD.open("testrele.txt", FILE_WRITE);
// if the file opened okay, write to it:
if (myFile) {
Serial.print(digitalRead(pinboton));
myFile.println(digitalRead(pinboton));
delay(1);
// close the file:
myFile.close();
Serial.println("done.");
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
}
void loop() {
int sensorValue1 = analogRead(sensorPin1);
int sensorValue2 = analogRead(sensorPin2);
int estaon = digitalRead(pinrele);
int estaon2 = digitalRead(pinboton);
if(estaon2 == HIGH) {
digitalWrite(pinrele, HIGH);
}
else if(estaon2 == LOW) {
digitalWrite(pinrele, LOW);
}
Serial.print("sensor1 = " );
myFile.print("sensor1 = " );
Serial.print(sensorValue1 * (5.0 / 1023.0));
myFile.print(sensorValue1 * (5.0 / 1023.0));
Serial.print("\t sensor2 = ");
myFile.print("\t sensor2 = ");
Serial.println(sensorValue2 * (5.0 / 1023.0));
myFile.println(sensorValue2 * (5.0 / 1023.0));
delay(1);
}
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
Adafruit_BMP280 bmp;
void setup() {
Serial.begin(9600);
Serial.println(F("BMP280 test"));
if (!bmp.begin()) {
Serial.println(F("Could not find a valid BMP280 sensor, check wiring!"));
while (1);
}
bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Modo de operación */
Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */
Adafruit_BMP280::SAMPLING_X16, /* Presion oversampling */
Adafruit_BMP280::FILTER_X16, /* Filtrado. */
Adafruit_BMP280::STANDBY_MS_500); /* Tiempo Standby. */
}
void loop()
{
Serial.print(F("Temperatura = "));
Serial.print(bmp.readTemperature());
Serial.println(" *C");
Serial.print(F("Presión = "));
Serial.print(bmp.readPressure());
Serial.println(" Pa");
Serial.print(F("Altitud = "));
Serial.print(bmp.readAltitude(1013.25));
Serial.println(" m");
Serial.println();
delay(2000);
}
Las patas del BMP-280 (La LED en el dibujo) representan de izquierda a derecha las entradas SCL, SDA, 3.3 y GND
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include "RTClib.h"
RTC_DS3231 rtc;
File myFile;
String daysOfTheWeek[7] = { "Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado" };
String monthsNames[12] = { "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre" };
void setup()
{
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.print("Initializing SD card...");
if (!SD.begin(4)) {
Serial.println("initialization failed!");
while (1);
}
Serial.println("initialization done.");
// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
myFile = SD.open("hola4.txt", FILE_WRITE);
// if the file opened okay, write to it:
if (myFile) {
Serial.print("Writing to test.txt...");
myFile.println("testing 1, 2, 3.");
// close the file:
myFile.close();
Serial.println("done.");
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
delay(1000);
if (!rtc.begin()) {
Serial.println(F("Couldn't find RTC"));
while (1);
}
if (!rtc.begin()) {
Serial.println(F("Couldn't find RTC"));
while (1);
}
// Si se ha perdido la corriente, fijar fecha y hora
if (rtc.lostPower()) {
// Fijar a fecha y hora de compilacion
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
// Fijar a fecha y hora específica. En el ejemplo, 21 de Enero de 2016 a las 03:00:00
// rtc.adjust(DateTime(2016, 1, 21, 3, 0, 0));
}
}
void loop()
{
myFile = SD.open("hola4.txt", FILE_WRITE);
DateTime now = rtc.now();
Serial.print(now.day());
Serial.print('/');
Serial.print(now.month());
Serial.print('/');
Serial.print(now.year());
Serial.print(" ");
Serial.print(now.hour());
Serial.print(':');
Serial.print(now.minute());
Serial.print(':');
Serial.print(now.second());
Serial.println();
myFile.print(now.day());
myFile.print('/');
myFile.print(now.month());
myFile.print('/');
myFile.print(now.year());
myFile.print(" ");
myFile.print(now.hour());
myFile.print(':');
myFile.print(now.minute());
myFile.print(':');
myFile.print(now.second());
myFile.println();
delay(1000);
myFile.close()
;
}
Las patas del RTC_DS3231 (La LED en el dibujo) representan de izquierda a derecha las entradas SCL, SDA, VCC y GND
#include <SFE_BMP180.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
SFE_BMP180 bmp180;
File myFile;
const int sensorPin1 = A0;
const int sensorPin2 = A2;
int sensorValue1;
int sensorValue2;
float voltaje1 = sensorValue1 * (5.0 / 1023.0);
float voltaje2 = sensorValue2 * (5.0 / 1023.0);
void setup()
{
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.print("Initializing SD card...");
if (!SD.begin(4)) {
Serial.println("initialization failed!");
while (1);
}
Serial.println("initialization done.");
// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
myFile = SD.open("datalog5", FILE_WRITE);
// if the file opened okay, write to it:
if (myFile) {
Serial.print("Writing to test.txt...");
myFile.println("testing 1, 2, 3.");
// close the file:
myFile.close();
Serial.println("done.");
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
if (bmp180.begin())
Serial.println("BMP180 iniciado");
else
{
Serial.println("Error al iniciar BMP180");
while(1); // bucle infinito
}
}
void loop()
{
int sensorValue1 = analogRead(sensorPin1);
int sensorValue2 = analogRead(sensorPin2);
myFile = SD.open("datalog5.txt", FILE_WRITE);
char status;
double T,P;
status = bmp180.startTemperature(); //Inicio de lectura de temperatura
if (status != 0)
{
delay(status); //Pausa para que finalice la lectura
status = bmp180.getTemperature(T); //Obtener la temperatura
if (status != 0)
{
status = bmp180.startPressure(3); //Inicio lectura de presión
if (status != 0)
{
delay(status); //Pausa para que finalice la lectura
status = bmp180.getPressure(P,T); //Obtenemos la presión
if (status != 0)
{
Serial.print("Temperatura: ");
Serial.print(T,2);
Serial.print(" *C , ");
Serial.print("Presion: ");
Serial.print(P,2);
Serial.println(" mb");
myFile.print("Temperatura: ");
myFile.print(T,2);
myFile.print(" *C , ");
myFile.print("Presion: ");
myFile.print(P,2);
myFile.println(" mb");
}
}
}
}
Serial.print("sensor1 = " );
Serial.print(sensorValue1 * (5.0 / 1023.0));
Serial.print("\t sensor2 = ");
Serial.println(sensorValue2 * (5.0 / 1023.0));
myFile.print("sensor1 = " );
myFile.print(sensorValue1 * (5.0 / 1023.0));
myFile.print("\t sensor2 = ");
myFile.println(sensorValue2 * (5.0 / 1023.0));
delay(1000);
myFile.close()
;
}
Las patas del BMP-280 (La LED en el dibujo) representan de izquierda a derecha las entradas SCL, SDA, 3.3 y GND
#include <SFE_BMP180.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
SFE_BMP180 bmp180;
File myFile;
const int pinrele = 8;
const int pinboton = 2;
const int sensorPin1 = A0;
const int sensorPin2 = A1;
boolean estaon = HIGH;
boolean estaon2 = HIGH;
int sensorValue1;
int sensorValue2;
float voltaje1 = sensorValue1 * (5.0 / 1023.0);
float voltaje2 = sensorValue2 * (5.0 / 1023.0);
int intervalo=1050;
int ventana=10;
void setup()
{
Serial.begin(9600);
pinMode(pinrele, OUTPUT);
pinMode(pinboton, INPUT);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.print("Initializing SD card...");
if (!SD.begin(4)) {
Serial.println("initialization failed!");
while (1);
}
Serial.println("initialization done.");
// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
myFile = SD.open("test1", FILE_WRITE);
// if the file opened okay, write to it:
if (myFile) {
Serial.print("Writing to test.txt...");
myFile.println("testing 1, 2, 3.");
// close the file:
myFile.close();
Serial.println("done.");
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
if (bmp180.begin())
Serial.println("BMP180 iniciado");
else
{
Serial.println("Error al iniciar BMP180");
while(1); // bucle infinito
}
}
void loop()
{
int sensorValue1 = analogRead(sensorPin1);
int sensorValue2 = analogRead(sensorPin2);
int estaon = digitalRead(pinrele);
//int estaon2 = digitalRead(pinboton);
myFile = SD.open("test1.txt", FILE_WRITE);
char status;
double T,P;
for (int i=1; i<= intervalo ;i++) {
int estaon2 = digitalRead(pinboton);
int estaon = digitalRead(pinrele);
int sensorValue1 = analogRead(sensorPin1);
int sensorValue2 = analogRead(sensorPin2);
if(estaon2==0){
Serial.println("Pulsado");
digitalWrite(pinrele, HIGH);
Serial.println(estaon);
status = bmp180.startTemperature(); //Inicio de lectura de temperatura
if (status != 0)
{
delay(status); //Pausa para que finalice la lectura
status = bmp180.getTemperature(T); //Obtener la temperatura
if (status != 0)
{
status = bmp180.startPressure(3); //Inicio lectura de presión
if (status != 0)
{
delay(status); //Pausa para que finalice la lectura
status = bmp180.getPressure(P,T); //Obtenemos la presión
if (status != 0)
{
Serial.print("Temperatura: ");
Serial.print(T,2);
Serial.print(" *C , ");
Serial.print("Presion: ");
Serial.print(P,2);
Serial.println(" mb");
myFile.print("Temperatura: ");
myFile.print(T,2);
myFile.print(" *C , ");
myFile.print("Presion: ");
myFile.print(P,2);
myFile.println(" mb");
}
}
}
}
Serial.print("sensor1 = " );
Serial.print(sensorValue1 * (5.0 / 1023.0));
Serial.print("\t sensor2 = ");
Serial.println(sensorValue2 * (5.0 / 1023.0));
myFile.print("sensor1 = " );
myFile.print(sensorValue1 * (5.0 / 1023.0));
myFile.print("\t sensor2 = ");
myFile.println(sensorValue2 * (5.0 / 1023.0));
delay (1000);
}else{
Serial.println("No Pulsado");
digitalWrite(pinrele, LOW);
Serial.println(estaon);
}
Serial.println(i);
Serial.println(millis());
delay(100);
}
for (int i=1; i<= ventana ;i++) {
int estaon = digitalRead(pinrele);
int sensorValue1 = analogRead(sensorPin1);
int sensorValue2 = analogRead(sensorPin2);
Serial.println("tiempo de ventana");
Serial.println(i);
Serial.println(millis());
myFile.println(millis());
digitalWrite(pinrele, HIGH);
Serial.println(estaon);
myFile.println(estaon);
status = bmp180.startTemperature(); //Inicio de lectura de temperatura
if (status != 0)
{
delay(status); //Pausa para que finalice la lectura
status = bmp180.getTemperature(T); //Obtener la temperatura
if (status != 0)
{
status = bmp180.startPressure(3); //Inicio lectura de presión
if (status != 0)
{
delay(status); //Pausa para que finalice la lectura
status = bmp180.getPressure(P,T); //Obtenemos la presión
if (status != 0)
{
Serial.print("Temperatura: ");
Serial.print(T,2);
Serial.print(" *C , ");
Serial.print("Presion: ");
Serial.print(P,2);
Serial.println(" mb");
myFile.print("Temperatura: ");
myFile.print(T,2);
myFile.print(" *C , ");
myFile.print("Presion: ");
myFile.print(P,2);
myFile.println(" mb");
}
}
}
}
Serial.print("sensor1 = " );
Serial.print(sensorValue1 * (5.0 / 1023.0));
Serial.print("\t sensor2 = ");
Serial.println(sensorValue2 * (5.0 / 1023.0));
myFile.print("sensor1 = " );
myFile.print(sensorValue1 * (5.0 / 1023.0));
myFile.print("\t sensor2 = ");
myFile.println(sensorValue2 * (5.0 / 1023.0));
Serial.println(sensorValue1);
Serial.println(sensorValue2);
myFile.println(sensorValue1);
myFile.println(sensorValue2);
delay(1000);
}
digitalWrite(pinrele, LOW);
myFile.close();
}