Tabla de contenido:
Video: NOCAR (Notificación De Carga): 5 Pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Abstracto
Creamos nuevas tecnologías y técnicas cada año. En el pasado, la máquina de vapor fue el primer paso de algo que denominamos Revolución Industrial. El ser humano no se ha demorado desde entonces. Hemos estado creando máquinas para hacernos la vida más fácil, y cada vez intentamos mejorar las cosas y los procesos que ya hicimos.
El automóvil moderno se introdujo por primera vez en 1886. Desde entonces, ha tenido un gran desarrollo en muchos aspectos. Desde el límite de velocidad, hasta el control de peso, ha ido cambiando y tomando muchos caminos. Una nueva tecnología hizo que el automóvil no requiriera combustibles fósiles: el automóvil híbrido. Sin embargo, este método tiene límites más restringidos. Una desventaja es el tiempo que tarda en recargarse. No es tan fácil como ir a la gasolinera y llenar el tanque en un par de minutos. Algunos coches necesitan horas para completar la recarga. Sin embargo, muchas de las gasolineras están cerca de una zona recreativa o una zona comercial. Y tiene sentido, si se tarda más en llenar la batería, no tiene sentido que esté allí todo el tiempo, por lo que le da la oportunidad de ir a donde quiera mientras tanto. Sin embargo, una vez que el automóvil esté cargado, si no lo ha sacado de la estación de carga, se le impondrá una multa. El objetivo de este producto es solucionar un problema habitual en los coches híbridos del futuro (los coches híbridos tienen una gran apuesta sobre la mesa). Implementamos un sistema de circuito utilizando una Dragonboard 410c. Le envía un correo electrónico para alertarle de que la carga de energía de su automóvil está en cierto porcentaje. De esta manera, puede realizar sus actividades sin tener que preocuparse por si su automóvil aún se está cargando o está listo (y es probable que reciba una multa). Aunque aquí en México este tipo de problema no parece surgir, antes de lo esperado, los nuevos sistemas tomarán terreno sobre los combustibles fósiles, y los autos híbridos tomarán un papel importante. Se han establecido nuevas leyes y las multas son ahora un hecho, no una idea lejana.
Crédito de la imagen: Clipper Creek: Estaciones de carga de vehículos eléctricos
Paso 1: Materiales
- DragonBoard 410c
- Entresuelo para 96Boards
- Protoboard
- Cable pasa corriente
- Presionar el botón
- Resistencia de 10 ohmios
- Potenciómetro 10k ohmios
- Condensador 150 pF
- Chip ADC0804
Paso 2: Código
#incluir
#incluir
#incluir
#include "libsoc_gpio.h"
#include "libsoc_debug.h"
#include "libsoc_board.h"
unsigned int GPIO_PIN1;
unsigned int GPIO_PIN2;
unsigned int GPIO_PIN3;
unsigned int GPIO_PIN4;
unsigned int GPIO_TRANSIS;
unsigned int GPIO_SELECT;
unsigned int GPIO_ENTER;
unsigned int GPIO_LEDTEST;
int bandera;
int valorBoton;
int valorLEDTest;
int pin1_state = 0;
int pin2_state = 0;
int pin3_state = 0;
int pin4_state = 0;
int last_touch_pin1;
int last_touch_p1;
int last_touch_pin2;
int last_touch_p2;
int last_touch_pin3;
int last_touch_p3;
int last_touch_pin4;
int last_touch_p4;
int select_state = 0;
int enter_state = 0;
int transis_state = 0;
int last_touch_b;
int last_touch_l;
int led_state = 0;
int buzzer_state = 0;
int corriendo = 1;
_attribute _ ((constructor)) vacío estático _init ()
{
board_config * config = libsoc_board_init ();
GPIO_PIN1 = libsoc_board_gpio_id (config, "GPIO-A");
GPIO_PIN2 = libsoc_board_gpio_id (config, "GPIO-B");
GPIO_PIN3 = libsoc_board_gpio_id (config, "GPIO-C");
GPIO_PIN4 = libsoc_board_gpio_id (config, "GPIO-D");
GPIO_TRANSIS = libsoc_board_gpio_id (config, "GPIO-E");
GPIO_SELECT = libsoc_board_gpio_id (config, "GPIO-G");
GPIO_ENTER = libsoc_board_gpio_id (config, "GPIO-H");
GPIO_LEDTEST = libsoc_board_gpio_id (config, "GPIO-I");
libsoc_board_free (config);
}
int main ()
{
gpio * gpio_pin1, * gpio_pin2, * gpio_pin3, * gpio_pin4, * gpio_transis, * gpio_select, * gpio_enter, * gpio_ledtest;
int touch_pin1;
int touch_pin2;
int touch_pin3;
int touch_pin4;
int touch_transis;
int touch_select;
int touch_enter;
int touch_ledtest;
libsoc_set_debug (0);
gpio_pin1 = libsoc_gpio_request (GPIO_PIN1, LS_SHARED);
gpio_pin2 = libsoc_gpio_request (GPIO_PIN2, LS_SHARED);
gpio_pin3 = libsoc_gpio_request (GPIO_PIN3, LS_SHARED);
gpio_pin4 = libsoc_gpio_request (GPIO_PIN4, LS_SHARED);
gpio_transis = libsoc_gpio_request (GPIO_TRANSIS, LS_SHARED);
gpio_select = libsoc_gpio_request (GPIO_SELECT, LS_SHARED);
gpio_enter = libsoc_gpio_request (GPIO_ENTER, LS_SHARED);
gpio_ledtest = libsoc_gpio_request (GPIO_LEDTEST, LS_SHARED);
if ((gpio_pin1 == NULL) || (gpio_pin2 == NULL) || (gpio_pin3 == NULL) || (gpio_pin4 == NULL) || (gpio_transis == NULL) || (gpio_select == NULL) || (gpio_enter == NULL) || (gpio_ledtest == NULL))
{
ir a fallar;
}
libsoc_gpio_set_direction (gpio_pin1, ENTRADA);
libsoc_gpio_set_direction (gpio_pin2, ENTRADA);
libsoc_gpio_set_direction (gpio_pin3, ENTRADA);
libsoc_gpio_set_direction (gpio_pin4, ENTRADA);
libsoc_gpio_set_direction (gpio_transis, ENTRADA);
libsoc_gpio_set_direction (gpio_select, ENTRADA);
libsoc_gpio_set_direction (gpio_enter, ENTRADA);
libsoc_gpio_set_direction (gpio_ledtest, SALIDA);
if ((libsoc_gpio_get_direction (gpio_pin1)! = ENTRADA)
|| (libsoc_gpio_get_direction (gpio_pin2)! = ENTRADA) || (libsoc_gpio_get_direction (gpio_pin3)! = ENTRADA) || (libsoc_gpio_get_direction (gpio_pin4)! = ENTRADA)
|| (libsoc_gpio_get_direction (gpio_transis)! = ENTRADA) || (libsoc_gpio_get_direction (gpio_select)! = ENTRADA) || (libsoc_gpio_get_direction (gpio_enter)! = ENTRADA) || (libsoc_gpio_get_direction (gpio_ledtest)! = SALIDA))
{
ir a fallar;
}
mientras corre)
{
touch_pin1 = libsoc_gpio_get_level (gpio_pin1);
touch_pin2 = libsoc_gpio_get_level (gpio_pin2);
touch_pin3 = libsoc_gpio_get_level (gpio_pin3);
touch_pin4 = libsoc_gpio_get_level (gpio_pin4);
touch_enter = libsoc_gpio_get_level (gpio_enter);
touch_select = libsoc_gpio_get_level (gpio_select);
touch_transis = libsoc_gpio_get_level (gpio_transis);
touch_ledtest = libsoc_gpio_get_level (gpio_ledtest);
si (touch_select == 1)
{
valorBoton ++;
si (valorBoton == 4)
{
valorBoton = 0;
}
}
si (valorBoton == 3)
{
valorLEDTest = 1;
libsoc_gpio_set_level (gpio_ledtest, valorLEDTest);
}
}
falla: si (gpio_pin1 || gpio_pin2 || gpio_pin3 || gpio_pin4 || gpio_transis || gpio_select || gpio_enter || gpio_ledtest)
{
printf ("¡falla la aplicación del recurso gpio! / n");
libsoc_gpio_free (gpio_pin1);
libsoc_gpio_free (gpio_pin2);
libsoc_gpio_free (gpio_pin3);
libsoc_gpio_free (gpio_pin4);
libsoc_gpio_free (gpio_transis);
libsoc_gpio_free (gpio_select);
libsoc_gpio_free (gpio_enter);
libsoc_gpio_free (gpio_ledtest);
}
return EXIT_SUCCESS;
}
Paso 3: circuito eléctrico
Este circuito funciona como un convertidor de analógico a digital. Toma la señal de un potenciómetro que viene en un valor entre 0 y 5 voltios, luego el convertidor la convierte en una señal digital entre 0 y 255 bits y la envía a DragonBoard INPUTS.
Paso 4:
Desarrollado por:
Alfredo Fontes
Mauricio gómez
Jorge Jiménez
Gerardo López
Felipe Rojas
Luis Rojas
Ivón Sandoval
Recomendado:
Reciba un correo electrónico de notificación cuando un canal en ThingSpeak no se actualizó durante un tiempo: 16 pasos
Reciba un correo electrónico de notificación cuando un canal en ThingSpeak no se actualizó durante un tiempo: Historia de fondo Tengo seis invernaderos automatizados que se encuentran repartidos por Dublín, Irlanda. Al usar una aplicación de teléfono móvil personalizada, puedo monitorear e interactuar de forma remota con las funciones automatizadas en cada invernadero. Puedo abrir / cerrar manualmente la victoria
Alarma de incendio con notificación por SMS: 3 pasos
Alarma de incendio con notificación por SMS: GSM 800H, sensor de incendio basado en Arduino y sistema de notificación por SMS, utiliza un sensor de infrarrojos para detectar el fuego en la habitación oscura. Envía SMS a través del módem GSM 800H que se adjunta a los pines Serial Rx y Tx de Arduino Establezca su número de teléfono móvil dentro del código
Detector de fugas con notificación por mensaje de texto: 7 pasos
Detector de fugas con notificación por mensaje de texto: esta guía demuestra cómo construir un detector de fugas que envíe notificaciones por mensaje de texto. Envía alertas si se detecta agua de una tubería rota o drenaje atascado. La guía está dirigida a cualquier persona interesada en Python 3, Raspberry Pi, Secure Shell
Rastreador GPS para automóvil con notificación por SMS y carga de datos de Thingspeak, basado en Arduino, automatización del hogar: 5 pasos (con imágenes)
Rastreador GPS para automóvil con notificación por SMS y carga de datos de Thingspeak, basado en Arduino, automatización del hogar: hice este rastreador GPS el año pasado y, como funciona bien, lo publico ahora en Instructable. Está conectado al enchufe de accesorios en mi maletero. El rastreador GPS carga la posición, la velocidad, la dirección y la temperatura medida del automóvil a través de un dato móvil
Carga minúscula - Carga de corriente constante: 4 pasos (con imágenes)
Carga minúscula: carga de corriente constante: he estado desarrollando una fuente de alimentación de banco y finalmente llegué al punto en el que quiero aplicarle una carga para ver cómo funciona. Después de ver el excelente video de Dave Jones y ver algunos otros recursos de Internet, se me ocurrió Tiny Load. Thi