Innholdsfortegnelse:

NOCAR (Notificación De Carga): 5 trinn
NOCAR (Notificación De Carga): 5 trinn

Video: NOCAR (Notificación De Carga): 5 trinn

Video: NOCAR (Notificación De Carga): 5 trinn
Video: El curso completo de Next js: ¡aprende Nextjs en 2 horas! | React SSR + códigos de tiempo 2024, November
Anonim
NOCAR (Notificación De Carga)
NOCAR (Notificación De Carga)

Abstrakt

Vi lager nye teknologier og teknikker hvert år. Tidligere var dampmaskinen det første trinnet i noe vi kalte den industrielle revolusjonen. Mennesket har ikke drønet siden den gang. Vi har laget maskiner for å gjøre livet lettere, og hver gang prøver vi å forbedre tingene og prosessene vi allerede har laget.

Den moderne bilen ble først introdusert i 1886. Siden den gang har den hatt en stor utvikling på mange aspekter. Fra fartsgrensen til vektkontrollen har den endret seg og gått mange veier. En ny teknologi gjorde at bilen ikke krever fossilt brensel: hybridbilen. Imidlertid har denne metoden mer begrensede grenser. En ulempe er tiden det tar å lade opp. Det er ikke så lett å gå til bensinstasjonen og fylle tanken på et par minutter. Noen biler trenger timer for å fullføre ladingen. Mange hvis bensinstasjonen er i nærheten av en rekreasjonssone eller shopping sone, men. Og det er fornuftig, hvis det tar lengre tid å fylle batteriet, har det ikke noe poeng for deg å være der hele tiden, så det gir deg muligheten til å gå hvor du vil i mellomtiden. Men når bilen er ladet, vil du bli ilagt en bot på bilen hvis du ikke har tatt bilen ut av ladestasjonen. Målet med dette produktet er å løse et normalt problem i fremtidige hybridbiler (hybridbiler har en god innsats på bordet). Vi implementerer et kretssystem ved hjelp av en Dragonboard 410c. Den sender deg en e -post for å varsle deg om at energiladningen til bilen din er opptil en viss prosentandel. På denne måten kan du utføre aktivitetene dine uten å måtte bekymre deg om bilen din fortsatt lades eller den er klar (og sannsynligvis vil få en bot). Selv om denne typen problemer her i Mexico ikke ser ut til å dukke opp, vil raskere enn vi forventer at nye systemer ta mark over fossilt brensel, og hybridbilene vil spille en viktig rolle. Nye lover er etablert, og bøter er nå et faktum, ikke en fjern idé.

Bildekreditt: Clipper Creek: Ladestasjoner for elektriske kjøretøyer

Trinn 1: Materialer

  • DragonBoard 410c
  • Mezzanine for 96Board
  • Protoboard
  • Jumper wire
  • Trykknapp
  • Motstand 10 ohm
  • Potensiometer 10k ohm
  • Kondensator 150 pF
  • Chip ADC0804

Trinn 2: Kode

#inkludere

#inkludere

#inkludere

#include "libsoc_gpio.h"

#include "libsoc_debug.h"

#include "libsoc_board.h"

usignert int GPIO_PIN1;

usignert int GPIO_PIN2;

usignert int GPIO_PIN3;

usignert int GPIO_PIN4;

usignert int GPIO_TRANSIS;

usignert int GPIO_SELECT;

usignert int GPIO_ENTER;

usignert int GPIO_LEDTEST;

int flagg;

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 kjører = 1;

_attributt _ ((konstruktør)) statisk tomrom _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);

hvis ((gpio_pin1 == NULL) || (gpio_pin2 == NULL) || (gpio_pin3 == NULL) || (gpio_pin4 == NULL) || (gpio_transis == NULL) || (gpio_select == NULL) || (gpio_enter == NULL) || (gpio_ledtest == NULL))

{

mislykkes;

}

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

hvis ((libsoc_gpio_get_direction (gpio_pin1)! = INNGANG)

|| (libsoc_gpio_get_direction (gpio_pin2)! = INNGANG) || (libsoc_gpio_get_direction (gpio_pin3)! = INNGANG) || (libsoc_gpio_get_direction (gpio_pin4)! = INNGANG)

|| (libsoc_gpio_get_direction (gpio_transis)! = INNGANG) || (libsoc_gpio_get_direction (gpio_select)! = INNGANG) || (libsoc_gpio_get_direction (gpio_enter)! = INNGANG) || (libsoc_gpio_get_direction (gpio_ledtest)! = OUTPUT))

{

mislykkes;

}

mens (løper)

{

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

hvis (touch_select == 1)

{

valorBoton ++;

hvis (valorBoton == 4)

{

valorBoton = 0;

}

}

hvis (valorBoton == 3)

{

valorLEDTest = 1;

libsoc_gpio_set_level (gpio_ledtest, valorLEDTest);

}

}

mislykkes: hvis (gpio_pin1 || gpio_pin2 || gpio_pin3 || gpio_pin4 || gpio_transis || gpio_select || gpio_enter || gpio_ledtest)

{

printf ("bruk gpio -ressurs mislykkes! / 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);

}

returner EXIT_SUCCESS;

}

Trinn 3: Elektrisk krets

Elektrisk krets
Elektrisk krets
Elektrisk krets
Elektrisk krets
Elektrisk krets
Elektrisk krets
Elektrisk krets
Elektrisk krets

Denne kretsen fungerer som en analog-til-digital-omformer. Den tar signalet til et potensiometer som kommer i en verdi mellom 0 og 5 volt, så gjør omformeren det til et digitalt signal mellom 0 og 255 bits og sender det til DragonBoard INPUTS.

Trinn 4:

Utviklet av:

Alfredo Fontes

Mauricio Gómez

Jorge Jiménez

Gerardo Lopéz

Felipe Rojas

Luis Rojas

Ivón Sandoval

Anbefalt: