Բովանդակություն:

NOCAR (Notificación De Carga) ՝ 5 քայլ
NOCAR (Notificación De Carga) ՝ 5 քայլ
Anonim
NOCAR (Notificación De Carga)
NOCAR (Notificación De Carga)

Վերացական

Մենք ամեն տարի ստեղծում ենք նոր տեխնոլոգիաներ և տեխնիկա: Նախկինում գոլորշու մեքենան առաջին քայլն էր այն բանի, որը մենք անվանում էինք Արդյունաբերական հեղափոխություն: Այդ ժամանակից ի վեր մարդը չի դանդաղել: Մենք մեքենաներ ենք ստեղծում մեր կյանքը հեշտացնելու համար, և ամեն անգամ այժմ փորձում ենք բարելավել մեր իսկ պատրաստած իրերն ու գործընթացները:

Carամանակակից մեքենան առաջին անգամ ներկայացվել է 1886 թվականին: Այդ ժամանակից ի վեր այն մեծ զարգացում է ունեցել բազմաթիվ առումներով: Արագության սահմանից մինչև քաշի վերահսկում այն փոխվում է և բռնում բազմաթիվ ուղիներ: Նոր տեխնոլոգիան ստիպեց մեքենային չպահանջել հանածո վառելիք `հիբրիդային մեքենան: Այնուամենայնիվ, այս մեթոդը ավելի սահմանափակ սահմաններ ունի: Թերություններից մեկն այն ժամանակն է, որն անհրաժեշտ է լիցքավորելու համար: Դա այնքան էլ հեշտ չէ, ինչպես գնալ բենզալցակայան և մի քանի րոպեում լցնել բաքը: Լիցքավորումը ավարտելու համար որոշ մեքենաների ժամեր են պետք: Այնուամենայնիվ, շատերը, եթե բենզալցակայանը գտնվում է հանգստի գոտու կամ առևտրի գոտու մոտ: Եվ իմաստ ունի, եթե մարտկոցը լիցքավորելու համար ավելի շատ ժամանակ է պահանջվում, այն իմաստ չունի, որ դուք ամբողջ ժամանակ այնտեղ լինեք, այնպես որ դա հնարավորություն է տալիս ձեզ գնալ այնտեղ, որտեղ ցանկանում եք: Այնուամենայնիվ, երբ մեքենան լիցքավորվի, եթե ձեր մեքենան լիցքավորման կայանից դուրս չեք հանել, ձեր մեքենայի վրա տուգանք է նշանակվելու: Այս ապրանքի նպատակն է լուծել նորմալ խնդիր ապագա հիբրիդային մեքենաներում (հիբրիդային մեքենաները հիանալի խաղադրույք են կատարում սեղանի վրա): Մենք իրականացնում ենք շրջանային համակարգ ՝ օգտագործելով Dragonboard 410c: Այն ձեզ նամակ է ուղարկում ՝ զգուշացնելու համար, որ ձեր մեքենայի էներգիայի լիցքը մինչև որոշակի տոկոս է: Այսպիսով, դուք կարող եք զբաղվել ձեր գործունեությամբ ՝ առանց անհանգստանալու, թե արդյոք ձեր մեքենան դեռ լիցքավորվում է, թե այն պատրաստ է (և, ամենայն հավանականությամբ, տուգանք կստանա): Չնայած այստեղ ՝ Մեքսիկայում, նման խնդիր չի առաջանա, բայց ավելի շուտ, քան մենք սպասում էինք, նոր համակարգեր կհայտնվեն հանածո վառելիքի վրա, և հիբրիդային մեքենաները կարևոր դեր կունենան: Նոր օրենքներ են հաստատվել, իսկ տուգանքներն այժմ փաստ են, այլ ոչ թե հեռավոր գաղափար:

Image Credit: Clipper Creek: Էլեկտրական մեքենաների լիցքավորման կայաններ

Քայլ 1: Նյութեր

  • DragonBoard 410c
  • Միջհարկանի 96 տախտակների համար
  • Նախատախտակ
  • Jumper մետաղալար
  • Կոճակ
  • Ռեզիստոր 10 օմ
  • Պոտենցիոմետր 10 կահմ
  • Կոնդենսատոր 150 pF
  • Չիկ ADC0804

Քայլ 2: Կոդ

#ներառում

#ներառում

#ներառում

#ներառել «libsoc_gpio.h»

#ներառել «libsoc_debug.h»

#ներառել «libsoc_board.h»

անստորագիր int GPIO_PIN1;

անստորագիր int GPIO_PIN2;

անստորագիր int GPIO_PIN3;

անստորագիր int GPIO_PIN4;

անստորագիր GPIO_TRANSIS;

անստորագիր int GPIO_SELECT;

անստորագիր GPIO_ENTER;

անստորագիր int GPIO_LEDTEST;

int դրոշ;

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 վազում = 1;

_ հատկանիշ _ ((կոնստրուկտոր)) ստատիկ դատարկություն _init ()

{

board_config *config = libsoc_board_init ();

GPIO_PIN1 = libsoc_board_gpio_id (կոնֆիգուրացիա, «GPIO-A»);

GPIO_PIN2 = libsoc_board_gpio_id (կազմաձևում, «GPIO-B»);

GPIO_PIN3 = libsoc_board_gpio_id (կոնֆիգուրացիա, «GPIO-C»);

GPIO_PIN4 = libsoc_board_gpio_id (կազմաձևում, «GPIO-D»);

GPIO_TRANSIS = libsoc_board_gpio_id (կազմաձևում, «GPIO-E»);

GPIO_SELECT = libsoc_board_gpio_id (կազմաձևում, «GPIO-G»);

GPIO_ENTER = libsoc_board_gpio_id (կազմաձևում, «GPIO-H»);

GPIO_LEDTEST = libsoc_board_gpio_id (կոնֆիգուրացիա, «GPIO-I»);

libsoc_board_free (կազմաձևում);

}

int հիմնական ()

{

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

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

{

անհաջողության մատնվել;

}

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

եթե ((libsoc_gpio_get_direction (gpio_pin1)! = Մուտք)

|| (libsoc_gpio_get_direction (gpio_pin2)! = Մուտք) || (libsoc_gpio_get_direction (gpio_pin3)! = Մուտք) || (libsoc_gpio_get_direction (gpio_pin4)! = Մուտք)

|| (libsoc_gpio_get_direction (gpio_transis)! = Մուտք) || (libsoc_gpio_get_direction (gpio_select)! = Մուտք) || (libsoc_gpio_get_direction (gpio_enter)! = Մուտք) || (libsoc_gpio_get_direction (gpio_ledtest)! = OUTPUT))

{

անհաջողության մատնվել;

}

(վազելիս)

{

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

եթե (touch_select == 1)

{

valorBoton ++;

եթե (valorBoton == 4)

{

valorBoton = 0;

}

}

եթե (valorBoton == 3)

{

valorLEDTest = 1;

libsoc_gpio_set_level (gpio_ledtest, valorLEDTest);

}

}

ձախողում.

{

printf ("կիրառել gpio ռեսուրսի ձախողում! / 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;

}

Քայլ 3: Էլեկտրական միացում

Էլեկտրական միացում
Էլեկտրական միացում
Էլեկտրական միացում
Էլեկտրական միացում
Էլեկտրական միացում
Էլեկտրական միացում
Էլեկտրական միացում
Էլեկտրական միացում

Այս սխեման աշխատում է որպես անալոգային-թվային փոխարկիչ: Այն ընդունում է պոտենցիոմետրի ազդանշանը, որն ունի 0 -ից 5 վոլտ արժեք, այնուհետև փոխարկիչը այն դարձնում է 0 -ից 255 բիթերի միջև թվային ազդանշան և ուղարկում DragonBoard INPUTS- ին:

Քայլ 4:

Մշակողը ՝

Ալֆրեդո Ֆոնտես

Մաուրիսիո Գոմես

Խորխե Խիմենես

Խերարդո Լոպես

Ֆելիպե Ռոխաս

Լուիս Ռոխաս

Իվոն Սանդովալ

Խորհուրդ ենք տալիս: