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.

5BE970D1-2C4C-4CF3-A823-255288A836CD.mov

#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);

      }

}