Código final Edu Rov
Aquí se ve adjuntado el código final en el cual al código de motores se le a implementado el de temperatura para su uso final.
En estas imágenes se pueden ver el código final utilizado y además un video del funcionamiento final del submarino.
#include <OneWire.h>= Esto indica las librerias que utiliza.
#include <LiquidCrystal_I2C.h>
#include <DallasTemperature.h>
const int pinDatosDQ = 11;
OneWire ourWire(pinDatosDQ);
DallasTemperature sensors(&ourWire);
LiquidCrystal_I2C lcd(0x27,16,2);
char val;
void setup() {= Este es el void setup el cual nombra los elementos necesarios para el código que posteriormente se van a estar nombrando en el void loop.
sensors.begin();
lcd.init();
lcd.backlight();
pinMode (2, OUTPUT); =Esto es un ejemplo de pin de salida.
pinMode (3, OUTPUT);
pinMode (4, OUTPUT);
pinMode (5, OUTPUT);
pinMode (6, OUTPUT);
pinMode (7, OUTPUT);
Serial.begin(9600);
}
void loop() {= La función del void loop es que se repitan unas funciones constantemente.
lcd.setCursor(0, 0);
lcd.print("IES Los Tarahales");
sensors.requestTemperatures();
lcd.setCursor(0, 1);
lcd.print("Temp: ");
lcd.print(sensors.getTempCByIndex(0));
lcd.print(" C");
Esta es la parte de temperatura que tiene que salir constantemente en el void loop forma parte de la temperatura.
if( Serial.available() )=Estos son los condicionales que son necesarios para el correcto funcionamiento de los motores
val = Serial.read();
if (val == 'F' ) {= Este condicional sirve para que el motor vaya hacia adelante.
digitalWrite (2, HIGH); =HIGH se puede definir como la activación de una de las turbinas por la cual hace falta el uso de un pin.
digitalWrite (3, LOW);= LOW se puede definir como la desactivación de las turbinas por la cual hace falta el uso de un pin para que reciba esta señal.
digitalWrite (4, HIGH);
digitalWrite (5, LOW);
}
La señalización sel HIGH y el LOW es totalmente necesaria para la activación o desactivación de los pines para que a través de un orden de programación el submarino vaya hacia una dirección.
if (val == 'B') {= Para que vaya hacia atrás.
digitalWrite (2, LOW);
digitalWrite (3, HIGH);
digitalWrite (4, LOW);
digitalWrite (5, HIGH);
}
if (val == 'R') {= Para que vaya a la derecha.
digitalWrite (2, LOW);
digitalWrite (3, HIGH);
digitalWrite (4, HIGH);
digitalWrite (5, LOW);
}
if (val == 'L') {= Para que vaya hacia la izquierda.
digitalWrite (2, HIGH);
digitalWrite (3, LOW);
digitalWrite (4, LOW);
digitalWrite (5, HIGH);
}
if (val == 'U') {= Para que vaya hacia arriba.
digitalWrite (2, HIGH);
digitalWrite (3, LOW);
digitalWrite (4, HIGH);
digitalWrite (5, LOW);
digitalWrite (6, LOW);
digitalWrite (7, HIGH);
}
if (val == 'D') {= Para que vaya hacia la derecha.
digitalWrite (2, HIGH);
digitalWrite (3, LOW);
digitalWrite (4, HIGH);
digitalWrite (5, LOW);
digitalWrite (6, HIGH);
digitalWrite (7, LOW);
}
Las demás son otras variaciones para que el submarino tome diferentes direcciones.
if (val == 'G') {
digitalWrite (2, LOW);
digitalWrite (3, LOW);
digitalWrite (4, LOW);
digitalWrite (5, LOW);
}
if (val == 'N') {
digitalWrite (2, LOW);
digitalWrite (3, LOW);
digitalWrite (4, LOW);
digitalWrite (5, LOW);
}
if (val == 'T') {
digitalWrite (2, LOW);
digitalWrite (3, LOW);
digitalWrite (4, LOW);
digitalWrite (5, LOW);
}
if (val == 'K') {
digitalWrite (2, LOW);
digitalWrite (3, LOW);
digitalWrite (4, LOW);
digitalWrite (5, LOW);
}
if (val == 'I') {
digitalWrite (2, LOW);
digitalWrite (3, LOW);
digitalWrite (4, LOW);
digitalWrite (5, LOW);
digitalWrite (6, LOW);
digitalWrite (7, LOW);
}
if (val == 'S') {
digitalWrite (2, LOW);
digitalWrite (3, LOW);
digitalWrite (4, LOW);
digitalWrite (5, LOW);
digitalWrite (6, LOW);
digitalWrite (7, LOW);
}
}