Taula de continguts:

NOCAR (Notificació de càrrega): 5 passos
NOCAR (Notificació de càrrega): 5 passos

Vídeo: NOCAR (Notificació de càrrega): 5 passos

Vídeo: NOCAR (Notificació de càrrega): 5 passos
Vídeo: Тарков прокачка с нуля. Путь со дна 2. День 31 Escape from Tarkov 2024, Juliol
Anonim
NOCAR (Notificació de càrrega)
NOCAR (Notificació de càrrega)

Resum

Creem noves tecnologies i tècniques cada any. En el passat, la màquina de vapor era el primer pas d’una cosa que anomenàvem revolució industrial. L’ésser humà no ha perdurat des de llavors. Hem estat creant màquines per facilitar-nos la vida i, cada cop, intentem millorar les coses i els processos que ja hem fet.

El cotxe modern es va introduir per primera vegada el 1886. Des de llavors, ha tingut un gran desenvolupament en molts aspectes. Des del límit de velocitat, fins al control de pes, ha anat canviant i prenent molts camins. Una nova tecnologia va fer que el cotxe no necessités combustibles fòssils: el cotxe híbrid. No obstant això, aquest mètode té uns límits més restringits. Un desavantatge és el temps que triga a recarregar-se. No és tan fàcil com anar a la benzinera i omplir el dipòsit en un parell de minuts. Alguns cotxes necessiten hores per completar la recàrrega. Molts, però, si la benzinera es troba a prop d’una zona de recreació o zona comercial, però. I té sentit, si triga més a omplir la bateria, no té cap sentit estar-hi tot el temps, de manera que us dóna l’oportunitat d’anar a on vulgueu mentrestant. Tanmateix, un cop carregat el cotxe, si no l’heu tret de l’estació de càrrega, s’imposarà una multa al vostre cotxe. L’objectiu d’aquest producte és resoldre un problema normal en els futurs cotxes híbrids (els cotxes híbrids tenen una gran aposta sobre la taula). Implementem un sistema de circuits mitjançant un Dragonboard 410c. T’envia un correu electrònic per avisar-te que la càrrega energètica del teu cotxe arriba fins a un percentatge determinat. D’aquesta manera, podeu fer les vostres activitats sense haver de preocupar-vos si el vostre cotxe continua carregant-se o si està a punt (i és probable que rebi una multa). Tot i que aquí a Mèxic no sembla que aparegui aquest tipus de problemes, més aviat del que esperem que els nous sistemes s’imposin sobre els combustibles fòssils i els cotxes híbrids tindran un paper important. S’han establert noves lleis i ara les multes són un fet, no una idea llunyana.

Crèdit de la imatge: Clipper Creek: estacions de recàrrega de vehicles elèctrics

Pas 1: materials

  • DragonBoard 410c
  • Altell per a 96 taulers
  • Protoboard
  • Filferro de pont
  • Polsador
  • Resistència de 10 ohm
  • Potenciòmetre 10k ohm
  • Condensador 150 pF
  • Xip ADC0804

Pas 2: Codi

#incloure

#incloure

#incloure

#include "libsoc_gpio.h"

#include "libsoc_debug.h"

#include "libsoc_board.h"

int signat GPIO_PIN1;

int signat GPIO_PIN2;

int signat GPIO_PIN3;

int signat GPIO_PIN4;

sense signar int GPIO_TRANSIS;

sense signar int GPIO_SELECT;

sense signar int GPIO_ENTER;

int signat 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 running = 1;

_ atribut _ ((constructor)) static void _init ()

{

board_config * config = libsoc_board_init ();

GPIO_PIN1 = libsoc_board_gpio_id (configuració, "GPIO-A");

GPIO_PIN2 = libsoc_board_gpio_id (configuració, "GPIO-B");

GPIO_PIN3 = libsoc_board_gpio_id (configuració, "GPIO-C");

GPIO_PIN4 = libsoc_board_gpio_id (configuració, "GPIO-D");

GPIO_TRANSIS = libsoc_board_gpio_id (configuració, "GPIO-E");

GPIO_SELECT = libsoc_board_gpio_id (configuració, "GPIO-G");

GPIO_ENTER = libsoc_board_gpio_id (configuració, "GPIO-H");

GPIO_LEDTEST = libsoc_board_gpio_id (configuració, "GPIO-I");

libsoc_board_free (configuració);

}

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

{

anar fracassat;

}

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)! = SORTIDA))

{

anar fracassat;

}

mentre (corrent)

{

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

}

}

falla: if (gpio_pin1 || gpio_pin2 || gpio_pin3 || gpio_pin4 || gpio_transis || gpio_select || gpio_enter || gpio_ledtest)

{

printf ("falla aplicar el recurs 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);

}

torna EXIT_SUCCESS;

}

Pas 3: Circuit elèctric

Circuit elèctric
Circuit elèctric
Circuit elèctric
Circuit elèctric
Circuit elèctric
Circuit elèctric
Circuit elèctric
Circuit elèctric

Aquest circuit funciona com un convertidor analògic-digital. Pren el senyal d'un potenciòmetre que té un valor d'entre 0 i 5 volts, i el convertidor el converteix en un senyal digital d'entre 0 i 255 bits i l'envia a les INTRADES de DragonBoard.

Pas 4:

Desenvolupat per:

Alfredo Fontes

Mauricio Gómez

Jorge Jiménez

Gerardo Lopéz

Felipe Rojas

Luis Rojas

Ivón Sandoval

Recomanat: