Control de coche por bluetooth con ayuda del mando para el móvil realizado por D. Andrés Lasry y complementado por mí para la captación de los datos que debe enviar desde el arduino al móvil como son la dirección, y la distancia a los objetos frontales y traseros al vehículo.
Cuando se aproxime sobre unos 28 cm a un objeto debe parar y retroceder durante un segundo para salir de la zona de peligro de choque. Al llegar a los 28 cm será señalado por la intermitencia de los leds y paro del vehículo. luego invertirá la marcha para salir de la zona de peligro de choque.
Automatización del robot MENTOR V1 por Joaquín Berrocal Piris a fecha Enero 2019.
El programa está hecho en ARDUINO y desde él
Se puede manejar
A) Desde mesa controladora.
B) Desde Mando de la PlayStation PS2X
C) Desde PC mediante programa hecho en VB17
Se permite grabar los movimientos y secuenciarlos.
Van mejor las grabaciones hechas desde el programa en VB17 que las
grabaciones hechas desde la mesa controladora.
Construccion seguidor de línea por joaquín berrocal verano 2017joaquinin1
Velocista seguidor de línea realizado por Joaquín Berrocal Piris, peso del vehículo 507grs, motores con reductora de 30:1 alimentados a 7 Voltios. aceptan hasta los 12V.
Prototipo velocista seguidor de líneas blancas sobre fondo de color irregular, lo que agrava la dificultad de calibración de los sensores de infrarrojos.
Está basado en el proyecto Lamborghino.
Lleva control PID por lo que es muy necesario adaptarlo a las condiciones de tensión, peso y luminosidad de la pista. cualquier modificación en los mismos habría que reajustar los valores proporcional, integral y, en menor incidencia, el derivativo.
Como se puede observar ha sido de gran dificultad los ajustes debido a tener el suelo un color oscuro nada regular. Lo ideal es que la cinta blanca (de grosor 19mm) estuviera sobre fondo negro perfecto.
Para descargar:
+ Dirección de mis proyectos en el youtube:
https://www.youtube.com/user/joaquininbp/videos?sort=dd&shelf_id=0&view=0
Mi simulador obdii_2018_marzo_2018--34 pagsjoaquinin1
El proyecto consiste en el diseño y fabricación de un Simulador capaz de comunicarse con un equipo de diagnóstico de cualquier vehículo con el protocolo ISO 9141-2. Permite simular parámetros del vehículo en tiempo real, lectura-borrado de códigos de fallo motor y activación de luz indicadora de avería "MIL"
Proyecto balancing joaquin berrocal piris abril 2016 - 53 pagjoaquinin1
Balancing con arduino, creado por Joaquín Berrocal Piris en abril del 2016. Compré el kit V3 de la siguiente dirección
http://www.sainsmart.com/robotics/instabots.html desde ahí puedes descargar los programas que te dan para cada versión. En mi caso a fecha de abril 2016 ninguno funcionaba correctamente. Tuve que modificarlo por completo no te facilitan los esquemas electrónicos
Además la placa driver tenía fallos para uno de los motores. tuve que hacer un nuevo programa y averiguarlo todo. Además los dibujos de la pagina web no corresponden en los colores con los cables total un lío. Dejo toda la información que me ayudó a conseguir ponerlo en marcha y en equilibro en el vídeo y en la siguiente dirección para descargar todo y algo más que os puediera hacer falta:
Para mis otros proyectos:
+ https://www.youtube.com/user/joaquininbp
+ https://issuu.com/joaquinin
+ https://issuu.com/joaquinin/stacks
Proyecto brazo robotico ksr10 enero marzo 2015joaquinin1
Control del brazo robótico KSR10 realizado por Joaquín Berrocal Piris en marzo de 2015. Permite el control de sus 5 motores de corriente continua mediante 3 Joystick.
dispone de placas drivers L298N para el control de giro de los motores. Y de tarjeta micro SD para la grabación si lo deseo de los movimientos que realice con los Joystick , para su posterior secuenciación cíclicla de los movimientos grabados.
Programa realizado en la Arduino Mega 2560 con el sotware; Arduino 1.05.r2
Frecuencimetro receptor hall esquema y programa pbp 28 pagjoaquinin1
LO PUEDO PONER EN MODO CAPTADOR DE PULSOS.
O BIEN EN MODO GENERADOR DE PULSOS.
; Ello me permitirá conocer si lo que falla es el Sensor Hall
; del coche o bien el indicador del cuadro de instrumentos.
; En modo RECEPCIÓN (conmutador LED_VERDE ENCENDIDO) permite ver
;si el sensor proporciona señal. lo que sería indicado en pantalla en Hz y rpm
;En modo GENERACIÓN (conmutador LED_ROJO Encendido) permite generar una
;señal Hall variable para ver si el indicador del cuadro de instrumentos actúa.
;INSTRUCCIONES QUE EMPLEO:
;COUNT portb.0,1000,puls ;contar pulsos en el puerto B.0 y los guarda en la
;variable 'pulsos' durante 1000ms = 1sg
;el periodo podemos variarlo de 1 a 65535
;si la cantidad supera los 254 HZ Mensaje para que bajemos la Hz,
;Si la Frecuencia llega a 2 Hz mensaje para que subamos la HZ
; B0 -> Como entrada lectura de pulsos
; B1 -> como Salida de señal Hall generada por el Pic ( para sustituir
; la señal del generador que vamos a comprobar)
;B2 -> conectada al conmutador de selección para actuar como Generdador Hall
'o como Lector de pulsos Hall
;B4 -> Pulsador que nos permite SUBIR los Hz al actuar como Generador Hall
;B5 -> Pulsador que nos permite BAJAR los Hz al actuar como Generador Hall
;B6 -> Capta los pulsos del RECEPTOR HALL . Debe encontrarse el
;Selector (RB") en (0) modo LECTOR HALL
;La frecuencia máxima está pensada para 254 hz * 30 = 7620 rpm
; la frecuencia mínima está pensada para 2 hz * 30 = 60 rpm
INSTRUCCIONES QUE USO:
CONTADOR DE PULSOS por PORTB.0
al ser por cada segundo corresponde a HZ
COUNT PORTB.0,1000,pulsos (pag 85 3ª Edicion)
GENERADOR DE PULSOS (HZ)
Saca la frecuencia espedificada por un pin del micro
en este caso por PORTB.1
Puede contar desde 0 a 32767 HZ
FREQOUT PORTB.1,2000.50 --> saca 50 ciclos durante
2 segundos (pag 90 3ª edición)
Nota: ver Mis proyectos en.
+ https://www.youtube.com/user/joaquininbp
+ https://issuu.com/joaquinin
nota importante: desde la utilidad indicada más abajo; poniendo la dirección del archivo en issuu.net he indicando cuántas páginas quieres, puedes bajarte cualquier archivo sin tener que registrarte:
Paginas para descargar:
http://utilidades.gatovolador.net/issuu/
Documentos: aquí está el brazo robotico
+ http://www.slideshare.net/joaquinin1/documents
Presentaciones de mecánica-electr vehículos
+ http://www.slideshare.net/joaquinin1/presentations
Automatización del robot MENTOR V1 por Joaquín Berrocal Piris a fecha Enero 2019.
El programa está hecho en ARDUINO y desde él
Se puede manejar
A) Desde mesa controladora.
B) Desde Mando de la PlayStation PS2X
C) Desde PC mediante programa hecho en VB17
Se permite grabar los movimientos y secuenciarlos.
Van mejor las grabaciones hechas desde el programa en VB17 que las
grabaciones hechas desde la mesa controladora.
Construccion seguidor de línea por joaquín berrocal verano 2017joaquinin1
Velocista seguidor de línea realizado por Joaquín Berrocal Piris, peso del vehículo 507grs, motores con reductora de 30:1 alimentados a 7 Voltios. aceptan hasta los 12V.
Prototipo velocista seguidor de líneas blancas sobre fondo de color irregular, lo que agrava la dificultad de calibración de los sensores de infrarrojos.
Está basado en el proyecto Lamborghino.
Lleva control PID por lo que es muy necesario adaptarlo a las condiciones de tensión, peso y luminosidad de la pista. cualquier modificación en los mismos habría que reajustar los valores proporcional, integral y, en menor incidencia, el derivativo.
Como se puede observar ha sido de gran dificultad los ajustes debido a tener el suelo un color oscuro nada regular. Lo ideal es que la cinta blanca (de grosor 19mm) estuviera sobre fondo negro perfecto.
Para descargar:
+ Dirección de mis proyectos en el youtube:
https://www.youtube.com/user/joaquininbp/videos?sort=dd&shelf_id=0&view=0
Mi simulador obdii_2018_marzo_2018--34 pagsjoaquinin1
El proyecto consiste en el diseño y fabricación de un Simulador capaz de comunicarse con un equipo de diagnóstico de cualquier vehículo con el protocolo ISO 9141-2. Permite simular parámetros del vehículo en tiempo real, lectura-borrado de códigos de fallo motor y activación de luz indicadora de avería "MIL"
Proyecto balancing joaquin berrocal piris abril 2016 - 53 pagjoaquinin1
Balancing con arduino, creado por Joaquín Berrocal Piris en abril del 2016. Compré el kit V3 de la siguiente dirección
http://www.sainsmart.com/robotics/instabots.html desde ahí puedes descargar los programas que te dan para cada versión. En mi caso a fecha de abril 2016 ninguno funcionaba correctamente. Tuve que modificarlo por completo no te facilitan los esquemas electrónicos
Además la placa driver tenía fallos para uno de los motores. tuve que hacer un nuevo programa y averiguarlo todo. Además los dibujos de la pagina web no corresponden en los colores con los cables total un lío. Dejo toda la información que me ayudó a conseguir ponerlo en marcha y en equilibro en el vídeo y en la siguiente dirección para descargar todo y algo más que os puediera hacer falta:
Para mis otros proyectos:
+ https://www.youtube.com/user/joaquininbp
+ https://issuu.com/joaquinin
+ https://issuu.com/joaquinin/stacks
Proyecto brazo robotico ksr10 enero marzo 2015joaquinin1
Control del brazo robótico KSR10 realizado por Joaquín Berrocal Piris en marzo de 2015. Permite el control de sus 5 motores de corriente continua mediante 3 Joystick.
dispone de placas drivers L298N para el control de giro de los motores. Y de tarjeta micro SD para la grabación si lo deseo de los movimientos que realice con los Joystick , para su posterior secuenciación cíclicla de los movimientos grabados.
Programa realizado en la Arduino Mega 2560 con el sotware; Arduino 1.05.r2
Frecuencimetro receptor hall esquema y programa pbp 28 pagjoaquinin1
LO PUEDO PONER EN MODO CAPTADOR DE PULSOS.
O BIEN EN MODO GENERADOR DE PULSOS.
; Ello me permitirá conocer si lo que falla es el Sensor Hall
; del coche o bien el indicador del cuadro de instrumentos.
; En modo RECEPCIÓN (conmutador LED_VERDE ENCENDIDO) permite ver
;si el sensor proporciona señal. lo que sería indicado en pantalla en Hz y rpm
;En modo GENERACIÓN (conmutador LED_ROJO Encendido) permite generar una
;señal Hall variable para ver si el indicador del cuadro de instrumentos actúa.
;INSTRUCCIONES QUE EMPLEO:
;COUNT portb.0,1000,puls ;contar pulsos en el puerto B.0 y los guarda en la
;variable 'pulsos' durante 1000ms = 1sg
;el periodo podemos variarlo de 1 a 65535
;si la cantidad supera los 254 HZ Mensaje para que bajemos la Hz,
;Si la Frecuencia llega a 2 Hz mensaje para que subamos la HZ
; B0 -> Como entrada lectura de pulsos
; B1 -> como Salida de señal Hall generada por el Pic ( para sustituir
; la señal del generador que vamos a comprobar)
;B2 -> conectada al conmutador de selección para actuar como Generdador Hall
'o como Lector de pulsos Hall
;B4 -> Pulsador que nos permite SUBIR los Hz al actuar como Generador Hall
;B5 -> Pulsador que nos permite BAJAR los Hz al actuar como Generador Hall
;B6 -> Capta los pulsos del RECEPTOR HALL . Debe encontrarse el
;Selector (RB") en (0) modo LECTOR HALL
;La frecuencia máxima está pensada para 254 hz * 30 = 7620 rpm
; la frecuencia mínima está pensada para 2 hz * 30 = 60 rpm
INSTRUCCIONES QUE USO:
CONTADOR DE PULSOS por PORTB.0
al ser por cada segundo corresponde a HZ
COUNT PORTB.0,1000,pulsos (pag 85 3ª Edicion)
GENERADOR DE PULSOS (HZ)
Saca la frecuencia espedificada por un pin del micro
en este caso por PORTB.1
Puede contar desde 0 a 32767 HZ
FREQOUT PORTB.1,2000.50 --> saca 50 ciclos durante
2 segundos (pag 90 3ª edición)
Nota: ver Mis proyectos en.
+ https://www.youtube.com/user/joaquininbp
+ https://issuu.com/joaquinin
nota importante: desde la utilidad indicada más abajo; poniendo la dirección del archivo en issuu.net he indicando cuántas páginas quieres, puedes bajarte cualquier archivo sin tener que registrarte:
Paginas para descargar:
http://utilidades.gatovolador.net/issuu/
Documentos: aquí está el brazo robotico
+ http://www.slideshare.net/joaquinin1/documents
Presentaciones de mecánica-electr vehículos
+ http://www.slideshare.net/joaquinin1/presentations
Brazo robotico ksr10 ps2 x mayo 2015 a 9v_version_3joaquinin1
El brazo tiene 5 motores de corriente continua (no paso a paso ni servomotores). Se pueden controlar desde la mesa con 3 Joystick o bien desde el mando de la playstation. Asímismo permite la grabación de los movimientos que realicemos del brazo y luego podemos secuenciar dichos movimientos de forma continua. Para ello, se utiliza un interruptor que permite la grabación de todos los movimientos que efectuemos y otro interruptor para secuenciarlos cuando deseemos, lo que permite a cualquier operario fácilmente modificar la trayectoria de los movimientos sin que tenga que venir un especialista para reprogramar los movimientos.
Proyecto brazo robotico ksr10 enero marzo 2015 a 9 v-version_2joaquinin1
Brazo robótico controlado con arduino mega 2560 mediante tres Joystick. dispone de 5 motorcillos. Se permite la grabación de los movimientos que efectuemos con los Joystick en tarjeta microSD y después secuenciarlos si así lo deseamos al activar el interruptor secuenciar.
Alarma arduino wavecom programa y esquema numeros borrados 48 pagjoaquinin1
Alarma por Joaquín Berrocal Piris creada en ARDUINO mega 2560 y el modem WAVECOM Q2303A ó (M1306B) . Cuando se activa se envía llamada y mensaje SMS. creada en agosto del 2014- duración del video 2'55''
Esquema electrónico y programa realizado.
Si te interesa conocer mis otros proyectos y quieres descargar información sobre los mismos consulta:
.
+ https://www.youtube.com/user/joaquininbp
+ https://issuu.com/joaquinin
+ https://issuu.com/joaquinin/stacks
nota importante: desde la utilidad indicada más abajo; poniendo la dirección del archivo en issuu.net he indicando cuántas páginas quieres, puedes bajarte cualquier archivo sin tener que registrarte:
Paginas para descargar:
http://utilidades.gatovolador.net/issuu/
Documentos: aquí está el brazo robotico
+ http://www.slideshare.net/joaquinin1/documents
Presentaciones de mecánica-electr vehículos
+ http://www.slideshare.net/joaquinin1/presentations
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso de dos display cátodo común y el teclado 4x4.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dos dislays 7 segmentos cátodo común
▷ Teclado numérico 4x4
✅ Descripción
▷ El presente proyecto hace uso de dos displays cátodo común y un teclado 4x4.
Vamos a implementar un programa que muestra el código de la tecla presionada en los display.
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso del display cátodo común I&T.
▷ Implementar un contador decimal de un dígito.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dislay 7 segmentos
✅ Descripción
▷ El presente proyecto hace uso de un display de 7 segmentos cátodo común.
Implementaremos un contador decimal de un dígito cuyo incremento será mediante el botón MCLR.
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso de dos displays cátodo común.
▷ Implementar un contador decimal de dos dígitos.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dos dislays 7 segmentos cátodo común
✅ Descripción
▷ El presente proyecto hace uso de dos display de 7 segmentos cátodo común.
Implementaremos un contador decimal de dos dígitos cuyo incremento será mediante el botón MCLR.
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886Victor Asanza
✅ Objetivo: Aprender el funcionamiento del módulo Adaptador IDC LCD 2X16.
Conocer las diferentes funciones que tiene la librería LCD de MikroBasic.
✅ Duración: 30min
✅ Materiales:
⇨ Módulo de desarrollo PIC16F886
⇨ Módulo adaptador ICD LCD 2X16
✅ Descripción: El presente proyecto se basa en el módulo Adaptador IDC LCD 2X16.
Se va a conectar el módulo LCD en el conector IDC de 5X2 del modulo PIC16F886, en el cual se visualizará las cadenas de caracteres programadas.
⭐⭐⭐⭐⭐ (Práctica 2) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso del ADC del microcontrolador.
▷ Mostrar en los led el valor leído por el ADC en binario.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
✅ Descripción
▷ El presente proyecto hace uso del potenciómetro PT y los LEDs.
▷ Como primer paso se hace la lectura del convertidor analógico-digital y este es almacenado en el microcontrolador.
▷ Se mostrará en los leds el valor leído por el ADC en binario.
✅ Desarrollo
▷ Para realizar la práctica planteada es necesario ubicar algunos JUMPER de tal manera que permita el uso de los componentes necesarios para esta práctica.
▷ El módulo Entrenamiento M.E.I&T04 puede utilizar una de dos fuentes de alimentación.
▷ Fuente de alimentación USB desde PC a través del cable USB.
▷ Fuente de alimentación EXT desde un Jack DC.
▷ Para hacer uso del potenciómetro PT tenemos que ubicar el JUMPER que está encima del potenciómetro en la posición EN (Enable=Habilitado) como se muestra en la figura.
▷ Para hacer uso de los led tenemos que ubicar el JUMPER que está debajo en la posición EN (Enable=Habilitado) como se muestra en la figura.
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...Fernando Marcos Marcos
Simulation:
https://youtu.be/rvsUvkgi8ro
Se diseño un circuito para lectura de temperatura utilizando el sensor LM35, la lectura se mostro mediante un multiplexor en 4 displays de siete segmentos (Ánodo y Cátodo Común), para el desarrollo del proyecto se utilizo la tarjeta Arduino Uno con el microcontrolador ATmega328P.
A circuit for temperature reading was designed using the LM35 sensor, the reading was shown by means of a multiplexer on 4 seven-segment displays (Anode and Common Cathode), for the development of the project the Arduino Uno card was used with the ATmega328P microcontroller.
Simulation:
https://youtu.be/LiHQm4mBeWE
Se diseño un circuito sencillo de un multiplexor de 4 y 6 displays de 7 segmentos de ánodo común y cátodo común, el cual mostrara la lectura analógica de un potenciómetro, para ello se utilizo la tarjeta Arduino Uno con el microcontrolador ATmega328P.
A simple circuit of a multiplexer of 4 and 6 displays of 7 segments of common anode and common cathode was designed, which would show the analog reading of a potentiometer, for this the Arduino Uno card was used with the ATmega328P microcontroller.
Brazo robotico ksr10 ps2 x mayo 2015 a 9v_version_3joaquinin1
El brazo tiene 5 motores de corriente continua (no paso a paso ni servomotores). Se pueden controlar desde la mesa con 3 Joystick o bien desde el mando de la playstation. Asímismo permite la grabación de los movimientos que realicemos del brazo y luego podemos secuenciar dichos movimientos de forma continua. Para ello, se utiliza un interruptor que permite la grabación de todos los movimientos que efectuemos y otro interruptor para secuenciarlos cuando deseemos, lo que permite a cualquier operario fácilmente modificar la trayectoria de los movimientos sin que tenga que venir un especialista para reprogramar los movimientos.
Proyecto brazo robotico ksr10 enero marzo 2015 a 9 v-version_2joaquinin1
Brazo robótico controlado con arduino mega 2560 mediante tres Joystick. dispone de 5 motorcillos. Se permite la grabación de los movimientos que efectuemos con los Joystick en tarjeta microSD y después secuenciarlos si así lo deseamos al activar el interruptor secuenciar.
Alarma arduino wavecom programa y esquema numeros borrados 48 pagjoaquinin1
Alarma por Joaquín Berrocal Piris creada en ARDUINO mega 2560 y el modem WAVECOM Q2303A ó (M1306B) . Cuando se activa se envía llamada y mensaje SMS. creada en agosto del 2014- duración del video 2'55''
Esquema electrónico y programa realizado.
Si te interesa conocer mis otros proyectos y quieres descargar información sobre los mismos consulta:
.
+ https://www.youtube.com/user/joaquininbp
+ https://issuu.com/joaquinin
+ https://issuu.com/joaquinin/stacks
nota importante: desde la utilidad indicada más abajo; poniendo la dirección del archivo en issuu.net he indicando cuántas páginas quieres, puedes bajarte cualquier archivo sin tener que registrarte:
Paginas para descargar:
http://utilidades.gatovolador.net/issuu/
Documentos: aquí está el brazo robotico
+ http://www.slideshare.net/joaquinin1/documents
Presentaciones de mecánica-electr vehículos
+ http://www.slideshare.net/joaquinin1/presentations
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso de dos display cátodo común y el teclado 4x4.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dos dislays 7 segmentos cátodo común
▷ Teclado numérico 4x4
✅ Descripción
▷ El presente proyecto hace uso de dos displays cátodo común y un teclado 4x4.
Vamos a implementar un programa que muestra el código de la tecla presionada en los display.
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso del display cátodo común I&T.
▷ Implementar un contador decimal de un dígito.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dislay 7 segmentos
✅ Descripción
▷ El presente proyecto hace uso de un display de 7 segmentos cátodo común.
Implementaremos un contador decimal de un dígito cuyo incremento será mediante el botón MCLR.
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso de dos displays cátodo común.
▷ Implementar un contador decimal de dos dígitos.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dos dislays 7 segmentos cátodo común
✅ Descripción
▷ El presente proyecto hace uso de dos display de 7 segmentos cátodo común.
Implementaremos un contador decimal de dos dígitos cuyo incremento será mediante el botón MCLR.
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886Victor Asanza
✅ Objetivo: Aprender el funcionamiento del módulo Adaptador IDC LCD 2X16.
Conocer las diferentes funciones que tiene la librería LCD de MikroBasic.
✅ Duración: 30min
✅ Materiales:
⇨ Módulo de desarrollo PIC16F886
⇨ Módulo adaptador ICD LCD 2X16
✅ Descripción: El presente proyecto se basa en el módulo Adaptador IDC LCD 2X16.
Se va a conectar el módulo LCD en el conector IDC de 5X2 del modulo PIC16F886, en el cual se visualizará las cadenas de caracteres programadas.
⭐⭐⭐⭐⭐ (Práctica 2) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso del ADC del microcontrolador.
▷ Mostrar en los led el valor leído por el ADC en binario.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
✅ Descripción
▷ El presente proyecto hace uso del potenciómetro PT y los LEDs.
▷ Como primer paso se hace la lectura del convertidor analógico-digital y este es almacenado en el microcontrolador.
▷ Se mostrará en los leds el valor leído por el ADC en binario.
✅ Desarrollo
▷ Para realizar la práctica planteada es necesario ubicar algunos JUMPER de tal manera que permita el uso de los componentes necesarios para esta práctica.
▷ El módulo Entrenamiento M.E.I&T04 puede utilizar una de dos fuentes de alimentación.
▷ Fuente de alimentación USB desde PC a través del cable USB.
▷ Fuente de alimentación EXT desde un Jack DC.
▷ Para hacer uso del potenciómetro PT tenemos que ubicar el JUMPER que está encima del potenciómetro en la posición EN (Enable=Habilitado) como se muestra en la figura.
▷ Para hacer uso de los led tenemos que ubicar el JUMPER que está debajo en la posición EN (Enable=Habilitado) como se muestra en la figura.
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...Fernando Marcos Marcos
Simulation:
https://youtu.be/rvsUvkgi8ro
Se diseño un circuito para lectura de temperatura utilizando el sensor LM35, la lectura se mostro mediante un multiplexor en 4 displays de siete segmentos (Ánodo y Cátodo Común), para el desarrollo del proyecto se utilizo la tarjeta Arduino Uno con el microcontrolador ATmega328P.
A circuit for temperature reading was designed using the LM35 sensor, the reading was shown by means of a multiplexer on 4 seven-segment displays (Anode and Common Cathode), for the development of the project the Arduino Uno card was used with the ATmega328P microcontroller.
Simulation:
https://youtu.be/LiHQm4mBeWE
Se diseño un circuito sencillo de un multiplexor de 4 y 6 displays de 7 segmentos de ánodo común y cátodo común, el cual mostrara la lectura analógica de un potenciómetro, para ello se utilizo la tarjeta Arduino Uno con el microcontrolador ATmega328P.
A simple circuit of a multiplexer of 4 and 6 displays of 7 segments of common anode and common cathode was designed, which would show the analog reading of a potentiometer, for this the Arduino Uno card was used with the ATmega328P microcontroller.
Perfektionismus vermeiden und dadurch Zeit sparenMeike Kranz
In dieser Präsentation zeige ich Ihnen, wie Sie mit ein paar einfachen Methoden im Job Zeit sparen können. Gemäß dem Pareto-Prinzip schafft man in kurzer Zeit einen Großteil des Ergebnisses zu erzielen. Um es perfekt zu machen, benötigt man allerdings sehr viel mehr Zeit. Diese Zeit können Sie sich mit meinen Tipps sparen.
In dieser Präsentation zeigen wir Ihnen auf, wie HR den Wandel schafft – von einer administrativen Rolle hin zu einer Rolle, die insbesondere 4 Management-Kernkompetenzen umfasst:
• Management strategischer HR-Themen
• Management von Veränderungsprozessen
• Management der Infrastruktur
• Management der Leistungsfähigkeit von Mitarbeitern
Iluminación y energía limpia sin cables ni facturas. IBERFASA, especialistas en hacer brillar su empresa incluso en los días sin sol.
Somos especialistas en energías renovables. Nos avalan más de 15 años de experiencia en tecnología eólica y fotovoltaica. De origen español, contamos con oficinas en Suecia, Colombia, EE.UU., México y España. Ofrecemos asesoría, servicios de instalación, mantenimiento y un dedicado servicio postventa que convierten las necesidades energéticas de su empresa en una oportunidad de negocio.
Profesional con más de 10 años de experiencia, participando activamente en proyectos de productos, servicios y TIC's. Garantizando que las necesidades de las áreas de negocio sean materializadas en proyectos de desarrollo. Aplicando metodologías de proyectos PMI® y ágiles para la obtención de los objetivos.
CASOS DE ÉXITO
1. Gestión exitosa de proyectos para el desarrollo de aplicaciones de servicios y productos bancarios implementados en canales digitales y electrónicos.
2. Dirección exitosa de proyectos de Migración e Interconexión de grandes empresas y Emisoras
3. desplegados en canales electrónicos y digitales.
4. Cobertura y distribuir los nuevos canales digitales y los canales electrónicos en función a las necesidades del mercado.
5. Gestionar exitosamente el diseño, factibilidad, desarrollo y puesta en marcha de nuevos canales digitales.
6. Estructuración de procesos y tecnología para la implementación de CRM - Telemarketing y centros de servicios para clientes.
7. Implementación de metodologías tradicionales y ágiles para gestión de proyectos en empresas.
8. Gestión exitosa de proyectos para el desarrollo de WEBs Corporativos.
9. Diseño de modelos de negocio y estrategias.
10. Dirección e implementación exitosa de dinámicas contables en módulos de Banca transaccional, Empresas y Corporativa, Comercio exterior, Tesorería
M-Files expandiert und wächst rasant in Europabhoeck
Mit der Akquisition von StreamDesign in Frankreich baut M-Files sein Engagement in Zentraleuropa aus und etabliert nach der Gründung einer Tochtergesellschaft in Deutschland eine weitere Niederlassung innerhalb kurzer Zeit. Zudem überzeugt M-Files mit starken Wachstumszahlen – insbesondere im Bereich Cloud und Channel. Mit M-Files IML wird das erste repository-unabhängige ECM-System auf der CeBIT vorgestellt.
Fullcar Services, leader français du convoyage de véhicules légers, étoffe son réseau de convoyeurs indépendants.
Vous êtes convoyeur ou vous souhaitez devenir convoyeur avec un statut indépendant (micro-entrepreneur, entreprise individuelle ou société), nous vous proposons de rejoindre notre réseau de convoyeurs indépendants.
Une fois référencé comme partenaire, nous vous proposerons plusieurs missions par mois qui constitueront pour vous une activité complémentaire et un revenu ou chiffre d’affaires complémentaire.
Proyecto brazo robotico ksr10 enero marzo 2015joaquinin1
Brazo robótico KSR 10 controlado por 3 Joystick . dispone de 5 motores de corriente continua . El control se realiza desde la arduino Mega 2560 con la ayuda de 3 drivers para la alimentación y cambio de sentido de giro de los motores. Los movimientos que ejecute con los Joystick pueden ser grabados al cerrar un interruptor en una tarjeta micro SD y después se podrán secuenciar de forma automática los movimientos al ser accionado otro interruptor.
La precisión es de +/1,5º
El programa está realizado en ARDUINO versión 1.05.r2
En este documento está todo el proceso de construcción y el programa.
Esta práctica consistió en realizar un sistema capaz de medir la velocidad de una canica, para poder elaborar este sistema se utilizaron sensores de luz, leds, arduino, displays y algunos otras herramientas. Para poder medir la velocidad de la canica la hicimos rodar por un tubo, colocamos dos sensores de luz en los extremos para que se detectara en qué momento se obstruía la luz en ellos, se contó el tiempo que llevo corriendo el sistema, con los datos obtenido que fueron tiempo y distancia se pudo calcularla velocidad, y de ahí se imprimieron en tres displays conectados en cascadas.
El proyecto consiste en el desarrollo de un equipo electrónico simulador de una ECU de cualquier vehículo. Implementa un sistema de diagnóstico de abordo basado en el protocolo de diagnosis OBD-II sobre CAN-BUS, que permitirá tanto visualizar variables en tiempo real, como realizar un diagnóstico del estado del automóvil simulado que muestre los códigos de falla almacenados y permita borrarlos una vez reparados.
A través de la aplicación Torquepro.apk instalada en el móvil y en unión al scanner de diagnóstico ELM327 que se le acopla al conector OBD2 del simulador, se puede, vía bluetooth, tener acceso a los valores de 6 sensores del vehículo, simulados por 6 potenciómetros, y a la lectura / borrado de las averías que podemos crear mediante los 6 microinterruptores de los que dispone la placa shield que se ha construido y montado sobre una Arduino mega.
El programa está realizado en Arduino. Se muestra en el ANEXO B del proyecto
En este proyecto se da información sobre el protocolo CAN y todo el proceso de desarrollo, construcción y montaje del simulador.
Se trata de un proyecto realizado por Joaquín Berrocal Piris hecho en arduino y en AppInventor para poder visualizar el nivel de temperatura del sistema de climatización de cualquier vehículo así como la temperatura y humedad interior del coche. Los valores de temperatura y humedad se pueden ver sobre la pantalla LCDI2C 20X4 / sobre el monitor serial del PC y sobre la aplicación apk por mí creada en el teléfono móvil a través de bluetooth
Dispone de 4 sensores de temperatura 1 Wire-DS18B20 repartidos por diversos puntos del circuito de aire acondicionado o climatizador de cualquier vehículo + 1 sensor DHT22 de Temperatura y Humedad alojado en el interior del vehículo.
Es el proyecto de construcción de una empresa para la comprobación de las unidades de control de la gestión del motor de vehículos con UCE de 154 patillas (T60 + T94). Realizado por Joaquín Berrocal Piris en Mayo de 2018
este programa hecho en ensamblador por Joaquín berrocal Piris lo uso para el manejo del puente levadizo de madera
Nota: ver Mis proyectos en.
https://www.youtube.com/user/joaquininbp
http://www.slideshare.net/joaquinin1/presentations
Documentos: aquí está el brazo robotico
http://www.slideshare.net/joaquinin1/documents
https://issuu.com/joaquinin
nota importante: desde la utilidad indicada más abajo; poniendo la dirección del archivo en issuu.net he indicando cuantas páginas quieres, puedes bajarte cualquier archivo sin tener que registrarte:
Publicado el 1 abr. 2015
Paginas para descargar:
http://utilidades.gatovolador.net/issuu/
Incubadora con foto, esquemas y programa en PBP 19 pagjoaquinin1
INCUBADORA CON CONTROL DE TEMPERATURA AUTOMÁTICOY VOLTEO DE HUEVOS; CADA 6 HORAS 1/4 DE VUELTA
Temperatura para los huevos de gallina: 38ºC
Humedad: 65%.
Días de incubación aprox: 21 días
Nota: ver Mis proyectos en.
+ https://www.youtube.com/user/joaquininbp
+ https://issuu.com/joaquinin
nota importante: desde la utilidad indicada más abajo; poniendo la dirección del archivo en issuu.net he indicando cuántas páginas quieres, puedes bajarte cualquier archivo sin tener que registrarte:
Paginas para descargar:
http://utilidades.gatovolador.net/issuu/
Documentos: aquí está el brazo robotico
+ http://www.slideshare.net/joaquinin1/documents
Presentaciones de mecánica-electr vehículos
+ http://www.slideshare.net/joaquinin1/presentations
Proyecto completo en PICBASICPRO. realizado por Joaquín Berrocal Piris abril-nov de 2012. Fotos del proyecto, pruebas en proteus, esquemas en eagle y programa en picbasicpro.
dispone de display, teclado, zumbador para pulsacion de teclado, sirena de alarma. y llamadas al Móvil La placa para los componentes, la desarrolle con la máquina de control numérico que construí en el 2009.
;-----------------FUNCIONAMIENTO--------------------------
;Cuando se conecta la alarma, y si se pulsa la "Tecla B" en los
;primeros 4 segs SE PUEDEN CONFIGURAR :
;A)‐. Los Tiempos de Salida y Entrada de 1 a 10 minutos.
; (en principio está configurado a 5' la entrada y salida)
;B)‐. El Teléfono a llamar en caso de activación de la alarma
; (en este caso Sólo se permite la lectura de los números del teclado.)
;A continuación nos pide la clave para poner operativa el sistema.
;Se permiten como máximo 3 fallos caso contrario Activación de sirena
; y teléfono.
;‐. La "Tecla A" ‐‐‐Permite la activación directa de la alarma
;‐. La "Tecla B" ‐‐‐Permite la Configuración (tiempos entrada‐salida + telefno.)
;‐. La "Tecla C" ‐‐‐Permite Cambiar la clave ("Acepta números, letras y signos)
;‐. La "Tecla D" ‐‐‐Permite Desconectar, pero pedirá validar Clave.
;En caso de Activación se conecta una sirena y se marca el número. Se chequea
;la tecla de Desconexión "Tecla D" que en caso de ser pulsada pedirá la clave.
Nota: ver Mis proyectos en.
+ https://www.youtube.com/user/joaquininbp
+ https://issuu.com/joaquinin
nota importante: desde la utilidad indicada más abajo; poniendo la dirección del archivo en issuu.net he indicando cuántas páginas quieres, puedes bajarte cualquier archivo sin tener que registrarte:
Paginas para descargar:
http://utilidades.gatovolador.net/issuu/
Documentos: aquí está el brazo robotico
+ http://www.slideshare.net/joaquinin1/documents
Presentaciones de mecánica-electr vehículos
+ http://www.slideshare.net/joaquinin1/presentations
ASCENSOR realizado con el carro de una impresora de formato A3 dispone de 5 pisos.
Fotos construcción, esquemas, circuito emsamblador y hexadecimal para grabar en el PIC16F876. Majena el BUS I2C para aumentar las puertas de E/S con el PCF8574P
Nota: ver Mis proyectos en.
+ https://www.youtube.com/user/joaquininbp
+ https://issuu.com/joaquinin
nota importante: desde la utilidad indicada más abajo; poniendo la dirección del archivo en issuu.net he indicando cuántas páginas quieres, puedes bajarte cualquier archivo sin tener que registrarte:
Paginas para descargar:
http://utilidades.gatovolador.net/issuu/
Documentos: aquí está el brazo robotico
+ http://www.slideshare.net/joaquinin1/documents
Presentaciones de mecánica-electr vehículos
+ http://www.slideshare.net/joaquinin1/presentations
Construcción máquina control numérico cnc agost-sept-2009_joaquin berrocal pî...joaquinin1
Fotos con la construcción de la máquina CNC realizada por Joaquín Berrocal en Septiembre de 2009
Nota: ver Mis proyectos en.
+ https://www.youtube.com/user/joaquininbp
+ https://issuu.com/joaquinin
nota importante: desde la utilidad indicada más abajo; poniendo la dirección del archivo en issuu.net he indicando cuántas páginas quieres, puedes bajarte cualquier archivo sin tener que registrarte:
Paginas para descargar:
http://utilidades.gatovolador.net/issuu/
Documentos: aquí está el brazo robotico
+ http://www.slideshare.net/joaquinin1/documents
Presentaciones de mecánica-electr vehículos
+ http://www.slideshare.net/joaquinin1/presentations
Presentaciones de mecánica-electr vehículos
+ http://www.slideshare.net/joaquinin1/presentations
Control de 8 sensores de temperatura ds1621 en proteus eagle-asm-hex por joaq...joaquinin1
Proyecto completo por Joaquín Berrocal Piris, hecho en ensamblador y controlado por bus I2C. (para ver en youtube: https://www.youtube.com/watch?v=GzJFyv9X17Y)
Se puede modificar fácilmente los valores de temperatura mínima y máxima desde el puerto serie con ayuda del hiperterminal de windows o cual quier otro.
Dispone de display LCD de 4x20 . se ven fotos del montaje. Dispone de los esquemas electrónicos en proteus y en el eagle. Al final esta el programa en ensamblador y los archivos HEXADECIMALES.
Pongo dos, uno para usar LCD de 4x20 y otro si deseo usar una LCD de 4X16.
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
1. Coche por bluetooth controlado por la aplicación en appinventor 2 de Andrés Lasry “mando.apk” y
complementada por Joaquín Berrocal, para la recepción de datos desde la placa Arduino Uno del coche hacia
el teléfono. Marzo-2017
Carcasa utilizada; Coche CYBOT 950 del 2001
Información circuitería de la placa driver: http://www.lpilsley.co.uk/cybot/driver.htm
2.
3.
4.
5.
6. Como se puede ver en el display marca 15 cm ------ 150 mm
De distancia al sensor frontal bluetooh. Prueba realizada OK ver imágenes de abajo.
También se ve que la distancia a objeto frontal que ha de pararse cuando va caminado de frente es a
unos 28 cm. OK
18. /*"COCHE_POR_BT_Joaquin_Berrocal.ino"
realizado por:
JOAQUÍN BERROCAL PIRIS para "curso 17S1AR001 de Andrés Lasry"
Nov16-Feb17
Se trata de utilizar una aplicación bluetooth por él realizada
para enviar datos desde el telefono móvil a la placa Arduino.
La aplicación la tiene realizada en ANDROID por APPINVENTOR2.
es configurable los valores que envía.
por defecto tiene los siguientes;
1 2 3
4 5 6
7 8 9
- Lo utilizaré para manejar mi coche CYBOT950 Eaglesmoss del 2001.
Dirección web sobre el coche http://www.lpilsley.co.uk/cybot/driver.htm
el cual dispone;
+ de una placa driver par activar los motores
Le incorporo:
+ Una placa BT HC05 para la recepción bluetooth
+ Dos sensores de distancia HC-SR04, que pueden medir
distancias entre 2 cm a 4mts con una precisión de 3mm
+ Dos leds que podrán ser activados desde el bluetooch
+ Programa "mando_mio_V1.aia" que realizo basado en el "mando.aia" de Andrés lasry.
Le tengo hecho las siguientes modificaciones:
+ Permitirá la recepción de datos del arduino al móvil. es decir:
+ Permitirá ver en el tfno sobre el LCD, los valores de distancia al objeto de forma contínua
+ Se podrán encender o apagar los leds desde el tfno.
+ Todas las posiciones del Joystick ejecutan una función
----posición Joystick Android y actuación----
posicion 1 : Activa leds
posicion 7 : los apaga.
posición 2 : Marcha adelante.
posición 8 : Marcha Atrás
posición 4 : Marcha a Izquierda; girará aprox 90º y continuará de frente.
posición 6 : Marcha a derecha; girará aprox 90º y continuará de frente.
posición 3 : Gira sobre sí mismo a Dcha
posición 7 : gira sobre sí mismo a Izqda.
Todas estas posiciones se verán reflejadas sobre la LCD del móvil, así como el valor en centímetros
de la distancia a los objetos de la parte frontal y trasera del coche.
Claramente estos datos serán enviados de la placa arduino al móvil de forma constante.
La dificultad del proyecto ha estado en el envío, no de uno, si no de tres datos diferentes al móvil
tratando siempre de conseguir rapida respuesta del tfno móvil con la placa arduino del coche en el envío y re
------------- Para activar los 2 motores;----------------
- Giro hacia adelante: pines arduino 3 y 5 a nivel HIGH (con 1-3 de la placa driver)
- Giro hacia atrás: pines arduino 6 y 9 a nivel HIGH (con 2-4 de la placa driver)
- Giro a Dcha: pines arduino 3 en LOW y pin 5 en HIGH
- Giro a izqda: pines arduino 3 en HIGH y pin 5 en LOW
- Giro sobre sí mismo a Dcha : analogWrite(3,0); analogWrite (5,125);
- Giro sobre sí mismo a Izqda : analogWrite(3,125); analogWrite (5,0);
-----------------------------------------------------------
OBSERVACIONES:
La velocidad se irá reduciendo a medida que se vaya acercando a cualquier obstáculo que se encuentre
por delante o detrás del vehículo.
Si se sobrepasa la distancia mínima, se producirá una intermitencia de los leds durante 4 segundos, y acto
seguido, invertirá la marcha durante 1 sg para salir de esa posición, quedandosé en posición de "Parado"
a la espera de recibir ordenes desde el joystick del mando.
------------Conexionado de la placa driver.-------
Conector de 7 pines
Nota RH y LH significan motor Righ (motor dcho, motor Left (motor izqdo)
---Motores hacia adelante, poner los pines 1-3 en high de la placa driver---
(que corresponden con el pin 3 y 5 de arduino en HIGH)
1 - RH motor
3 - LH motor
---Motor hacia Atrás, poner los pines 2-4 en high de la placa driver---
(que corresponden con el pin 6 y 9 de arduino en HIGH)
2 - RH motor
19. 4 - LH motor
5 - 5 volts ,se puede usar como alimentación a otros elementos
6 - 6 volts , " " " " " " "
7 - ground.
Conector de 4 pines
1 - ground.
2 - ground.
3 - 9 volts in procedente de la pila de 9V
4 - 6 volts in.procedente de las 4 pilas de 1.5V
-------------------------
conector MT1; es el LH Motor (motor de la izqda)
conector MT2; es el LR Motor (motor de la dcha)
++++++Conexionado ARDUINO PLACA DRIVER ++++++
ARDUINO PLACA DRIVER
MT2R_GiroAdelante pin 3PWM --------- 1
MT1L_GiroAdelante pin 5PWM --------- 3
MT2R_GiroAtras pin 6PWM ------------ 2
MT2L_GiroAtras pin 9PWM ------------ 4
GND -------------------------------- 7 GND para unificar masas.
5 salida de la placa driver a + 5V
6 salida a +6V de la placa driver
----Conexionado Arduino sensor de distancia HC-SR04------
ARDUINO HC-SR04
2 como salida ----- TriggerDtero
4 como entrada ---- echoDtero.
7 como salida ----- TriggerTrasero
8 como entrada ---- echoTrasero.
--------Conexionado Arduino sensor BlueTooth HC05---------
ARDUINO Sensor blueTooth HC05
10RX -------- Con pin Tx Bluetooth
11TX -------- Con pin Rx Bluetooth
OBSERVACIONES: El bluetooth HC05 (que es maestro/esclavo)debemos siempre mandarle
al final de cada comando r,n .Para ello configurar el monitor/terminal serial de arduino,
para que envíe: "ambos NL & CR"
Y lo mismo si lo hacemos de cualquier aplicación android como en este caso.
----------------------------------------------------------
ARDUINO
12 ----- activa dos leds azules que ya llevan R de 68ohm
-----------------------------------------------------------
*/
#include < SoftwareSerial .h> //Para manejo bluetooth HC05
//permite asignar otros puertos distinto al serial para poder utilizarlo en conjunto
//Para utilizar a la par la comunicación con el Serial Monitor que utiliza los pines 0 RX y 1 Tx
//y la comunicación BLUETOOH pines que le asigno el pin 10RX y 11Tx intercambiarlos con los de
//la placa bluetooth 10Rx con el Tx y el 11Tx con el Rx de la placa bluetooth HC05
//---variables globales-------
const int nLecturas=10; //para hacer 1/2 de 10 lecturas BT
int lecturas[nLecturas]; //array para guardar últimas lecturas BT
int indice = 0;
int total = 0;
unsigned int media = 0; //media de las lecturas
unsigned int media1=0; //media del sensor frontal
unsigned int media2=0; //media del sensor trasero
String direccion = "";
unsigned long tiempo = 0;
unsigned long distancia = 0;
int distanciaMinima= 25; //valor inicial 25cm
int tiempoGirar = 100; //tiempo para hacer girar corresponde aprox a 90º
int tiempoParada = 100; //tiempo para que paren motores
int dato = '5'; //inicia posición reposo joystick ""Ponerlo entre comillas"" o se verá mal en lcd.
const int MT2R_GiroAdelante=3; //unido al pin 1 de la placa driver MT2 hacia adelante
20. const int MT1L_GiroAdelante=5; //unido al pin 3 de la placa driver MT1 hacia adelante
const int MT2R_GiroAtras=6; //unido al pin 2 de la placa driver MT2 hacia atrás
const int MT1L_GiroAtras=9; //unido al pin 4 de la placa driver MT1 hacia atrás
const int leds = 12;//para activar leds en la pro micro el 20
const int triggerF = 2;// para activar el trigger del sensor distancia HC-SR04 Frontal
const int echoF = 4;// por donde recibe señal del sensor frontal
const int triggerT = 7;// para activar el trigger del sensor distancia HC-SR04 Trasero
const int echoT = 8;// por donde recibe señal del sensor Trasero
//--------------------PROGRAMA-----------------
/* OBSERVACIÓN MUY IMPORTANTE: sobre las limitaciones de la librería "SoftwareSerial (Rx,Tx);"
http://manueldelgadocrespo.blogspot.com.es/p/biblioteca.html
No todos los pines en la Mega y Mega 2.560 soportan interrupciones de cambio de nivel,
por lo que solamente la siguiente puede ser utilizado para
RX: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 ( 63),
A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69).
No todos los pines de las placas Leonardo y Micro soportan interrupciones de cambio de nivel,
así que solamente los siguientes se pueden utilizar para
RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).
En Arduino o Genuino 101 la velocidad máxima actual de RX es de 57600bps
En Arduino o Genuino 101 RX no funciona en el pin 13
*/
//si utilizo la PRO MICRO El pin 10 de arduino pro micro hace de RX y 16 de TX
SoftwareSerial bt(10,11); //en la uno 10RX Y 11TX ; intercambiarlos con la placa
//bluetooth HC05, es decir,
// unir pin10(RX)con ------> TX placa bluetooth HC05
//y el pin 11 (TX)con ------> RX placa bluetooth HC05
String posicJoystickGiroMot[]= {"ADELANTE" ,"ATRAS ","IZQUIERDA" ,"DERECHA " ,"PARADO " ,"LEDS ON
void setup()
{
//--configuracion pines de salida y entrada---
//OUTPUT 2-3-5-6-7-9 y el 20 INPUT 4-8 conectados al pin "echo" del sensor ultrasónico Frontal - Trasero
//los pines 10Rx y 11Tx para el bluetooth no hace falta configurarlos
for (int i=2;i<=9;i++)
{
if ((i == 4)or (i==8))
{
pinMode (i,INPUT); //configura como entrada el 4 y 8
continue ; // salta de nuevo al for sin hacer lo de más abajo
}//
pinMode (i,OUTPUT );
digitalWrite (i,LOW); //los inicializa a cero
} //fin for
pinMode (leds, OUTPUT ); //pin 12 activar leds como salida
digitalWrite (leds, LOW); //inicia a nivel 0
//---------------------------------
// MI PLAQUITA bluetooh va a "9600".
//la comunicación con la placa bluetooth HC05 sólo acepta 9600 baudios.
bt.begin(9600); //serial bluetooth
Serial .begin(9600); //Serial arduino; acepta todas las velocidades
//----------------------------------------------------------------
}// fin setup ();
//----------------------------------------------------------------
void loop()
{
//-------------MENSAJES DISTANCIA AL MÓVIL---------
//int medidorDistancias (byte pinTrigger,byte pinEcho,int distancia)
medidorDistancias (2,4,distanciaMinima);
21. media1= media; //"Distancia Frontal: "
medidorDistancias (7,8,distanciaMinima);
media2= media; //"Distancia Trasera: "
// sprintf(buffer,"%d,%d",media1,media2);//no acepta el sprintf(buffer,"%s,%d,%d",direccion,media1,media2);
//----ENVÍO AL SERIAL se puede suprimir------------
Serial .println (direccion); //variable global con la dirección que toma el vehículo
Serial .print(media1); //Sensor Delantero
Serial .println (" cm");
Serial .print(media2); //Sensor Trasero
Serial .println (" cm");
//----- SENSORES DE DISTANCIA SR-HC04------------
//----------ENVÍO DE DATOS AL MÓVIL---------------
bt.print(direccion); //index 1 variable global con la dirección que toma el vehículo.
//sensor ultrasonico Frontal
bt.print("/"); //separador
bt.print(media1); //index 2 Sensor Delantero
bt.print(" cm");
bt.print("/");//separador para lectura del siguiente sensor ultrasónico
//sensor ultrasonico Trasero
bt.print(media2); //index 3 Sensor Trasero
bt.print(" cm");
bt.print("/"); //separador para lectura del siguiente sensor ultrasónico
//---------------------------------------------------
} // fin loop()
//++++++++++++++++FUNCIONES UTILIZADAS++++++++++++++++
// ----FUNCIÓN DE LECTURA PUERTO BLUETOOTH----
// lo pongo aquí para que lea de forma constante y se pueda tener
//respuesta más inmediata a los botones del Joystick móvil
void lecturaPuertoBT()
{
while(bt.available ()>0)
{
int datoprueba = bt.read();//variable entera global
if ((datoprueba!=13)and (datoprueba!=10))
{
dato = datoprueba;
}
// En la función "switch" el valor a comparar "case X: " X sólo puede ser de tipo entero.
//otros lenguajes sí lo aceptan pero arduino NO: No obstante, he probado que si pongo
//en los "case" el valor entero a comprobar entre comillas; ej case '2' todo ok SI LO ACEPTA
//es decir el valor enviado por el mando bluetooth es el entero 2. Si lo pongo sin comillas no lo acepta
switch (dato) //comprobamos el caracter que nos llega
{
//---para activar o desactivar los leds pin 12 ---
case '1':
{
Serial .println (posicJoystickGiroMot[5]); //GIRO HACIA ADELANTE
direccion = "LEDS ON "; //ajustado a 11 caracteres+espacios en el appinventor
digitalWrite (leds, HIGH);// pin 12
break;
}
case '9':
{
Serial .println (posicJoystickGiroMot[6]); //GIRO HACIA ADELANTE
22. direccion = "LEDS OFF " ;//ajustado a 10 11
digitalWrite (leds, LOW);// pin 12
break;
}
//-------------------------------------------------
case '2':
{
Serial .println (posicJoystickGiroMot[0]); //GIRO HACIA ADELANTE
direccion = "ADELANTE" ; //ajustado a 8
apagarTodos();
giroAdelante(); //pin 1 y 3 en HIGH
break;
}
case'8':
{
Serial .println (posicJoystickGiroMot[1]); //GIRO HACIA ATRÁS
direccion = "ATRAS "; //ajustado a 13
apagarTodos();
giroAtras(); //pines 6 y 9 en HIGH
break;
}
case'4':
{
Serial .println (posicJoystickGiroMot[2]); //GIRO A IZQDA
direccion = "IZQUIERDA" ;//ajustado a 9
apagarTodos();
//luego activa el nuevo giro
digitalWrite (MT2R_GiroAdelante, HIGH);// pin 3
digitalWrite (MT1L_GiroAdelante, LOW);// pin 5
delay(tiempoGirar); //tiempo para girar
apagarTodos();
giroAdelante(); //pin 1 y 3 en HIGH
break;
}
case'6':
{
Serial .println (posicJoystickGiroMot[3]); //GIRO A DCHA
direccion = "DERECHA " ; //ajustado a 9
//primero desactiva TODOS los MOTORES
apagarTodos();
//luego activa el nuevo giro
digitalWrite (MT2R_GiroAdelante, LOW);// pin 3
digitalWrite (MT1L_GiroAdelante, HIGH);// pin 5
delay(tiempoGirar); //tiempo para girar
apagarTodos();
giroAdelante(); //pin 1 y 3 en HIGH
break;
}
case'5':
{
Serial .println (posicJoystickGiroMot[4]); //VEHÍCULO PARADO
direccion = "PARADO " ; //ajustado a 11
apagarTodos();
break;
}
// -----hacer rotar de forma continua a Dcha o a Izqda------
case'3': //giro a DCHA continuo
{
Serial .println (posicJoystickGiroMot[2]); //GIRO A DCHA
direccion = "GIRO >>>>" ;//ajustado a 9
apagarTodos();
//luego activa el nuevo giro
analogWrite (MT2R_GiroAdelante,0); // pin 3
analogWrite (MT1L_GiroAdelante,125); // pin 5
break;
}
case'7': //giro a IZQDA continuo
{
23. Serial .println (posicJoystickGiroMot[2]); //GIRO A IZQDA
direccion = "<<<< GIRO" ;//ajustado a 9
apagarTodos();
//luego activa el nuevo giro
analogWrite (MT2R_GiroAdelante,125); // pin 3
analogWrite (MT1L_GiroAdelante,0); // pin 5
break;
}
//----------------------------------------------------------
} //fin del switch(dato)
} //fin if bt.available()>0
}//fin void lecturaPuertoBT
//--------------------------------------------
//++++FUNCIÓN medidorDistancias ()++++
//------------instrucciones para el control de la distancia ----
//--si es menor a una distancia que especifiquemos se parara----
// se hace una media de 10 lecturas para dar un valor más estbilizado
int medidorDistancias (byte pinTrigger,byte pinEcho,int distMinima)
{
total = 0; // Sí lo necesito al no utilizar el array int lecturas[nLecturas];
indice = 0; //reiniciamos el indice.
while (indice < nLecturas)
{
digitalWrite (pinTrigger, LOW); //activación pinTrigger 2 - 7 sensores frontal-trasero
delayMicroseconds (5); //para estabilizar otros le dan sólo 2 us
digitalWrite (pinTrigger, HIGH);
delayMicroseconds (10); //ha de ser 10 us para el sensor HC-SR04 otros sensores le dan sólo 5 us.
digitalWrite (pinTrigger, LOW); //paro la activación y comienza el envío de la señal ultrasónica
//por el pin "echo" se empieza a recibir una señal HIGH la función pulsein(), pausa el sketc
//para contar el tiempo transcurrido hasta recibir el rebote, momento en el cual por el pi
//"echo" pasa a detectarse una señal LOW y pulseIn() devuelve su resultado en microsegundos
// http://manueldelgadocrespo.blogspot.com.es/p/pulsin.html
tiempo = pulseIn (pinEcho, HIGH);//receptor pinEcho 4 - 8 sensores frontal-trasero
distancia = 0.01717*tiempo; // considero la velocidad del sonido como 343,2m/s según la wiki a 20
//dando un resultado de 0.01717cm por cada microsegundo considerando
total= total + distancia;
indice = indice + 1;
lecturaPuertoBT(); // si lo dejo me sube el contaje de la distancia
delayMicroseconds (25); //tiempo mínimo entre lecturas es de 20 us.
}//fin while indice <= nlecturas
media = total / nLecturas; //en cm
//Según donde mires dicen que el sensor de distancia mide desde
//los 2cm a 4 ó 5 o incluso 7 metros con una precision de 3 mm.
//para evitar posibles problemas limito su lectura en 400
if (media > 400){media = 400;}
controlDistMinima();
}//fin función medidorDistancias (...)
//--------------------------------------------------------------
//++++++++++++FUNCIÓN controlDistMinima()++++++++++
//Evita se pase, y si lo hace para,parpadean los leds y retrocede-avanza un tiempo
void controlDistMinima()
{
// if (dirección != direccionPrevia)
///// { direccionPrevia = direccion; //evita que
//---------------------al 100% máxima velociad--------
if ((media >= distanciaMinima + 75)and (direccion == "ADELANTE" ))
{
24. digitalWrite (MT2R_GiroAdelante, HIGH);// pin 3 analogWrite(MT2R_GiroAdelante,255);// pin 3
digitalWrite (MT1L_GiroAdelante, HIGH);// pin 5 analogWrite(MT1L_GiroAdelante,255);// pin 5
}
if ((media >= distanciaMinima + 75)and (direccion == "ATRAS ")) // ajustado a 13
{
digitalWrite (MT2R_GiroAtras, HIGH);// pin 6 analogWrite(MT2R_GiroAtras,255);// pin 6
digitalWrite (MT1L_GiroAtras, HIGH);// pin 9 analogWrite(MT1L_GiroAtras,255);// pin 9
}
//------------------------al 50% velocidad-----------
if ((media >= distanciaMinima + 50)and (media < distanciaMinima + 75)and (direccion == "ADELANTE" ))
{
analogWrite (MT2R_GiroAdelante,125); // pin 3 digitalWrite(MT2R_GiroAdelante,HIGH);// pin 3
analogWrite (MT1L_GiroAdelante,125); // pin 5 digitalWrite(MT1L_GiroAdelante,HIGH);// pin 5
}
if ((media >= distanciaMinima + 50)and (media < distanciaMinima + 75)and(direccion == "ATRAS ")
{
analogWrite (MT2R_GiroAtras,125); // pin 6 digitalWrite(MT2R_GiroAtras,HIGH);// pin 6
analogWrite (MT1L_GiroAtras,125); // pin 9 digitalWrite(MT1L_GiroAtras,HIGH);// pin 9
}
//------------------------al 28% velocidad-----------
if ((media >= distanciaMinima + 25)and (media < distanciaMinima + 50)and (direccion == "ADELANTE" ))
{
analogWrite (MT2R_GiroAdelante,70); // pin 3 digitalWrite(MT2R_GiroAdelante,HIGH);// pin 3
analogWrite (MT1L_GiroAdelante,70); // pin 5 digitalWrite(MT1L_GiroAdelante,HIGH);// pin 5
}
if ((media >= distanciaMinima + 25)and (media < distanciaMinima + 50) and(direccion == "ATRAS "
{
analogWrite (MT2R_GiroAtras,70); // pin 6 digitalWrite(MT2R_GiroAtras,HIGH);// pin 6
analogWrite (MT1L_GiroAtras,70); // pin 9 digitalWrite(MT1L_GiroAtras,HIGH);// pin 9
}
//------------------------al 20% velocidad-----------
if ((media >= distanciaMinima + 10)and (media < distanciaMinima + 25)and (direccion == "ADELANTE" ))
{
analogWrite (MT2R_GiroAdelante,50); // pin 3 digitalWrite(MT2R_GiroAdelante,HIGH);// pin 3
analogWrite (MT1L_GiroAdelante,50); // pin 5 digitalWrite(MT1L_GiroAdelante,HIGH);// pin 5
}
if ((media >= distanciaMinima + 10)and (media < distanciaMinima + 25) and(direccion == "ATRAS "
{
analogWrite (MT2R_GiroAtras,50); // pin 6 digitalWrite(MT2R_GiroAtras,HIGH);// pin 6
analogWrite (MT1L_GiroAtras,50); // pin 9 digitalWrite(MT1L_GiroAtras,HIGH);// pin 9
}
//------Parar + intermit Leds + invertir sentido giro durante 1sg a 1/2 velocidad -------
// ----y poner dato ='5' para parar motor a espera orden de joystick del móvil-----------
//A (media < distanciaMinima +10) parar 100ms + intermit leds ( 4 sgdos)+ invertir trayectoria para salir
//de esa posición. Se evita que choque con objetos que pueda encontrar de frente o por la parte trasera
if ((media < distanciaMinima +10 )and (direccion == "ADELANTE" ))
{
apagarTodos(); //detenerlo + intermit leds + salida direccion inversa
intermitenciaLeds(); //intermitencia 10ms + tiempoParada
digitalWrite (MT2R_GiroAtras, HIGH);
digitalWrite (MT1L_GiroAtras, HIGH);
delay(1000); //para que salga
dato = '5'; // para que se pare el motor
}
if ((media < distanciaMinima + 10) and(direccion == "ATRAS "))
{
apagarTodos(); //detenerlo + intermit leds + salida direccion inversa
intermitenciaLeds(); //intermitencia 10ms + tiempoParada
digitalWrite (MT2R_GiroAdelante, HIGH);
digitalWrite (MT1L_GiroAdelante, HIGH);
delay(1000); //para que salga
dato = '5'; // para que se pare el motor
}
25. }//fin función controlDistMinima()
//-----------------------------------------------------------
//++++FUNCIÓN giroAdelante()++++
void giroAdelante()
{
digitalWrite (MT2R_GiroAdelante, HIGH);// pin 3
digitalWrite (MT1L_GiroAdelante, HIGH);// pin 5
}//fin función void giroAdelante()
//-----------------------------------------------------------
//++++FUNCIÓN void giroAtras()++++
void giroAtras()
{
digitalWrite (MT2R_GiroAtras, HIGH);// pin 6
digitalWrite (MT1L_GiroAtras, HIGH);// pin 9
}//fin función void giroAtras()
//-----------------------------------------------------------
// se pondrán a nivel 0 la activación a los motores cuando se cambie
// de posición el Joystick o bien cuando esté en posición neutra
//y se le dará un pequeño tiempo(tiempoParada = 100) para hacer suaves los cambios
//++++FUNCIÓN apagarTodos()++++
void apagarTodos()
{
for (int i=2;i<=9;i++)
{
if ((i == 4)or (i==8))//el 4 y el 8 son entradas de los "echo" sensor distacia HC-SR04
{
continue ; // salta de nuevo al for sin hacer lo de más abajo
}//
digitalWrite (i,LOW); //pone a nivel 0 las salidas
} //fin for
delay(tiempoParada); //tiempo para que se paren todos los motores
}//fin función void apagarTodos()
//-----------------------------------------------------------
//-----------FUNCIÓN intermitenciaLeds()------
void intermitenciaLeds()
{
for (int i = 0; i<27; i++) // 4 sgdos de parpadeo, paro motor y salida en dirección inversa
{
digitalWrite (leds, HIGH);
delay(100);
digitalWrite (leds, LOW);
delay(50);
}//fin for
} //fin intermitenciaLeds()
//-----------------------------------------
26. PROGRAMA EN APPINVENTOR 2
Para el control del coche por bluetooth de Andrés Lasry “mando.apk” y complementado por Joaquín
Berrocal, para la recepción de datos desde la placa Arduino Uno del coche hacia el teléfono. Marzo-2017