Բովանդակություն:
- Քայլ 1: Նյութեր
- Քայլ 2. Կտրեք կտորները գզրոցի համար MDF- ում: (Ավելի լավ արդյունքների համար օգտագործեք լազերային դանակ)
- Քայլ 3. Տեղադրեք բոլոր կտորները միասին ՝ կազմելով գզրոց երկու փոքր գզրոցով և մեծով:
- Քայլ 4. Պտուտակներ պտտեք յուրաքանչյուր գզրոցի մեջտեղում:
- Քայլ 5. Գայլիկոնով անցքեր կատարեք դարակի հետևի հետևի մասում, անցքը պետք է լինի սենսորի չափ:
- Քայլ 6. Յուրաքանչյուր սենսոր CNY 70 եռակցեք պղնձե լարերով: (կրկնել 4 անգամ ավելին)
- Քայլ 7: Սենսորի համար օգտագործվում է հատուկ միացում:
- Քայլ 8. Սենսորային միջահարկը միացրեք Dragon Board 410c- ին: (օգտագործվում է GPIO մուտք գործելու համար)
- Քայլ 9. Միացրեք շղթան թխած տախտակից դեպի միջնահարկ
- Քայլ 10: Գրեք կամ պատճենեք ծածկագիրը:
- Քայլ 11: Գործարկեք ծրագիրը:
- Քայլ 12: Եզրակացություններ
Video: Գույքագրման գզրոց «Smart Cities Hackathon Qualcomm17» ՝ 13 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Հաջորդ փաստաթղթում կարող եք տեսնել խելացի գզրոցի կառուցման և ծրագրավորման գործընթացը: Այս գզրոցը ծրագրավորվել է Dragon Board 410c- ում ՝ նպատակ ունենալով բարելավել քաղաքների որակը: Նախագիծը «Խելացի քաղաքներ հաքաթոն Qualcomm 17» մրցույթի մի մասն է:
Այս նախագծի գաղափարն սկսվեց մի խնդրով, որը շատ քչերն են տեսնում, դա գործիքների և նյութերի կորած և վատ կառավարումն է, որոնք տրամադրվում են այնպիսի ընկերությունների կողմից, ինչպիսիք են գործարանները և նույնիսկ հիվանդանոցները: Այս վայրերում որոշ նյութեր և գործիքներ տրամադրվում են աշխատողներին `գործունեություն ծավալելու համար, այս նյութը և գործիքները պետք է նորից օգտագործվեն, քանի որ դրանք թանկ են կամ դրանք փոխարինելու համար տնտեսական ռեսուրսների բացակայություն:
Հիվանդանոցներում կան մարդիկ, ովքեր վերահսկողություն են վերցնում հեռացված նյութերի վրա, բայց երբ մարդու միջամտությունը տեղի է ունենում սխալը, որը կարող է հանգեցնել անհարկի ծախսերի: Այս խնդրի լավագույն լուծումը խելացի գզրոցն է, որն ունակ է պահպանել փոխառված և վերադարձված առարկաների գույքագրումը և միևնույն ժամանակ իմանալ, թե ով է դրա պատասխանատուն:
Քայլ 1: Նյութեր
Նախագծի համար անհրաժեշտ նյութը հետևյալն է ՝ 1 x Dragon Board 410c
1 x Sensor Mezzanine 96 տախտակ Dragon Board- ի համար 410c
1 x Breadboard
1 x MDF (միջին խտության մանրաթել) թերթ 61 x 122 սմ
5 x տվիչ CNY 70
1 X TIP31B
1 x էլեկտրամագնիս
1 x 7408
1 x Ստեղնաշար
1 x էկրան
3 x պտուտակ
Դիմադրություններ (բազմազանություն)
Պղնձե լարեր
Սոսինձ
Գայլիկոն
Քայլ 2. Կտրեք կտորները գզրոցի համար MDF- ում: (Ավելի լավ արդյունքների համար օգտագործեք լազերային դանակ)
Քայլ 3. Տեղադրեք բոլոր կտորները միասին ՝ կազմելով գզրոց երկու փոքր գզրոցով և մեծով:
Քայլ 4. Պտուտակներ պտտեք յուրաքանչյուր գզրոցի մեջտեղում:
Քայլ 5. Գայլիկոնով անցքեր կատարեք դարակի հետևի հետևի մասում, անցքը պետք է լինի սենսորի չափ:
Քայլ 6. Յուրաքանչյուր սենսոր CNY 70 եռակցեք պղնձե լարերով: (կրկնել 4 անգամ ավելին)
Քայլ 7: Սենսորի համար օգտագործվում է հատուկ միացում:
Քայլ 8. Սենսորային միջահարկը միացրեք Dragon Board 410c- ին: (օգտագործվում է GPIO մուտք գործելու համար)
Շատ կարևոր է, որ այս քայլը կատարվի վիշապի տախտակը անջատված վիճակում, եթե ոչ, այն կարող է այրվել, բացի այդ, PIN- ը պետք է ճիշտ տեղադրվի:
Քայլ 9. Միացրեք շղթան թխած տախտակից դեպի միջնահարկ
Քայլ 10: Գրեք կամ պատճենեք ծածկագիրը:
#ներառել #ներառել #ներառել // #ներառել
#ներառել «libsoc_gpio.h»
#ներառել «libsoc_debug.h» #ներառել «libsoc_board.h»
/ * Ստորև բերված կոդի այս հատվածը ստիպում է այս օրինակին աշխատել բոլոր 96 տախտակների վրա */
անստորագիր int_1_1; // էլեկտրո իման
անստորագիր int BUTTON_1; // առաջին սենսոր
անստորագիր int BUTTON_2; // երկրորդ սենսոր unsigned int BUTTON_3; // փակել անստորագիր int BUTTON_4; // երրորդ սենսոր
strukt օգտվող {
char օգտվողի անուն [20]; char գաղտնաբառ [20]; } Օգտվող;
struct տվյալների շտեմարան {
char Հոդվածի անվանումը [20]; char Վայրը [20]; } Տվյալների բազա;
int սենսոր 1;
int սենսոր 2; int սենսոր 3;
int sensor1_last_state;
int sensor2_last_state; int sensor3_last_state;
char օգտվողի անուն [50];
char գաղտնաբառ [50];
char Այո Ոչ [40];
ՖԱՅԼ *pFILE;
char Այո [20] = {"Այո"};
int վազում = 1;
_ հատկանիշ _ ((կոնստրուկտոր)) ստատիկ դատարկություն _init ()
{board_config *config = libsoc_board_init (); BUTTON_1 = libsoc_board_gpio_id (կազմաձևում, «GPIO-A»); // բռունցքների ցուցիչ BUTTON_2 = libsoc_board_gpio_id (կազմաձևում, «GPIO-C»); // երկրորդ սենսոր BUTTON_3 = libsoc_board_gpio_id (կազմաձևում, «GPIO-D»); // փակ դարակ BUTTON_4 = libsoc_board_gpio_id (կազմաձևում, «GPIO-B»); // երրորդ սենսոր // BUTTON_5 = libsoc_board_gpio_id (կոնֆիգուրացիա, «GPIO-E»);
LED_1 = libsoc_board_gpio_id (կազմաձևում, «GPIO-E»); // էլեկտրո իման
libsoc_board_free (կազմաձևում); } / * 96Boards հատուկ ծածկագրի ավարտ * /
int հիմնական ()
{gpio *led_1, *button_1, *button_2, *button_3, *button_4; // int հպում; struct Օգտվող Կարինա; struct User Manager; strcpy (Karina.username, "Karina Valverde"); strcpy (Karina.password, «Ավելի բարձր ուղղահայաց»); strcpy (Manager.username, "The Boss"); strcpy (Manager.password, «ITESM»); struct տվյալների բազայի գործիք; struct Տվյալների շտեմարան; strukt Database Case; strcpy (Tool. Article_Name, "Tool"); struct տվյալների բազայի գործիք; struct Տվյալների բազայի գրիչ; strukt Database Case; strcpy (Tool. Article_Name, "Tool"); strcpy (Pen. Article_Name, "Pen"); strcpy (Case. Article_Name, "Case"); libsoc_set_debug (0); led_1 = libsoc_gpio_request (LED_1, LS_SHARED); button_1 = libsoc_gpio_request (BUTTON_1, LS_SHARED); button_2 = libsoc_gpio_request (BUTTON_2, LS_SHARED); button_3 = libsoc_gpio_request (BUTTON_3, LS_SHARED); button_4 = libsoc_gpio_request (BUTTON_4, LS_SHARED); // button_5 = libsoc_gpio_request (BUTTON_5, LS_SHARED);
եթե ((led_1 == NULL) || (button_1 == NULL) || (button_2 == NULL) || (button_3 == NULL) || (button_4 == NULL))
{geto fail; } libsoc_gpio_set_direction (led_1, OUTPUT); libsoc_gpio_set_direction (button_1, INPUT); libsoc_gpio_set_direction (button_2, INPUT); libsoc_gpio_set_direction (button_3, INPUT); libsoc_gpio_set_direction (button_4, INPUT); // libsoc_gpio_set_direction (button_5, INPUT);
եթե ((libsoc_gpio_get_direction (led_1)! = OUTPUT)
|| (libsoc_gpio_get_direction (button_1)! = Մուտք) || (libsoc_gpio_get_direction (button_2)! = Մուտք) || (libsoc_gpio_get_direction (button_3)! = Մուտք) || (libsoc_gpio_get_direction (button_4)! = INPUT)) {goto fail; } տվիչ 1 = libsoc_gpio_get_level (կոճակ_1); սենսոր 2 = libsoc_gpio_get_level (կոճակ_2); sensor3 = libsoc_gpio_get_level (կոճակ_4); sensor1_last_state = տվիչ 1; sensor2_last_state = սենսոր 2; sensor3_last_state = սենսոր 3; if (sensor1 == 1) {strcpy (Tool. Location, "Located on Rack"); } else if (sensor1 == 0) {strcpy (Tool. Location, "Never posted in this Rack"); } if (sensor2 == 1) {strcpy (Pen. Location, "Located on Rack"); } else if (sensor2 == 0) {strcpy (Pen. Location, "Never posted in this Rack"); } if (sensor3 == 1) {strcpy (Case. Location, "Located on Rack"); } else if (sensor3 == 0) {strcpy (Case. Location, "Never posted in this Rack"); } մինչ (վազում) {libsoc_gpio_set_level (led_1, HIGH); printf ("Խնդրում ենք մուտքագրել օգտվողի անունը."); scanf ("%s", օգտվողի անուն); printf ("Խնդրում ենք մուտքագրել գաղտնաբառ."); scanf ("%s", գաղտնաբառ); if (strcmp (օգտվողի անուն, «Կարինա») == 0 && strcmp (գաղտնաբառ, «ավելի բարձր») == 0) {libsoc_gpio_set_level (led_1, LOW); libsoc_gpio_set_level (led_1, LOW); while (libsoc_gpio_get_level (button_3)! = 1) {sensor1 = libsoc_gpio_get_level (button_1); սենսոր 2 = libsoc_gpio_get_level (կոճակ_2); sensor3 = libsoc_gpio_get_level (կոճակ_4); } libsoc_gpio_set_level (led_1, HIGH); if (sensor1 == 1 && sensor1! = sensor1_last_state) {strcpy (Tool. Location, Karina.username); } else if (sensor1 == 0 && sensor1! = sensor1_last_state) {strcpy (Tool. Location, "Located on Rack"); } if (sensor2 == 1 && sensor2! = sensor2_last_state) {strcpy (Pen. Location, Karina.username); } else if (sensor2 == 0 && sensor2! = sensor2_last_state) {strcpy (Pen. Location, "Located on Rack"); }
եթե (sensor3 == 1 && sensor3! = sensor3_last_state) {
strcpy (Case. Location, Karina.username); } else if (sensor3 == 0 && sensor3! = sensor3_last_state) {strcpy (Case. Location, "Located on Rack"); }} else if (strcmp (օգտվողի անուն, «Բոսս») == 0 && strcmp (գաղտնաբառ, «ITESM») == 0) {printf («youանկանու՞մ եք տվյալների բազայի հետ տեքստային ֆայլ ստեղծել
fprintf (pFILE, "%s", "Article Name:");
fprintf (pFILE, "%s", Case. Article_Name); fprintf (pFILE, "%s", "\ t"); fprintf (pFILE, "%s", "Հոդվածի գտնվելու վայրը."); fprintf (pFILE, "%s", Case. Location); fprintf (pFILE, "%s", "\ n");
fclose (pFILE);
}
printf ("Մուտքը մերժված է / n");
}} ձախողում. libsoc_gpio_free (led_1); libsoc_gpio_free (կոճակ_1); libsoc_gpio_free (կոճակ_2); libsoc_gpio_free (կոճակ_3); }
Քայլ 11: Գործարկեք ծրագիրը:
Քայլ 12: Եզրակացություններ
Theրագիրն ունի ապագա խոստումնալից, քանի որ այն կարող է շատ արդյունավետ կերպով կատարելագործվել, սենսորները կարող են փոխվել RFID´S պիտակների համար, և միևնույն ժամանակ RFID- ի հետ հնարավոր է օգտագործել ID քարտեր ՝ վերահսկելու համար, թե ով է պատասխանատու նյութի համար:
Խորհուրդ ենք տալիս:
Apple շտրիխ փորագրիչ (Photonics Hackathon Phablabs) ՝ 3 քայլ
Apple շտրիխ փորագրիչ (Photonics Hackathon Phablabs). Բարև բոլորին, մեր Phablabs Photonics մարտահրավերի շրջանակներում մեզ խնդրեցին ստեղծել սարք, որը կարող է փոխարինել մրգերի կպչուն պիտակներ: Դուք նաև ատու՞մ եք մրգի կպչուն պիտակներ: Իսկ կցանկանա՞ք էկոլոգիապես մաքուր փոփոխություն կատարել: Այնուհետև մենք կցանկանայինք իմանալ
Գաղտնի գզրոց ՝ 4 քայլ
Գաղտնի գզրոց. Ինձ միշտ գրավում էին գաղտնի սենյակները կամ թաքնված գզրոցները: Դա է պատճառը, որ ես որոշեցի կառուցել իմ սեփական թաքնված գզրոցը Բեթմենի մասին ֆիլմ դիտելուց մեկ օր անց: Այս նախագիծը բաղկացած է կիսանդրուց ՝ գաղտնի կոճակով, որը կարող եք տեղադրել ամենուր
Գույքագրման կառավարման ինտեգրված համակարգ. 10 քայլ (նկարներով)
Ինտեգրված գույքագրման կառավարման համակարգ. Ես միշտ ցանկացել եմ մատչելի եղանակով հետևել իմ մառանում եղած ամեն ինչին, ուստի մի քանի ամիս առաջ ես սկսեցի աշխատել մի նախագծի վրա, որը հենց դա կաներ: Նպատակն էր ստեղծել պարզ, մատչելի համակարգ, որը շատ հեշտ էր օգտագործել, մինչդեռ նաև պատմական
Հոլոգրաֆիկ թիթեղներ - Photonics Challenger Hackathon Phab Լաբորատորիաներ. 6 քայլ
Հոլոգրաֆիկ ափսեներ - Photonics Challenger Hackathon PhabLabs. Այս տարվա սկզբին ինձ խնդրեցին մասնակցել Նիդերլանդների Դելֆտ գիտական կենտրոնի PhabLabs Photonics Hackathon- ին: Այստեղ նրանք ունեն հիանալի աշխատանքային տարածք ՝ բազմաթիվ մեքենաներով, որոնք կարող են օգտագործվել սովորական բան ստեղծելու համար
Գաղտնի խցիկի մինի գզրոց `5 քայլ
Գաղտնի խցիկի մինի գզրոց. Այս հրահանգը ցույց կտա ձեզ, թե ինչպես եմ ես պատրաստել գզրոցի առանձնասենյակ գաղտնի խցիկով: Ես հիմնականում փոքր մանրամասներ կօգտագործեմ նկարագրելու իմ կատարած գործողությունները: