Mündəricat:

NOCAR (Notificación De Carga): 5 addım
NOCAR (Notificación De Carga): 5 addım

Video: NOCAR (Notificación De Carga): 5 addım

Video: NOCAR (Notificación De Carga): 5 addım
Video: Лучшие доступные компактные внедорожники по данным продаж и обзоров 2024, Iyul
Anonim
NOCAR (Notificación De Carga)
NOCAR (Notificación De Carga)

Mücərrəd

Hər il yeni texnologiyalar və texnikalar yaradırıq. Keçmişdə buxar maşını Sənaye İnqilabı adlandırdığımız bir şeyin ilk addımı idi. İnsan o vaxtdan bəri uzanmadı. Həyatımızı asanlaşdırmaq üçün maşınlar yaradırıq və hər dəfə artıq etdiyimiz şeyləri və prosesləri yaxşılaşdırmağa çalışırıq.

Müasir avtomobil ilk dəfə 1886 -cı ildə təqdim edildi. O vaxtdan bəri bir çox cəhətdən böyük bir inkişaf etdi. Sürət həddindən çəki nəzarətinə qədər dəyişir və bir çox yol tutur. Yeni bir texnologiya, avtomobilin heç bir fosil yanacaq tələb etməməsinə səbəb oldu: hibrid avtomobil. Ancaq bu metodun daha məhdud məhdudiyyətləri var. Dezavantajlardan biri, doldurulma müddətidir. Yanacaqdoldurma məntəqəsinə getmək və bir neçə dəqiqə ərzində çəni doldurmaq o qədər də asan deyil. Bəzi avtomobillərin doldurulmasını başa çatdırmaq üçün saatlar lazımdır. Bir çoxu, yanacaqdoldurma məntəqəsi istirahət zonasına və ya alış -veriş zonasına yaxındırsa. Batareyanı doldurmaq daha uzun çəkərsə, bütün vaxt orada olmağın heç bir mənası yoxdur, buna görə də bu vaxt istədiyin yerə getmək imkanı verir. Ancaq avtomobil şarj edildikdən sonra, avtomobilinizi şarj stansiyasından çıxarmamısınızsa, avtomobilinizə cərimə tətbiq ediləcək. Bu məhsulun məqsədi gələcək hibrid avtomobillərdə normal bir problemi həll etməkdir (hibrid avtomobillərin masada böyük bahisi var). Dragonboard 410c istifadə edərək bir dövrə sistemi tətbiq edirik. Avtomobilinizin enerji yükünün müəyyən bir faizə qədər olduğunu bildirmək üçün sizə bir e -poçt göndərir. Bu yolla, avtomobilinizin hələ də doldurulub -doldurulmadığını və ya hazır vəziyyətdə olduğunu (və cərimə oluna biləcəyini) narahat etmədən fəaliyyətinizi həyata keçirə bilərsiniz. Burada Meksikada belə bir problem ortaya çıxmasa da, yeni sistemlərin fosil yanacaq üzərində yerini alacağını gözlədiyimizdən tez və hibrid avtomobillər əhəmiyyətli bir rol oynayacaq. Yeni qanunlar quruldu və cərimələr indi bir həqiqətdir, uzaq fikir deyil.

Şəkil Krediti: Clipper Creek: Elektrikli Avtomobil Şarj Stansiyaları

Addım 1: Materiallar

  • DragonBoard 410c
  • 96Boards üçün asma
  • Protoboard
  • Jumper teli
  • Düymə
  • Rezistor 10 ohm
  • Potensialiometr 10k ohm
  • Kondansatör 150 pF
  • Çip ADC0804

Addım 2: Kod

#daxil edin

#daxil edin

#daxil edin

#"libsoc_gpio.h" daxil edin

#"libsoc_debug.h" daxil edin

#"libsoc_board.h" daxil edin

imzasız int GPIO_PIN1;

imzasız int GPIO_PIN2;

imzasız int GPIO_PIN3;

imzasız int GPIO_PIN4;

imzasız int GPIO_TRANSIS;

imzasız int GPIO_SELECT;

imzasız int GPIO_ENTER;

imzasız int GPIO_LEDTEST;

int bayrağı;

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 çalışan = 1;

_attribute _ ((qurucu)) statik boşluq _init ()

{

board_config *config = libsoc_board_init ();

GPIO_PIN1 = libsoc_board_gpio_id (konfiqurasiya, "GPIO-A");

GPIO_PIN2 = libsoc_board_gpio_id (konfiqurasiya, "GPIO-B");

GPIO_PIN3 = libsoc_board_gpio_id (konfiqurasiya, "GPIO-C");

GPIO_PIN4 = libsoc_board_gpio_id (konfiqurasiya, "GPIO-D");

GPIO_TRANSIS = libsoc_board_gpio_id (konfiqurasiya, "GPIO-E");

GPIO_SELECT = libsoc_board_gpio_id (konfiqurasiya, "GPIO-G");

GPIO_ENTER = libsoc_board_gpio_id (konfiqurasiya, "GPIO-H");

GPIO_LEDTEST = libsoc_board_gpio_id (konfiqurasiya, "GPIO-I");

libsoc_board_free (konfiqurasiya);

}

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

{

uğursuz olmaq;

}

libsoc_gpio_set_direction (gpio_pin1, INPUT);

libsoc_gpio_set_direction (gpio_pin2, INPUT);

libsoc_gpio_set_direction (gpio_pin3, GİRİŞ);

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, GİRİŞ);

libsoc_gpio_set_direction (gpio_ledtest, ÇIXIŞ);

əgər ((libsoc_gpio_get_direction (gpio_pin1)! = GİRİŞ)

|| (libsoc_gpio_get_direction (gpio_pin2)! = GİRİŞ) || (libsoc_gpio_get_direction (gpio_pin3)! = GİRİŞ) || (libsoc_gpio_get_direction (gpio_pin4)! = GİRİŞ)

|| (libsoc_gpio_get_direction (gpio_transis)! = GİRİŞ) || (libsoc_gpio_get_direction (gpio_select)! = GİRİŞ) || (libsoc_gpio_get_direction (gpio_enter)! = GİRİŞ) || (libsoc_gpio_get_direction (gpio_ledtest)! = Çıxış))

{

uğursuz olmaq;

}

(qaçarkən)

{

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

əgər (touch_select == 1)

{

valorBoton ++;

əgər (valorBoton == 4)

{

valorBoton = 0;

}

}

əgər (valorBoton == 3)

{

valorLEDTest = 1;

libsoc_gpio_set_level (gpio_ledtest, valorLEDTest);

}

}

uğursuz: əgər (gpio_pin1 || gpio_pin2 || gpio_pin3 || gpio_pin4 || gpio_transis || gpio_select || gpio_enter || gpio_ledtest)

{

printf ("gpio resursunu tətbiq et! / 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);

}

EXIT_SUCCESS qayıt;

}

Addım 3: Elektrik dövrəsi

Elektrik dövrəsi
Elektrik dövrəsi
Elektrik dövrəsi
Elektrik dövrəsi
Elektrik dövrəsi
Elektrik dövrəsi
Elektrik dövrəsi
Elektrik dövrəsi

Bu dövrə analoq-rəqəmsal çevirici kimi işləyir. 0 ilə 5 volt arasında olan bir potensiometr siqnalını alır, sonra çevirici onu 0 ilə 255 bit arasında rəqəmsal bir siqnal halına gətirir və DragonBoard INPUTS -a göndərir.

Addım 4:

Tərəfindən hazırlanmış:

Alfredo Fontes

Mauricio Gomez

Jorge Jiménez

Gerardo Lopez

Felipe Rojas

Luis Rojas

İvon Sandoval

Tövsiyə: