INHOUDSOPGAWE:

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

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

Video: NOCAR (Notificación De Carga): 5 stappe
Video: Suspender las aplicaciones en Segundo Plano Android 11 2024, Julie
Anonim
NOCAR (Notificación De Carga)
NOCAR (Notificación De Carga)

Abstract

Ons skep elke jaar nuwe tegnologieë en tegnieke. In die verlede was die stoommasjien die eerste stap van iets wat ons die Industriële Revolusie genoem het. Die mens het sedertdien nie getalm nie. Ons het masjiene gemaak om ons lewens makliker te maak, en elke keer probeer ons om die dinge en prosesse wat ons reeds gemaak het, te verbeter.

Die moderne motor is die eerste keer in 1886 bekendgestel. Sedertdien het dit 'n groot ontwikkeling op baie aspekte gehad. Van die snelheidsbeperking tot die gewigstoename, dit het verander en loop baie paaie. 'N Nuwe tegnologie het veroorsaak dat die motor geen fossielbrandstowwe benodig nie: die hibriede motor. Hierdie metode het egter meer beperkte perke. Een nadeel is die tyd wat dit neem om te herlaai. Dit is nie so maklik om na die vulstasie te gaan en die tenk binne 'n paar minute vol te maak nie. Sommige motors benodig ure om die herlaai te voltooi. Baie as die vulstasie egter naby 'n ontspanningsgebied of winkelsentrum is. En dit het sin, as dit langer neem om u battery vol te maak, het dit geen punt dat u die hele tyd daar moet wees nie, so dit gee u die geleentheid om intussen te gaan waar u wil. As die motor egter laai, as u nie u motor uit die laaistasie gehaal het nie, sal u motor 'n boete opgelê word. Die doel van hierdie produk is om 'n normale probleem in die toekomstige hibriede motors op te los (hibriede motors het 'n goeie weddenskap op die tafel). Ons implementeer 'n kringstelsel met behulp van 'n Dragonboard 410c. Dit stuur u 'n e -pos om u te waarsku dat die energielading van u motor 'n sekere persentasie bereik. Op hierdie manier kan u u aktiwiteite doen sonder om bekommerd te wees of u motor nog laai of gereed is (en waarskynlik 'n boete sal kry). Alhoewel hierdie soort probleem hier in Mexiko nie opduik nie, sal nuwe stelsels vroeër as wat ons verwag, oor die fossielbrandstowwe posvat en die hibriede motors 'n belangrike rol speel. Nuwe wette is ingestel, en boetes is nou 'n feit, nie 'n veraf idee nie.

Beeldkrediet: Clipper Creek: laaistasies vir elektriese voertuie

Stap 1: materiaal

  • DragonBoard 410c
  • Mezzanine vir 96 borde
  • Protobord
  • Springdraad
  • Druk knoppie
  • Weerstand 10 ohm
  • Potensiometer 10k ohm
  • Kondensator 150 pF
  • Skyfie ADC0804

Stap 2: Kode

#insluit

#insluit

#insluit

#sluit "libsoc_gpio.h" in

#sluit "libsoc_debug.h" in

#sluit "libsoc_board.h" in

ongetekende int GPIO_PIN1;

ongetekende int GPIO_PIN2;

ongetekende int GPIO_PIN3;

ongetekende int GPIO_PIN4;

ongetekende int GPIO_TRANSIS;

ongetekende int GPIO_SELECT;

ongetekende int GPIO_ENTER;

ongetekende int GPIO_LEDTEST;

int vlag;

int valorBoton;

int valorLEDTest;

int pin1_staat = 0;

int pin2_state = 0;

int pin3_staat = 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_staat = 0;

int transis_staat = 0;

int last_touch_b;

int last_touch_l;

int led_staat = 0;

int buzzer_state = 0;

int hardloop = 1;

_attribute _ ((konstruktor)) statiese leemte _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);

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

{

misluk;

}

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

as ((libsoc_gpio_get_direction (gpio_pin1)! = INVOER)

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

|| (libsoc_gpio_get_direction (gpio_transis)! = INVOER) || (libsoc_gpio_get_direction (gpio_select)! = INVOER) || (libsoc_gpio_get_direction (gpio_enter)! = INVOER) || (libsoc_gpio_get_direction (gpio_ledtest)! = UITPUT))

{

misluk;

}

terwyl (hardloop)

{

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

as (touch_select == 1)

{

valorBoton ++;

as (valorBoton == 4)

{

valorBoton = 0;

}

}

as (valorBoton == 3)

{

valorLEDTest = 1;

libsoc_gpio_set_level (gpio_ledtest, valorLEDTest);

}

}

misluk: as (gpio_pin1 || gpio_pin2 || gpio_pin3 || gpio_pin4 || gpio_transis || gpio_select || gpio_enter || gpio_ledtest)

{

printf ("pas gpio -hulpbron toe! / 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);

}

stuur EXIT_SUCCESS terug;

}

Stap 3: Elektriese stroombaan

Elektriese stroombaan
Elektriese stroombaan
Elektriese stroombaan
Elektriese stroombaan
Elektriese stroombaan
Elektriese stroombaan
Elektriese stroombaan
Elektriese stroombaan

Hierdie stroombaan werk as 'n analoog-na-digitale omskakelaar. Dit neem die sein van 'n potensiometer wat in 'n waarde tussen 0 en 5 volt kom, en dan verander die omskakelaar dit in 'n digitale sein tussen 0 en 255 bis en stuur dit na die DragonBoard INPUTS.

Stap 4:

Ontwikkel deur:

Alfredo Fontes

Mauricio Gómez

Jorge Jiménez

Gerardo Lopéz

Felipe Rojas

Luis Rojas

Ivón Sandoval

Aanbeveel: