![Sirtari i Inventarit "Smart Cities Hackathon Qualcomm17": 13 hapa Sirtari i Inventarit "Smart Cities Hackathon Qualcomm17": 13 hapa](https://i.howwhatproduce.com/images/010/image-29383-j.webp)
Përmbajtje:
- Hapi 1: Materialet
- Hapi 2: Pritini Copat për Sirtarin në MDF. (Për rezultate më të mira përdorni një prestar lazer)
- Hapi 3: Ngjitni të gjitha pjesët së bashku për të formuar një sirtar me dy sirtarë të vegjël dhe një të mëdhenj
- Hapi 4: Vidhosni vidhat në mes të çdo sirtari
- Hapi 5: Me stërvitjen bëni vrima përmes sirtarit në anën e pasme, vrima duhet të jetë madhësia e sensorit
- Hapi 6: Saldoni çdo Sensor CNY 70 Me Telat e Bakrit. (përsëris 4 herë më shumë)
- Hapi 7: Përdoret një qark i veçantë për sensorin
- Hapi 8: Lidheni Sensorin Mezzanine me Dragon Board 410c. (përdoret për të hyrë në GPIO)
- Hapi 9: Lidhni qarkun nga pllaka e bukës në katin e mesëm
- Hapi 10: Shkruani ose Kopjoni Kodin
- Hapi 11: Drejtoni programin
- Hapi 12: Përfundime
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-23 15:10
![Sirtari i inventarit Sirtari i inventarit](https://i.howwhatproduce.com/images/010/image-29383-1-j.webp)
Në dokumentin tjetër, mund të shihni procesin e ndërtimit dhe programimit të një sirtari inteligjent. Kjo sirtar u programua në një Bord Dragon 410c, me qëllim të përmirësimit të cilësisë së qyteteve. Projekti është pjesë e konkursit "qytetet e mençura hackathon Qualcomm 17".
Ideja e këtij projekti filloi me një problem që shumë pak njerëz e shohin, i cili është menaxhimi i humbur dhe i keq i mjeteve dhe materialit që ofrohet nga kompani të tilla si fabrika, madje edhe spitale. Në këto vende, disa materiale dhe mjete u sigurohen punëtorëve për të bërë aktivitete, ky material dhe mjete duhet të ripërdoren sepse janë të shtrenjta ose mungesa e burimeve ekonomike për t'i zëvendësuar ato.
Në spitale, ka njerëz që marrin kontrollin e materialeve që hiqen, por kur ka një ndërhyrje njerëzore ndodh gabimi, i cili mund të çojë në shpenzime të panevojshme. Zgjidhja më e mirë për këtë problem është një sirtar inteligjent i aftë të mbajë një inventar të objekteve të huazuara dhe të kthyera dhe në të njëjtën kohë të dijë se kush është përgjegjësi.
Hapi 1: Materialet
Materiali i nevojshëm për projektin është ai tjetër: 1 x Dragon Board 410c
1 x Sensor Mezzanine 96 Borde për Dragon Board 410c
1 x Breadboard
1 x fletë MDF (dërrasë me fibra me densitet të mesëm) 61 x 122 cm
5 x sensor CNY 70
1 X TIP31B
1 x elektromagnet
1 x 7408
1 x Tastiera
1 x ekran
3 vida x
Rezistencat (shumëllojshmëria)
Tela bakri
Zam
Stërvitje
Hapi 2: Pritini Copat për Sirtarin në MDF. (Për rezultate më të mira përdorni një prestar lazer)
![Pritini Copat për Sirtarin në MDF. (Për rezultate më të mira përdorni një prestar lazer) Pritini Copat për Sirtarin në MDF. (Për rezultate më të mira përdorni një prestar lazer)](https://i.howwhatproduce.com/images/010/image-29383-2-j.webp)
Hapi 3: Ngjitni të gjitha pjesët së bashku për të formuar një sirtar me dy sirtarë të vegjël dhe një të mëdhenj
Hapi 4: Vidhosni vidhat në mes të çdo sirtari
![Vidhosni vidhat në mes të çdo sirtari Vidhosni vidhat në mes të çdo sirtari](https://i.howwhatproduce.com/images/010/image-29383-3-j.webp)
Hapi 5: Me stërvitjen bëni vrima përmes sirtarit në anën e pasme, vrima duhet të jetë madhësia e sensorit
![Me stërvitjen bëni vrima përmes sirtarit në anën e pasme, vrima duhet të jetë madhësia e sensorit Me stërvitjen bëni vrima përmes sirtarit në anën e pasme, vrima duhet të jetë madhësia e sensorit](https://i.howwhatproduce.com/images/010/image-29383-4-j.webp)
Hapi 6: Saldoni çdo Sensor CNY 70 Me Telat e Bakrit. (përsëris 4 herë më shumë)
![Saldoni çdo Sensor CNY 70 Me Telat e Bakrit. (përsëris 4 herë më shumë) Saldoni çdo Sensor CNY 70 Me Telat e Bakrit. (përsëris 4 herë më shumë)](https://i.howwhatproduce.com/images/010/image-29383-5-j.webp)
Hapi 7: Përdoret një qark i veçantë për sensorin
![Një qark i veçantë përdoret për sensorin Një qark i veçantë përdoret për sensorin](https://i.howwhatproduce.com/images/010/image-29383-6-j.webp)
Hapi 8: Lidheni Sensorin Mezzanine me Dragon Board 410c. (përdoret për të hyrë në GPIO)
![Lidheni Sensorin Mezzanine me Dragon Board 410c. (përdoret për të hyrë në GPIO) Lidheni Sensorin Mezzanine me Dragon Board 410c. (përdoret për të hyrë në GPIO)](https://i.howwhatproduce.com/images/010/image-29383-7-j.webp)
Veryshtë shumë e rëndësishme që ky hap të bëhet me bordin e dragoit të fikur, nëse jo, ai mund të digjet, përveç të gjithë PIN -it duhet të vendoset në mënyrë korrekte.
Hapi 9: Lidhni qarkun nga pllaka e bukës në katin e mesëm
![Lidhni qarkun nga bordi i bukës në katin e mesëm Lidhni qarkun nga bordi i bukës në katin e mesëm](https://i.howwhatproduce.com/images/010/image-29383-8-j.webp)
![Lidhni qarkun nga bordi i bukës në katin e mesëm Lidhni qarkun nga bordi i bukës në katin e mesëm](https://i.howwhatproduce.com/images/010/image-29383-9-j.webp)
![Lidhni qarkun nga bordi i bukës në katin e mesëm Lidhni qarkun nga bordi i bukës në katin e mesëm](https://i.howwhatproduce.com/images/010/image-29383-10-j.webp)
![Lidhni qarkun nga bordi i bukës në katin e mesëm Lidhni qarkun nga bordi i bukës në katin e mesëm](https://i.howwhatproduce.com/images/010/image-29383-11-j.webp)
Hapi 10: Shkruani ose Kopjoni Kodin
#përfshi #përfshi #përfshi // #përfshi
#përfshi "libsoc_gpio.h"
#përfshi "libsoc_debug.h" #include "libsoc_board.h"
/ * Kjo pjesë e kodit më poshtë e bën këtë shembull të funksionojë në të gjitha 96Boards */
pa shenjë në LED_1; // elektro iman
pa shenjë në BUTTON_1; // sensori i parë
pa shenjë int BUTTON_2; // sensori i dytë pa shenjë int BUTTON_3; // mbyll int pa shenjë int BUTTON_4; // sensori i tretë
struktura e Përdoruesit {
emri i përdoruesit char [20]; fjalëkalim char [20]; } Përdoruesi;
strukturë Baza e të dhënave {
emri i artikullit char [20]; char Vendndodhja [20]; } Baza e të dhënave;
int sensor1;
int sensor2; int sensor3;
int sensor1_last_state;
int sensor2_last_state; int sensor3_last_state;
emri i përdoruesit char [50];
fjalëkalim char [50];
char Po Jo Jo [40];
DOSJA *pFILE;
char Po [20] = {"Po"};
int running = 1;
_tribuoj _ ((konstruktor)) zbrazëti statike _init ()
{board_config *config = libsoc_board_init (); BUTTON_1 = libsoc_board_gpio_id (konfiguro, "GPIO-A"); // sensor grushton BUTTON_2 = libsoc_board_gpio_id (konfiguro, "GPIO-C"); // sensori i dytë BUTTON_3 = libsoc_board_gpio_id (konfiguro, "GPIO-D"); // mbyll raftin BUTTON_4 = libsoc_board_gpio_id (konfiguro, "GPIO-B"); // sensori i tretë // BUTTON_5 = libsoc_board_gpio_id (konfiguro, "GPIO-E");
LED_1 = libsoc_board_gpio_id (konfiguro, "GPIO-E"); // elektro iman
libsoc_board_free (konfiguro); } / * Fundi i kodit special të 96Boards * /
int kryesore ()
{gpio *led_1, *button_1, *button_2, *button_3, *button_4; // int prekje; struct Përdoruesi Karina; struct User Manager; strcpy (Karina.username, "Karina Valverde"); strcpy (Karina. fjalëkalim, "Vertikal më i gjatë"); strcpy (menaxher.username, "The Boss"); strcpy (Menaxher. fjalëkalim, "ITESM"); strukt Mjeti i bazës së të dhënave; strukturë Pena e bazës së të dhënave; strukt Rasti i bazës së të dhënave; strcpy (Tool. Article_Name, "Tool"); strukt Mjeti i bazës së të dhënave; strukturë Pena e bazës së të dhënave; strukt Rasti i bazës së të dhënave; 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); butoni_1 = libsoc_gpio_request (BUTTON_1, LS_SHARED); button_2 = kërkesë libsoc_gpio_ (BUTTON_2, LS_SHARED); butoni_3 = libsoc_gpio_request (BUTTON_3, LS_SHARED); butoni_4 = kërkesë libsoc_gpio_ (BUTTON_4, LS_SHARED); // butoni_5 = libsoc_gpio_request (BUTTON_5, LS_SHARED);
nëse ((led_1 == NULL) || (button_1 == NULL) || (button_2 == NULL) || (button_3 == NULL) || (button_4 == NULL))
{duhet të dështoj; } libsoc_gpio_set_direction (led_1, OUTPUT); libsoc_gpio_set_direction (butoni_1, INPUT); libsoc_gpio_set_direction (butoni_2, INPUT); libsoc_gpio_set_direction (butoni_3, INPUT); libsoc_gpio_set_direction (butoni_4, INPUT); // libsoc_gpio_set_direction (butoni_5, INPUT);
nëse ((libsoc_gpio_get_direction (led_1)! = JASHT dalje)
|| (libsoc_gpio_get_direction (button_1)! = HYRJE) || (libsoc_gpio_get_direction (button_2)! = HYRJE) || (libsoc_gpio_get_direction (button_3)! = HYRJE) || (libsoc_gpio_get_direction (button_4)! = HYRJE)) {goto dështoj; } sensor1 = libsoc_gpio_get_level (butoni_1); sensor2 = libsoc_gpio_get_level (butoni_2); sensor3 = libsoc_gpio_get_level (butoni_4); sensor1_last_stat = sensor1; sensor2_last_stat = sensor2; sensor3_last_stat = sensor3; if (sensor1 == 1) {strcpy (Tool. Location, "Located on Rack"); } else if (sensor1 == 0) {strcpy (Tool. Location, "Asnjëherë i vendosur në këtë Rack"); } if (sensor2 == 1) {strcpy (Pen. Location, "Located on Rack"); } else if (sensor2 == 0) {strcpy (Pen. Location, "Asnjëherë i vendosur në këtë Rack"); } if (sensor3 == 1) {strcpy (Case. Location, "Located on Rack"); } else if (sensor3 == 0) {strcpy (Case. Location, "Asnjëherë nuk vendoset në këtë Rack"); } ndërsa (vrapon) {libsoc_gpio_set_level (led_1, HIGH); printf ("Ju lutemi futni emrin e përdoruesit:"); scanf ("%s", emri i përdoruesit); printf ("Ju lutemi futni fjalëkalimin:"); scanf ("%s", fjalëkalim); if (strcmp (emri i përdoruesit, "Karina") == 0 && strcmp (fjalëkalimi, "Taller") == 0) {libsoc_gpio_set_level (led_1, LOW); libsoc_gpio_set_level (led_1, LOW); ndërsa (libsoc_gpio_get_level (button_3)! = 1) {sensor1 = libsoc_gpio_get_level (button_1); sensor2 = libsoc_gpio_get_level (butoni_2); sensor3 = libsoc_gpio_get_level (butoni_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, "E vendosur në Rack"); } if (sensor2 == 1 && sensor2! = sensor2_last_state) {strcpy (Pen. Location, Karina.username); } else if (sensor2 == 0 && sensor2! = sensor2_last_state) {strcpy (Pen. Location, "E vendosur në Rack"); }
nëse (sensor3 == 1 && sensor3! = sensor3_last_state) {
strcpy (Case. Location, Karina.ername); } else if (sensor3 == 0 && sensor3! = sensor3_last_state) {strcpy (Case. Location, "E vendosur në Rack"); }} else if (strcmp (emri i përdoruesit, "Shefi") == 0 && strcmp (fjalëkalimi, "ITESM") == 0) {printf ("A dëshironi të krijoni një skedar teksti me bazën e të dhënave? [Po/Jo] "); scanf ("%s", Po Jo); nëse ((strcmp (Po Jo, Po) == 0)) {// Përdoruesi i menaxherit (pFILE); pFILE = hap ("Baza e të dhënave.txt", "w"); fprintf (pFILE, "%s", "-------- Baza e të dhënave të Rack ----- / n"); fprintf (pFILE, "%s", "Emri i artikullit:"); fprintf (pFILE, "%s", Tool. Article_Name); fprintf (pFILE, "%s", "\ t"); fprintf (pFILE, "%s", "Vendndodhja e artikullit:"); fprintf (pFILE, "%s", Tool. Location); fprintf (pFILE, "%s", "\ n"); fprintf (pFILE, "%s", "Emri i artikullit:"); fprintf (pFILE, "%s", Pen. Article_Name); fprintf (pFILE, "%s", "\ t"); fprintf (pFILE, "%s", "Vendndodhja e artikullit:"); fprintf (pFILE, "%s", Pen. Location); fprintf (pFILE, "%s", "\ n");
fprintf (pFILE, "%s", "Emri i artikullit:");
fprintf (pFILE, "%s", Case. Article_Name); fprintf (pFILE, "%s", "\ t"); fprintf (pFILE, "%s", "Vendndodhja e artikullit:"); fprintf (pFILE, "%s", Case. Location); fprintf (pFILE, "%s", "\ n");
fclose (pFILE);
}
printf ("Qasja është refuzuar / n");
}} fail: if (led_1 || button_1 || button_2 || button_3) {printf ("zbato dështimin e burimit të gpio! / n"); libsoc_gpio_free (led_1); libsoc_gpio_free (butoni_1); libsoc_gpio_free (butoni_2); libsoc_gpio_free (butoni_3); }
Hapi 11: Drejtoni programin
Hapi 12: Përfundime
Projekti ka një të ardhme premtuese, pasi mund të përmirësohet në një mënyrë shumë efektive, sensorët mund të ndryshohen për etiketat RFID´S dhe në të njëjtën kohë me RFID është e mundur të përdoren kartat e identitetit për të monitoruar se kush është përgjegjës për materialin.
Recommended:
Sirtari Sekret: 4 Hapa
![Sirtari Sekret: 4 Hapa Sirtari Sekret: 4 Hapa](https://i.howwhatproduce.com/images/007/image-18915-j.webp)
Sirtari Sekret: Unë isha i hipnotizuar gjithmonë nga dhomat sekrete ose sirtarët e fshehur. Kjo është arsyeja pse vendosa të ndërtoj sirtarin tim të fshehur një ditë pasi shikova një film në Batman. Ky projekt përbëhet nga një bust me një buton të fshehtë të cilin mund ta vendosni kudo në
Altoparlantë Vintage Hipster të Upcycled Bluetooth Nga Sirtari prej druri: 5 hapa
![Altoparlantë Vintage Hipster të Upcycled Bluetooth Nga Sirtari prej druri: 5 hapa Altoparlantë Vintage Hipster të Upcycled Bluetooth Nga Sirtari prej druri: 5 hapa](https://i.howwhatproduce.com/images/002/image-5988-21-j.webp)
Vintage Hipster Upcycled Altoparlantë Bluetooth nga sirtari prej druri: Pse të mos e kaloni si një gotë xhinse të ngushta, duke veshur hipster duke salduar një karamel latte gjysmë të skremuar në një biçikletë fikse! A nuk e doni fjalën upcycle! Oh po Le t'i vendosim të gjitha ato marrëzi në njërën anë dhe të bëjmë diçka argëtuese, të lehtë dhe të dobishme. Gjithçka që ju nevojitet për një
Sistemi i integruar i menaxhimit të inventarit: 10 hapa (me fotografi)
![Sistemi i integruar i menaxhimit të inventarit: 10 hapa (me fotografi) Sistemi i integruar i menaxhimit të inventarit: 10 hapa (me fotografi)](https://i.howwhatproduce.com/images/003/image-6628-19-j.webp)
Sistemi i Integruar i Menaxhimit të Inventarit: Unë gjithmonë kam dashur një mënyrë të përballueshme për të mbajtur nën kontroll gjithçka që kam në qilarin tim, kështu që disa muaj më parë fillova të punoja në një projekt që do të bënte pikërisht këtë. Qëllimi ishte krijimi i një sistemi të thjeshtë, të përballueshëm, i cili ishte shumë i lehtë për t’u përdorur, ndërsa gjithashtu ruante
D4E1 - DIY - Teknologji ndihmëse: Sirtari i karrigeve me rrota të rregullueshme: 7 hapa (me fotografi)
![D4E1 - DIY - Teknologji ndihmëse: Sirtari i karrigeve me rrota të rregullueshme: 7 hapa (me fotografi) D4E1 - DIY - Teknologji ndihmëse: Sirtari i karrigeve me rrota të rregullueshme: 7 hapa (me fotografi)](https://i.howwhatproduce.com/images/006/image-17755-23-j.webp)
D4E1 - DIY - Teknologji ndihmëse: Sirtari i rregullueshëm për karrige me rrota: Kjell ka një paaftësi të lindur: kuadriparezë diskinetike dhe nuk është në gjendje të hajë vetë. Ai ka nevojë për ndihmën e një monitoruesi, një terapisti profesional, i cili e ushqen atë. Kjo vjen me dy probleme: 1) Terapisti profesional qëndron pas timonit
Mini sirtari i ndarjes sekrete: 5 hapa
![Mini sirtari i ndarjes sekrete: 5 hapa Mini sirtari i ndarjes sekrete: 5 hapa](https://i.howwhatproduce.com/images/002/image-4009-55-j.webp)
Mini sirtari i ndarjes sekrete: Ky udhëzues do t'ju tregojë se si kam bërë një dollap sirtar me një ndarje sekrete. Unë kryesisht do të përdor detaje të vogla për të përshkruar veprimet që kam bërë