Índice:
Vídeo: NOCAR (Notificación De Carga): 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Resumo
Criamos novas tecnologias e técnicas todos os anos. No passado, a máquina a vapor foi o primeiro passo de algo que chamamos de Revolução Industrial. O ser humano não se demorou desde então. Temos vindo a criar máquinas para tornar a nossa vida mais fácil, e agora sempre tentamos melhorar as coisas e processos que já fizemos.
O carro moderno foi introduzido pela primeira vez em 1886. Desde então, teve um grande desenvolvimento em muitos aspectos. Do limite de velocidade ao controle de peso, tem mudado e percorrido muitos caminhos. Uma nova tecnologia fez com que o carro não necessitasse de combustíveis fósseis: o carro híbrido. No entanto, esse método tem limites mais restritos. Uma desvantagem é o tempo que leva para recarregar. Não é tão fácil quanto ir ao posto de gasolina e encher o tanque em alguns minutos. Alguns carros precisam de horas para completar a recarga. Muitos se o posto de gasolina estiver perto de uma zona recreativa ou zona comercial, no entanto. E faz sentido, se levar mais tempo para encher sua bateria, não faz sentido você estar lá o tempo todo, então isso lhe dá a oportunidade de ir aonde quiser nesse ínterim. No entanto, assim que o carro estiver carregado, se você não tiver retirado o carro da estação de carregamento, uma multa será aplicada ao seu carro. O objetivo deste produto é resolver um problema normal nos carros híbridos do futuro (os carros híbridos têm uma grande aposta na mesa). Implementamos um sistema de circuito usando um Dragonboard 410c. Ele envia um e-mail para alertá-lo de que a carga de energia do seu carro é de até certa porcentagem. Dessa forma, você pode realizar suas atividades sem se preocupar se o carro ainda está carregando ou pronto (e provavelmente será multado). Embora aqui no México esse tipo de problema não pareça surgir, mais cedo do que esperamos, novos sistemas tomarão terreno sobre os combustíveis fósseis, e os carros híbridos terão um papel importante. Novas leis foram estabelecidas e as multas agora são um fato, não uma ideia distante.
Crédito da imagem: Clipper Creek: Estações de carregamento de veículos elétricos
Etapa 1: Materiais
- DragonBoard 410c
- Mezanino para 96Boards
- Protoboard
- Jumper wire
- Botão de apertar
- Resistor 10 ohm
- Potenciômetro 10k ohm
- Capacitor 150 pF
- Chip ADC0804
Etapa 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;
bandeira int;
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;
execução interna = 1;
_attribute _ ((construtor)) static void _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))
{
goto fail;
}
libsoc_gpio_set_direction (gpio_pin1, INPUT);
libsoc_gpio_set_direction (gpio_pin2, INPUT);
libsoc_gpio_set_direction (gpio_pin3, INPUT);
libsoc_gpio_set_direction (gpio_pin4, INPUT);
libsoc_gpio_set_direction (gpio_transis, INPUT);
libsoc_gpio_set_direction (gpio_select, INPUT);
libsoc_gpio_set_direction (gpio_enter, INPUT);
libsoc_gpio_set_direction (gpio_ledtest, OUTPUT);
if ((libsoc_gpio_get_direction (gpio_pin1)! = INPUT)
|| (libsoc_gpio_get_direction (gpio_pin2)! = INPUT) || (libsoc_gpio_get_direction (gpio_pin3)! = INPUT) || (libsoc_gpio_get_direction (gpio_pin4)! = INPUT)
|| (libsoc_gpio_get_direction (gpio_transis)! = INPUT) || (libsoc_gpio_get_direction (gpio_select)! = INPUT) || (libsoc_gpio_get_direction (gpio_enter)! = INPUT) || (libsoc_gpio_get_direction (gpio_ledtest)! = SAÍDA))
{
goto fail;
}
enquanto correndo)
{
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);
if (touch_select == 1)
{
valorBoton ++;
if (valorBoton == 4)
{
valorBoton = 0;
}
}
if (valorBoton == 3)
{
valorLEDTest = 1;
libsoc_gpio_set_level (gpio_ledtest, valorLEDTest);
}
}
falha: if (gpio_pin1 || gpio_pin2 || gpio_pin3 || gpio_pin4 || gpio_transis || gpio_select || gpio_enter || gpio_ledtest)
{
printf ("falha na aplicação do 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;
}
Etapa 3: circuito elétrico
Este circuito funciona como um conversor analógico-digital. Ele pega o sinal de um potenciômetro que vem em um valor entre 0 e 5 volts, então o conversor transforma em um sinal digital entre 0 e 255 bits e envia para o DragonBoard INPUTS.
Passo 4:
Desenvolvido por:
Alfredo Fontes
Mauricio Gómez
Jorge Jiménez
Gerardo Lopéz
Felipe Rojas
Luis Rojas
Ivón Sandoval
Recomendado:
Desligamento automático de carga total do celular: 20 etapas
Desligamento automático do carregamento total do celular: Corte automático de carregamento do celular quando totalmente carregado.Não se preocupe com a vida útil da bateria, mesmo que a tenha deixado durante a noite. Os telefones celulares são alimentados por baterias. Embora as baterias sejam fáceis de usar, seu uso também requer alguns cuidados. A ma
Mod de célula de carga de pedais Logitech: 9 etapas
Logitech Pedals Load Cell Mod: Recentemente instalei uma célula de carga no pedal de freio do meu Pedal Logitech G27. Tive de pesquisar um pouco no Google para obter todas as informações de que precisava, então pensei que fazer uma página Instructables pode ser uma boa ideia. O freio pedal agora parece mais com o verdadeiro de
Indicador de carga da CPU Raspberry Pi: 13 etapas
Indicador de carga de CPU do Raspberry Pi: ao executar o Raspberry Pi (RPI) como sem cabeça, sem monitor de console, nenhuma indicação visual específica está disponível para reconhecer que o RPI está realmente fazendo algo. Mesmo que o terminal remoto seja usado com SSH, a execução do comando Linux em tempo a tempo
Escala de tensão Arduino com célula de carga de bagagem de 40 kg e amplificador HX711: 4 etapas
Escala de tensão Arduino com célula de carga de bagagem de 40 kg e amplificador HX711: Este instrutivo descreve como fazer uma escala de tensão usando peças prontamente disponíveis. Arduino - este projeto usa um Arduino Uno padrão, outras versões ou clones do Arduino também devem funcionar2. HX711 na placa de breakout
Carga minúscula - Carga atual constante: 4 etapas (com imagens)
Tiny Load - Constant Current Load: Eu tenho desenvolvido para mim uma PSU de bancada e finalmente cheguei ao ponto em que quero aplicar uma carga a ela para ver como ela se comporta. Depois de assistir ao excelente vídeo de Dave Jones e olhar alguns outros recursos da internet, eu vim com o Tiny Load. Thi