Mundarija:

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

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

Video: NOCAR (Notificación De Carga): 5 qadam
Video: Los mejores SUV compactos asequibles según cifras de ventas y revisores 2024, Iyul
Anonim
NOCAR (Notificación De Carga)
NOCAR (Notificación De Carga)

Xulosa

Biz har yili yangi texnologiyalar va texnikalarni yaratamiz. Ilgari, bug 'mashinasi biz sanoat inqilobi deb atagan narsaning birinchi qadami edi. O'shandan buyon odam tinmayapti. Biz hayotimizni engillashtirish uchun mashinalar yaratdik va har safar biz allaqachon qilgan narsalarimiz va jarayonlarimizni yaxshilashga harakat qilamiz.

Zamonaviy avtomobil birinchi marta 1886 yilda paydo bo'lgan. O'shandan beri u ko'p jihatdan katta rivojlanishga ega. Tezlik chegarasidan tortib vaznni boshqarishgacha u o'zgarib, ko'plab yo'llarni bosib o'tdi. Yangi texnologiya avtomobilni yoqilg'i talab qilmaydigan qilib qo'ydi: gibrid avtomobil. Biroq, bu usul ko'proq cheklangan chegaralarga ega. Kamchiliklardan biri - zaryadlash uchun zarur bo'lgan vaqt. Yoqilg'i quyish shoxobchasiga borib, bir necha daqiqada idishni to'ldirish oson emas. Ba'zi mashinalarga zaryadni to'ldirish uchun bir necha soat kerak bo'ladi. Ko'pchilik, agar yoqilg'i quyish shoxobchasi dam olish zonasi yoki savdo zonasi yaqinida bo'lsa. Va bu mantiqqa to'g'ri keladi, agar batareyani to'ldirish uchun ko'proq vaqt kerak bo'lsa, u erda bo'lishning hech qanday ma'nosi yo'q, shuning uchun siz xohlagan joyga borishingiz mumkin. Biroq, mashina zaryad olgandan so'ng, agar siz mashinangizni zaryadlash stantsiyasidan olib chiqmagan bo'lsangiz, mashinangizga jarima solinadi. Ushbu mahsulotning maqsadi kelajakdagi gibrid avtomobillarda oddiy muammoni hal qilishdir (gibrid avtomobillar stolda katta bahsga ega). Biz Dragonboard 410c yordamida elektron tizimni amalga oshiramiz. U sizga elektron pochta xabarini yuboradi, bu sizning mashinangizning energiya zaryadi ma'lum foizgacha. Shunday qilib, siz mashinangizni zaryad qilyaptimi yoki u tayyormi (va ehtimol jarimaga tortiladimi) deb xavotirlanmasdan o'z faoliyatingizni bajarishingiz mumkin. Garchi bu erda Meksikada bunday muammo yuzaga kelmasa -da, biz kutganimizdan tezroq qazib olinadigan yoqilg'iga yangi tizimlar kiradi va gibrid avtomobillar muhim rol o'ynaydi. Yangi qonunlar o'rnatildi va jarimalar endi haqiqat, uzoq fikr emas.

Tasvir krediti: Clipper Creek: Elektromobillarni zaryadlash stantsiyalari

1 -qadam: materiallar

  • DragonBoard 410c
  • 96 taxtali uchun mezzanin
  • Protoboard
  • Jumper sim
  • Tugma
  • Rezistor 10 ohm
  • Potentsiometr 10k ohm
  • Kondensator 150 pF
  • ADC0804 chipi

2 -qadam: kod

#qo'shing

#qo'shing

#qo'shing

#"libsoc_gpio.h" ni qo'shing

#"libsoc_debug.h" ni qo'shing

#"libsoc_board.h" ni qo'shing

imzosiz int GPIO_PIN1;

imzosiz int GPIO_PIN2;

imzosiz int GPIO_PIN3;

imzosiz int GPIO_PIN4;

imzolanmagan GPIO_TRANSIS;

imzosiz int GPIO_SELECT;

imzosiz int GPIO_ENTER;

imzosiz int GPIO_LEDTEST;

int bayrog'i;

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 yugurish = 1;

_attribute _ ((konstruktor)) statik void _init ()

{

board_config *config = libsoc_board_init ();

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

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

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

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

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

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

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

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

libsoc_board_free (konfiguratsiya);

}

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

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

{

muvaffaqiyatsizlikka uchradi;

}

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

agar ((libsoc_gpio_get_direction (gpio_pin1)! = KIRISH)

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

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

{

muvaffaqiyatsizlikka uchradi;

}

(yugurish) paytida

{

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

agar (touch_select == 1)

{

valorBoton ++;

agar (valorBoton == 4)

{

valorBoton = 0;

}

}

agar (valorBoton == 3)

{

valorLEDTest = 1;

libsoc_gpio_set_level (gpio_ledtest, valorLEDTest);

}

}

muvaffaqiyatsiz: agar (gpio_pin1 || gpio_pin2 || gpio_pin3 || gpio_pin4 || gpio_transis || gpio_select || gpio_enter || gpio_ledtest)

{

printf ("gpio resursini qo'llash muvaffaqiyatsiz! / 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 -ni qaytarish;

}

3 -qadam: Elektr davri

Elektr davri
Elektr davri
Elektr davri
Elektr davri
Elektr davri
Elektr davri
Elektr davri
Elektr davri

Bu sxema analog-raqamli konvertor sifatida ishlaydi. U 0 dan 5 voltgacha bo'lgan potentsiometr signalini oladi, keyin konvertor uni 0 dan 255 bitgacha raqamli signalga aylantiradi va DragonBoard INPUTS ga yuboradi.

4 -qadam:

Muallif:

Alfredo Fontes

Maurisio Gomes

Xorxe Ximenes

Gerardo Lopes

Felipe Roxas

Luis Roxas

Ivan Sandoval

Tavsiya: