Hola la verdad esta algo confusa tu explicación o yo no la entendí lo que tu quieres hacer es unir esos dos códigos? porque si es así solamente copias y pegas el segundo dentro del primero y ya. obviamente de forma ordenada con esto me refiero que todas las librerías juntas hasta arriba, lo que esta en el setup del segundo ponerlo en el setup del primero y lo mismo con el loop. OJO, fijate que no estes usando los mismos pines en ambos sketches o tendrás problemas, si eso pasa solo cambia el numero de pin que haya repetido. Saludos
ahh bueno ni siquiera pegaste los códigos.
Recuerda usar etiquetas.
Sigue los pasos de mike_117 y luego comienza a lidiar con lo que se presente.
1 solo setup
1 solo loop
¿Es esto lo que quieres? He copiado un programa dentro del otro, no sé si te refieres a esto, porque sencillamente me parece increible que llegues hasta ahí y no sepas hacer esto, por eso si te refieres a otra cosa avisa.
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 12
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
int habitacion = 7;
int living = 6;
int pieza = 5;
void setup () {
pinMode(habitacion, OUTPUT);
pinMode(living, OUTPUT);
pinMode(pieza, OUTPUT);
Serial.begin(9600); //Inicializo el puerto serial a 9600 baudios
sensors.begin();
}
void loop () {
sensors.requestTemperatures();
float temperatura = sensors.getTempCByIndex(0);
Serial.print(temperatura);
Serial.println(" ");
if (Serial.available()) { //Si está disponible
char c = Serial.read(); //Guardamos la lectura en una variable char
if (c == 'q') { //enciendo el LED1
digitalWrite(habitacion, HIGH);
}
if (c == 'a') { //apago el LED1
digitalWrite(habitacion, LOW);
}
if (c == 'w') { //enciendo el LED2
digitalWrite(living, HIGH);
}
if (c == 's') { //apago el LED2
digitalWrite(living, LOW);
}
if (c == 'e') { //enciendo el LED3
digitalWrite(pieza, HIGH);
}
if (c == 'd') { //apago el LED3
digitalWrite(pieza, LOW);
}
if (c == 'r') { //Enciende Todos
digitalWrite(habitacion, HIGH);
digitalWrite(living, HIGH);
digitalWrite(pieza, HIGH);
}
if (c == 'f') { //Apago Todos
digitalWrite(habitacion, LOW);
digitalWrite(living, LOW);
digitalWrite(pieza, LOW);
}
}
}
No se pueden tener dos while loops.
Lo que puedes es si quieres suponer que los tienes.
Tanto Xtream3 como yo, hemos unido los códigos en diferentes visiones.
Xtream3 lo unió tal como lo tienes.
Yo modifiqué algunas cosas simples.
puse un switch para que manejes mejor los comandos enviados por Android
saque delay para que la reacción de lo que decidas sea inmediata. Prendes, apagas, cambias a izq o derecha con el toque del Android.
Ahi junte los codigos! Y esta funcionando sin problemas! Por suerte!
// Tweetmotica Arduino @ Universidad de Palermo
// Santiago Fernandez
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 12
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
int habitacion = 7;
int living = 6;
int pieza = 5;
void setup () {
pinMode(habitacion, OUTPUT);
pinMode(living, OUTPUT);
pinMode(pieza, OUTPUT);
Serial.begin(9600); //Inicializo el puerto serial a 9600 baudios
sensors.begin();
}
void loop () {
// Leo Temperatura - Para Ingreso, por Python a Base de Datos
sensors.requestTemperatures();
float temperatura = sensors.getTempCByIndex(0);
Serial.print(temperatura);
Serial.println(" ");
// Leo Ingreso para Generar Acciones
if (Serial.available()) { //Si está disponible
char c = Serial.read(); //Guardamos la lectura en una variable char
if (c == 'q') { //enciendo el LED1
digitalWrite(habitacion, HIGH);
}
if (c == 'a') { //apago el LED1
digitalWrite(habitacion, LOW);
}
if (c == 'w') { //enciendo el LED2
digitalWrite(living, HIGH);
}
if (c == 's') { //apago el LED2
digitalWrite(living, LOW);
}
if (c == 'e') { //enciendo el LED3
digitalWrite(pieza, HIGH);
}
if (c == 'd') { //apago el LED3
digitalWrite(pieza, LOW);
}
if (c == 'r') { //Enciende Todos
digitalWrite(habitacion, HIGH);
digitalWrite(living, HIGH);
digitalWrite(pieza, HIGH);
}
if (c == 'f') { //Apago Todos
digitalWrite(habitacion, LOW);
digitalWrite(living, LOW);
digitalWrite(pieza, LOW);
}
}
}
No encuentro el boton, para insertar el codigo. Pongo como me dijiste surbyte! </>