Publicado el

Mini Camión Bombero con Bluetooth – Hazlo tú mismo.

Si has soñado en tener tu propio Camión Bombero, pero mejor aún, si haz soñado construirlo con tus propias manos, pues ha llegado la hora de poner a trabajar tu imaginación y espíritu creador con esta guía de ayuda donde te mostramos cómo hacer un Camión Bombero con Arduino.

Utiliza elementos que se pueden conseguir fácilmente, aquí la lista completa para que puedas armarlo conforme al diagrama que te vamos a presentar.

¿Cómo armar un Camión Bombero? – Proyecto con Arduino.

Paso 1. Consigue los siguientes materiales.
Materiales.

Paso 2. Arma el siguiente circuito.
Ahora lo que debes hacer primero es ensamblar los componentes de acuerdo al siguiente diagrama:camión bombero
Paso 3. Carga el código a tu tarjeta Arduino.
Carga el código a tu Tarjeta Arduino UNO el cual te mostramos aquí abajo.
Recuerda recalibrar los valores que vienen mencionados en el código, estos valores cambiarán dependiendo de las condiciones y componentes que estés utilizando.
¡IMPORTANTE!
Antes de cargar el código a tu tarjeta Arduino UNO es importante que desconectes los pines RX y TX que están conectados al Bluetooth (pin 0 y pin 1 de la tarjeta Arduino UNO). Una vez que termine de cargarse el programa a la tarjeta vuelve a conectarlos.
Código Arduino del Camión Bombero controlado con Bluetooth.

/*
* Created by Nikolidakis Stelios and Valsamakis Kwnstantinos in 2017 //
* Project: Control mini-firefighter via bluetooth with android smartphone
*/
//L293 Connection
const int motorA1 = 5; // Pin 2 of L293
const int motorA2 = 6; // Pin 7 of L293
const int motorB1 = 10; // Pin 10 of L293
const int motorB2 = 9; // Pin 14 of L293
const int pump = 11; //Digital pin (11) for the water pump
const int ledPin = 12; // Digital pin (12) for the alarm led
const int BTState = 2; //Bluetooth (HC-06 JY-MCU) State pin on pin 2 of Arduino
//Battery Level
const float maxBattery = 8.0;// Change value to your max battery voltage level!
int perVolt; // Percentage variable
float voltage = 0.0; // Read battery voltage
int level;
// Use thise to make a delay without delay() function!
long previousMillis = -1000*10;// -1000*10=-10sec. to read the first value. If you use 0 then you will take the first value after 10sec.
long interval = 1000*10; // interval at which to read battery voltage, change it if you want! (10*1000=10sec)
unsigned long currentMillis; //unsigned long currentMillis;
//Useful Variables
int i=0;
int j=0;
int state;
void setup() {
// Set pins as outputs:
pinMode(motorA1, OUTPUT);
pinMode(motorA2, OUTPUT);
pinMode(motorB1, OUTPUT);
pinMode(motorB2, OUTPUT);
pinMode(pump, OUTPUT);
pinMode(ledPin, OUTPUT);
pinMode(BTState, INPUT);
// Initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
void loop() {
//Stop the car when connection lost or bluetooth disconnected
if(digitalRead(BTState)==LOW) { state='S'; }
/* Save incoming data to variable 'state'
in order to control the car through the
android app */
if(Serial.available() > 0){
state = Serial.read();
}
/*************Sensor Initialization*********/
int TH = analogRead(A1); //Sensor Termistor de Temperatura
int IR = analogRead(A2); //Sensor Infrarrojo
/****************DETECCIÓN DE FUEGO***************/
/*Calibra estos valores de acuerdo a las condiciones
en las que vayas a utilizar este proyecto*/
if ((TH<770) && (IR<100)) { digitalWrite(ledPin, HIGH); }else{ digitalWrite(ledPin, LOW); } /* The programming for the movement of the car (all credits go to Mihalis Vassilakis of www.ardumotive.com for this)*/ /******Vas a tener que recalibrar los valores de acuerdo a los motores que estás utilizando en tu carrito.******/ /***********************Forward****************************/ //If state is equal to letter 'F',the car will go forward! if (state == 'F') { analogWrite(motorA1, 150); analogWrite(motorA2, 0); analogWrite(motorB1, 175); analogWrite(motorB2, 0); } /**********************Forward Left************************/ //If state is equal to letter 'G',the car will go forward left else if (state == 'G') { analogWrite(motorA1, 150); analogWrite(motorA2, 0); analogWrite(motorB1, 75); analogWrite(motorB2, 0); } /**********************Forward Right************************/ //If state is equal to letter 'I',the car will go forward right else if (state == 'I') { analogWrite(motorA1, 75); analogWrite(motorA2, 0); analogWrite(motorB1, 150); analogWrite(motorB2, 0); } /***********************Backward****************************/ //If state is equal to letter 'B',the car will go backward else if (state == 'B') { analogWrite(motorA1, 0); analogWrite(motorA2, 115); analogWrite(motorB1, 0); analogWrite(motorB2, 150); } /**********************Backward Left************************/ //If state is equal to letter 'H', car will go backward left else if (state == 'H') { analogWrite(motorA1, 0); analogWrite(motorA2, 150); analogWrite(motorB1, 0); analogWrite(motorB2, 75); } /**********************Backward Right************************/ //If state is equal to letter 'J', car will go backward right else if (state == 'J') { analogWrite(motorA1, 0); analogWrite(motorA2, 75); analogWrite(motorB1, 0); analogWrite(motorB2, 150); } /***************************Left*****************************/ //If state is equal to letter 'L', wheels will turn left else if (state == 'L') { analogWrite(motorA1, 100); analogWrite(motorA2, 0); analogWrite(motorB1, 0); analogWrite(motorB2, 0); } /***************************Right*****************************/ //If state is equal to letter 'R', wheels will turn right else if (state == 'R') { analogWrite(motorA1, 0); analogWrite(motorA2, 0); analogWrite(motorB1, 100); analogWrite(motorB2, 0); } /***************************PUMP**********************************/ //If state is equal to letter 'W', turn pump on else if (state == 'W') { if (i==0){ digitalWrite(pump, HIGH); i=1; } else if (i==1){ digitalWrite(pump, LOW); i=0; } state='n'; } /************************Stop*****************************/ //If state is equal with letter 'S', stop the car else if (state == 'S'){ analogWrite(motorA1, 0); analogWrite(motorA2, 0); analogWrite(motorB1, 0); analogWrite(motorB2, 0); } /***********************Battery*****************************/ //Read battery voltage every 10sec. currentMillis = millis(); if(currentMillis - (previousMillis) > (interval)) {
previousMillis = currentMillis;
//Read voltage from analog pin A0 and make calibration:
voltage = (analogRead(A0)*5.015 / 1024.0)*11.132;
//Calculate percentage...
perVolt = (voltage*100)/ maxBattery;
if (perVolt<=75) { level=0; } else if (perVolt>75 && perVolt<=80) { level=1; } // Battery level else if (perVolt>80 && perVolt<=85) { level=2; } //Min ------------------------ Max else if (perVolt>85 && perVolt<=90) { level=3; } // | 0 | 1 | 2 | 3 | 4 | 5 | >
else if (perVolt>90 && perVolt<=95) { level=4; } // ------------------------ else if (perVolt>95) { level=5; }
Serial.println(level);
}
}

Paso 4. Conecta a tu SmartPhone mediante Bluetooth.
Una vez montado el Mini Camión Bombero, ha llegado el momento de enlazarlo a tu teléfono Adroid usando el bluetooth.
Descargar aquí la aplicación ardumotivebt_v2.1.apk
(En caso de que tengas problemas al ejecutar la aplicación anterior, puedes utilizar esta otra.)
Abre la aplicación, en seguida busca entre los dispositivos detectados el «HC-06», selecciónalo, espera a que la aplicación se enlace con el nuevo dispositivo.
En caso de que pida contraseña introduce: 1234
Aquí ya deberías de estar listo para utilizar tu Mini Camión Bombero.
Nota: Para activar la bomba del Camión Bombero utiliza el botón de las luces en la aplicación.

Te dejamos una foto del prototipo para que te des una idea de cómo quedaría ya montado.
camion bombero con arduino y bluetooth

Si tienes dudas recuerda que puedes dejar tus comentarios.

¿Quieres iniciar con Arduino pero aún no sabes cómo? Participa en nuestro próximo Taller completamente práctico. Haz clic en la imagen de aquí abajo.
ARDUINO INICIACION WORKSHOP

Vía: Instructables.
Imagen camión de bomberos.

Compartir ahora:

2 comentarios en “Mini Camión Bombero con Bluetooth – Hazlo tú mismo.

  1. hola, una pregunta, yo tengo la placa L293D en vez del integrado L293, en ese caso, cómo sería la conexión de la placa con los componentes ?? necesito una respuesta por favorr , gracias

    1. Hola Juan.
      Gracias por tu comentario.

      Es la misma conexión con el L293 que tú tienes. No cambia, así que puedes utilizar el mismo diagrama que alcanzas a ver en este tutorial.

      Si tienes más dudas, estamos para ayudarte.

Deja una respuesta