Innehållsförteckning:

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

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

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

Abstrakt

Vi skapar ny teknik och teknik varje år. Tidigare var ångmaskinen det första steget i något som vi kallade den industriella revolutionen. Människan har inte dröjt sedan dess. Vi har skapat maskiner för att göra våra liv enklare, och varje gång nu försöker vi förbättra de saker och processer vi redan har gjort.

Den moderna bilen introducerades första gången 1886. Sedan dess har den haft en stor utveckling på många aspekter. Från hastighetsbegränsningen till viktkontrollen har den förändrats och tagit många vägar. En ny teknik fick bilen att kräva inga fossila bränslen: hybridbilen. Denna metod har dock mer begränsade gränser. En nackdel är den tid det tar att ladda. Det är inte så lätt att gå till macken och fylla tanken på ett par minuter. Vissa bilar behöver timmar för att slutföra laddningen. Många om bensinstationen är nära en rekreationszon eller shoppingzon, dock. Och det är vettigt, om det tar längre tid att fylla ditt batteri, har det ingen mening med dig att vara där hela tiden så det ger dig möjlighet att gå vart du vill under tiden. Men när bilen är laddad, om du inte har tagit ut bilen från laddstationen, kommer du att bli böter på din bil. Syftet med denna produkt är att lösa ett normalt problem i framtida hybridbilar (hybridbilar har en bra satsning på bordet). Vi implementerar ett kretssystem med en Dragonboard 410c. Det skickar dig ett e -postmeddelande för att varna dig om att energiladdningen för din bil är upp till en viss procentandel. På så sätt kan du utföra dina aktiviteter utan att behöva oroa dig för om din bil fortfarande laddar eller om den är klar (och troligen kommer att få böter). Även om det här i Mexiko inte ser ut att uppstå i den här typen av problem, kommer tidigare system än vi förväntar oss att nya system kommer att ta mark över fossila bränslen, och hybridbilarna kommer att spela en viktig roll. Nya lagar har fastställts, och böter är nu ett faktum, inte en avlägsen idé.

Bildkredit: Clipper Creek: laddstationer för elfordon

Steg 1: Material

  • DragonBoard 410c
  • Mezzanine för 96Board
  • Protoboard
  • Bygeltråd
  • Tryckknapp
  • Motstånd 10 ohm
  • Potenciometer 10k ohm
  • Kondensator 150 pF
  • Chip ADC0804

Steg 2: Kod

#omfatta

#omfatta

#omfatta

#inkludera "libsoc_gpio.h"

#inkludera "libsoc_debug.h"

#inkludera "libsoc_board.h"

osignerad int GPIO_PIN1;

osignerad int GPIO_PIN2;

osignerad int GPIO_PIN3;

osignerad int GPIO_PIN4;

osignerad int GPIO_TRANSIS;

osignerad int GPIO_SELECT;

osignerad int GPIO_ENTER;

osignerad int GPIO_LEDTEST;

int flagga;

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 kör = 1;

_attribut _ ((konstruktör)) statisk tomrum _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);

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

{

gå misslyckas;

}

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

{

gå misslyckas;

}

medan man springer)

{

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

om (touch_select == 1)

{

valorBoton ++;

if (valorBoton == 4)

{

valorBoton = 0;

}

}

if (valorBoton == 3)

{

valorLEDTest = 1;

libsoc_gpio_set_level (gpio_ledtest, valorLEDTest);

}

}

misslyckas: om (gpio_pin1 || gpio_pin2 || gpio_pin3 || gpio_pin4 || gpio_transis || gpio_select || gpio_enter || gpio_ledtest)

{

printf ("tillämpa gpio -resurs misslyckas! / 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);

}

returnera EXIT_SUCCESS;

}

Steg 3: Elektrisk krets

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

Denna krets fungerar som en analog-till-digital-omvandlare. Den tar signalen från en potentiometer som kommer i ett värde mellan 0 och 5 volt, sedan gör omvandlaren till en digital signal mellan 0 och 255 bitar och skickar den till DragonBoard -ingångarna.

Steg 4:

Utvecklad av:

Alfredo Fontes

Mauricio Gómez

Jorge Jiménez

Gerardo Lopéz

Felipe Rojas

Luis Rojas

Ivón Sandoval

Rekommenderad: