Sadržaj:

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

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

Video: NOCAR (Notificación De Carga): 5 koraka
Video: 1 HORA DE COSAS QUE NO SABÍAS! 👀⏰ [XpressTV] 2024, Srpanj
Anonim
NOCAR (Notificación De Carga)
NOCAR (Notificación De Carga)

Sažetak

Svake godine stvaramo nove tehnologije i tehnike. U prošlosti je parni stroj bio prvi korak nečega što smo nazvali Industrijska revolucija. Od tada se ljudsko biće nije zadržalo. Stvarali smo strojeve kako bismo si olakšali život i svaki put sada pokušavamo poboljšati stvari i procese koje smo već napravili.

Moderni automobil prvi je put predstavljen 1886. Od tada je imao veliki razvoj na mnogim aspektima. Od ograničenja brzine do kontrole težine mijenjalo se i krenulo mnogim stazama. Nova tehnologija učinila je da automobil ne zahtijeva fosilna goriva: hibridni automobil. Međutim, ova metoda ima ograničenija ograničenja. Jedan nedostatak je vrijeme potrebno za punjenje. Nije tako jednostavno kao otići na benzinsku postaju i napuniti spremnik za nekoliko minuta. Nekim automobilima je potrebno nekoliko sati da dovrše punjenje. Međutim, mnogi ako su benzinske postaje u blizini rekreacijske zone ili trgovačke zone. I ima smisla, ako je potrebno više vremena da napunite bateriju, nema smisla biti tamo cijelo vrijeme, pa vam daje priliku da u međuvremenu odete kamo god želite. Međutim, nakon što se automobil napuni, ako niste izvezli automobil iz punionice, kaznit će se novčana kazna za vaš automobil. Cilj ovog proizvoda je riješiti normalan problem u budućim hibridnim automobilima (hibridni automobili imaju veliku okladu na stolu). Sustav krugova implementiramo pomoću Dragonboard 410c. On vam šalje e -poruku s upozorenjem da je naboj energije vašeg automobila do određenog postotka. Na taj način možete obavljati svoje aktivnosti bez brige o tome puni li se vaš automobil ili je spreman (i vjerojatno ćete dobiti kaznu). Iako se u Meksiku ova vrsta problema ne pojavljuje, prije nego što očekujemo da će novi sustavi zauzeti mjesto nad fosilnim gorivima, a hibridni automobili će zauzeti važnu ulogu. Usvojeni su novi zakoni, a novčane kazne sada su činjenica, a ne daleka ideja.

Kredit za sliku: Clipper Creek: Stanice za punjenje električnih vozila

Korak 1: Materijali

  • DragonBoard 410c
  • Mezanin za 96 ploča
  • Protoboard
  • Žica kratkospojnika
  • Tipkalo
  • Otpornik 10 ohma
  • Potenciometar 10k ohm
  • Kondenzator 150 pF
  • Čip ADC0804

Korak 2: Kodiranje

#uključi

#uključi

#uključi

#include "libsoc_gpio.h"

#include "libsoc_debug.h"

#include "libsoc_board.h"

nepotpisani int GPIO_PIN1;

nepotpisani int GPIO_PIN2;

nepotpisani int GPIO_PIN3;

nepotpisani int GPIO_PIN4;

nepotpisani int GPIO_TRANSIS;

nepotpisani int GPIO_SELECT;

nepotpisani int GPIO_ENTER;

nepotpisani int GPIO_LEDTEST;

int zastava;

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 trčanje = 1;

_atribut _ ((konstruktor)) 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)! = ULAZ) || (libsoc_gpio_get_direction (gpio_pin3)! = ULAZ) || (libsoc_gpio_get_direction (gpio_pin4)! = ULAZ)

|| (libsoc_gpio_get_direction (gpio_transis)! = ULAZ) || (libsoc_gpio_get_direction (gpio_select)! = INPUT) || (libsoc_gpio_get_direction (gpio_enter)! = ULAZ) || (libsoc_gpio_get_direction (gpio_ledtest)! = OUTPUT))

{

goto fail;

}

dok (trči)

{

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

dodirni_izbor = libsoc_gpio_get_level (gpio_select);

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

}

}

ako (valorBoton == 3)

{

valorLEDTest = 1;

libsoc_gpio_set_level (gpio_ledtest, valorLEDTest);

}

}

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

{

printf ("primijeni gpio resurs nije uspio! / 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);

}

povrat EXIT_SUCCESS;

}

Korak 3: Električni krug

Strujni krug
Strujni krug
Strujni krug
Strujni krug
Strujni krug
Strujni krug
Strujni krug
Strujni krug

Ovaj krug radi kao analogno-digitalni pretvarač. Uzima signal potenciometra čija je vrijednost između 0 i 5 volti, zatim pretvarač pretvara u digitalni signal između 0 i 255 bita i šalje ga na DragonBoard INPUTS.

Korak 4:

Razvijen od:

Alfredo Fontes

Mauricio Gómez

Jorge Jiménez

Gerardo Lopéz

Felipe Rojas

Luis Rojas

Ivón Sandoval

Preporučeni: