
Talaan ng mga Nilalaman:
- Hakbang 1: Mga Kagamitan
- Hakbang 2: Gupitin ang Mga piraso para sa Drawer sa MDF. (Para sa Mas Mahusay na Mga Resulta Gumamit ng isang Laser Cutter)
- Hakbang 3: I-paste ang Lahat ng Mga piraso ng magkasama upang Bumuo ng isang drawer Na May Dalawang Maliliit na Drawer at isang Malaki
- Hakbang 4: I-screw ang mga Screw sa gitna ng bawat Drawer
- Hakbang 5: Sa pamamagitan ng Drill Make Holes Sa pamamagitan ng drawer sa Likuran, ang Hole ay Dapat na Sukat ng Sensor
- Hakbang 6: Weld Ang bawat Sensor CNY 70 Gamit ang Copper Wires. (ulitin ang 4 na Oras Pa)
- Hakbang 7: Ginagamit ang Isang Espesyal na Circuit para sa Sensor
- Hakbang 8: Ikonekta ang Sensor Mezzanine sa Dragon Board 410c. (ginamit upang I-access ang GPIO)
- Hakbang 9: Ikonekta ang Circuit Mula sa Breadboard sa Mezzanine
- Hakbang 10: Isulat o Kopyahin ang Code
- Hakbang 11: Patakbuhin ang Programa
- Hakbang 12: Mga Konklusyon
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-23 15:13

Sa susunod na dokumento, maaari mong makita ang proseso ng konstruksyon at programa ng isang matalinong drawer. Ang drawer na ito ay na-program sa isang Dragon Board 410c, na may layuning mapabuti ang kalidad ng mga lungsod. Ang proyekto ay bahagi ng paligsahan na "matalinong mga lungsod hackathon Qualcomm 17".
Ang ideya ng proyektong ito ay nagsimula sa isang problema na kakaunti ang nakikita ng mga tao, na kung saan ay ang nawala at hindi magandang pamamahala ng mga tool at materyal na ibinibigay ng mga kumpanya tulad ng mga pabrika at maging mga ospital. Sa mga lugar na ito, ang ilang mga materyales at kagamitan ay ibinibigay sa mga manggagawa upang magawa ng mga aktibidad, ang materyal at mga kagamitang ito ay dapat gamitin muli sapagkat sila ay mahal o ang kakulangan ng mga mapagkukunang pang-ekonomiya upang mapalitan ang mga ito.
Sa mga ospital, may mga taong kinokontrol ang mga materyales na tinanggal, ngunit kapag may interbensyon ng tao mayroong error, na maaaring humantong sa hindi kinakailangang gastos. Ang pinakamahusay na solusyon sa problemang ito ay isang matalinong drawer na may kakayahang mapanatili ang imbentaryo ng mga bagay na hiniram at ibinalik at sabay na alam kung sino ang responsable.
Hakbang 1: Mga Kagamitan
Ang materyal na kinakailangan para sa proyekto ay ang susunod: 1 x Dragon Board 410c
1 x Sensor Mezzanine 96 Mga Lupon para sa Dragon Board 410c
1 x Breadboard
1 x MDF (Medium Density Fiberboard) sheet 61 x 122 cms
5 x sensor CNY 70
1 X TIP31B
1 x electromagnet
1 x 7408
1 x Keyboard
1 x screen
3 x turnilyo
Mga paglaban (pagkakaiba-iba)
Mga wire ng tanso
Pandikit
Drill
Hakbang 2: Gupitin ang Mga piraso para sa Drawer sa MDF. (Para sa Mas Mahusay na Mga Resulta Gumamit ng isang Laser Cutter)

Hakbang 3: I-paste ang Lahat ng Mga piraso ng magkasama upang Bumuo ng isang drawer Na May Dalawang Maliliit na Drawer at isang Malaki
Hakbang 4: I-screw ang mga Screw sa gitna ng bawat Drawer

Hakbang 5: Sa pamamagitan ng Drill Make Holes Sa pamamagitan ng drawer sa Likuran, ang Hole ay Dapat na Sukat ng Sensor

Hakbang 6: Weld Ang bawat Sensor CNY 70 Gamit ang Copper Wires. (ulitin ang 4 na Oras Pa)

Hakbang 7: Ginagamit ang Isang Espesyal na Circuit para sa Sensor

Hakbang 8: Ikonekta ang Sensor Mezzanine sa Dragon Board 410c. (ginamit upang I-access ang GPIO)

Napakahalaga na ang hakbang na ito ay gawin sa off board ng dragon, kung hindi ito masusunog, bukod sa lahat ng PIN ay kailangang mailagay nang tama.
Hakbang 9: Ikonekta ang Circuit Mula sa Breadboard sa Mezzanine




Hakbang 10: Isulat o Kopyahin ang Code
#include #include #include // # isama
# isama ang "libsoc_gpio.h"
# isama ang "libsoc_debug.h" # isama ang "libsoc_board.h"
/ * Ang kaunting code na ito sa ibaba ay ginagawang gumana ang halimbawang ito sa lahat ng 96Boards * /
unsigned int LED_1; // electro iman
unsigned int BUTTON_1; // unang sensor
unsigned int BUTTON_2; // pangalawang sensor unsigned int BUTTON_3; // close unsigned int BUTTON_4; // third sensor
struct User {
char username [20]; char password [20]; } Gumagamit;
struct Database {
char Article_Name [20]; char Lokasyon [20]; } Database;
int sensor1;
int sensor2; int sensor3;
int sensor1_last_state;
int sensor2_last_state; int sensor3_last_state;
char username [50];
char password [50];
char OoHindi [40];
FILE * pemium;
char Oo [20] = {"Oo"};
int tumatakbo = 1;
_attribute _ ((tagapagbuo)) static void _init ()
{board_config * config = libsoc_board_init (); BUTTON_1 = libsoc_board_gpio_id (config, "GPIO-A"); // fists sensor BUTTON_2 = libsoc_board_gpio_id (config, "GPIO-C"); // pangalawang sensor BUTTON_3 = libsoc_board_gpio_id (config, "GPIO-D"); // close rack BUTTON_4 = libsoc_board_gpio_id (config, "GPIO-B"); // third sensor // BUTTON_5 = libsoc_board_gpio_id (config, "GPIO-E");
LED_1 = libsoc_board_gpio_id (config, "GPIO-E"); // electro iman
libsoc_board_free (config); } / * Pagtatapos ng 96Boards espesyal na code * /
int main ()
{gpio * led_1, * button_1, * button_2, * button_3, * button_4; // int touch; istr Gumagamit Karina; istr User Manager; strcpy (Karina.username, "Karina Valverde"); strcpy (Karina.password, "Taller Vertical"); strcpy (Manager.username, "The Boss"); strcpy (Manager.password, "ITESM"); struct Database Tool; istruktura ng Database Pen; Kaso ng struct Database; strcpy (Tool. Article_Name, "Tool"); struct Database Tool; istruktura ng Database Pen; Kaso ng struct Database; strcpy (Tool. Article_Name, "Tool"); strcpy (Pen. Article_Name, "Pen"); strcpy (Case. Article_Name, "Kaso"); 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);
kung ((led_1 == NULL) || (button_1 == NULL) || (button_2 == NULL) || (button_3 == NULL) || (button_4 == NULL))
{mabigo ang goto; } 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);
kung ((libsoc_gpio_get_direction (led_1)! = OUTPUT)
|| (libsoc_gpio_get_direction (button_1)! = INPUT) || (libsoc_gpio_get_direction (button_2)! = INPUT) || (libsoc_gpio_get_direction (button_3)! = INPUT) || (libsoc_gpio_get_direction (button_4)! = INPUT)) {goto fail; } sensor1 = libsoc_gpio_get_level (button_1); sensor2 = libsoc_gpio_get_level (button_2); sensor3 = libsoc_gpio_get_level (button_4); sensor1_last_state = sensor1; sensor2_last_state = sensor2; sensor3_last_state = sensor3; kung (sensor1 == 1) {strcpy (Tool. Location, "Matatagpuan sa Rack"); } iba pa kung (sensor1 == 0) {strcpy (Tool. Location, "Never inilagay sa Rack na ito"); } kung (sensor2 == 1) {strcpy (Pen. Location, "Matatagpuan sa Rack"); } iba pa kung (sensor2 == 0) {strcpy (Pen. Location, "Never inilagay sa Rack na ito"); } kung (sensor3 == 1) {strcpy (Case. Location, "Matatagpuan sa Rack"); } iba pa kung (sensor3 == 0) {strcpy (Case. Location, "Never inilagay sa Rack na ito"); } habang (tumatakbo) {libsoc_gpio_set_level (led_1, HIGH); printf ("Mangyaring maglagay ng pangalan ng gumagamit:"); scanf ("% s", username); printf ("Mangyaring maglagay ng password:"); scanf ("% s", password); kung (strcmp (username, "Karina") == 0 && strcmp (password, "Mas matangkad") == 0) {libsoc_gpio_set_level (led_1, LOW); libsoc_gpio_set_level (led_1, LOW); habang (libsoc_gpio_get_level (button_3)! = 1) {sensor1 = libsoc_gpio_get_level (button_1); sensor2 = libsoc_gpio_get_level (button_2); sensor3 = libsoc_gpio_get_level (button_4); } libsoc_gpio_set_level (led_1, TAAS); kung (sensor1 == 1 && sensor1! = sensor1_last_state) {strcpy (Tool. Location, Karina.username); } iba pa kung (sensor1 == 0 && sensor1! = sensor1_last_state) {strcpy (Tool. Location, "Matatagpuan sa Rack"); } kung (sensor2 == 1 && sensor2! = sensor2_last_state) {strcpy (Pen. Location, Karina.username); } iba pa kung (sensor2 == 0 && sensor2! = sensor2_last_state) {strcpy (Pen. Location, "Matatagpuan sa Rack"); }
kung (sensor3 == 1 && sensor3! = sensor3_last_state) {
strcpy (Kaso. Location, Karina.username); } iba pa kung (sensor3 == 0 && sensor3! = sensor3_last_state) {strcpy (Case. Location, "Matatagpuan sa Rack"); }} iba pa kung (strcmp (username, "Boss") == 0 && strcmp (password, "ITESM") == 0) {printf ("Nais mo bang makabuo ng isang text file na may database? [Oo / Hindi] "); scanf ("% s", YesNo); kung ((strcmp (OoNo, Oo) == 0)) {// Manager_user (pemium); pemium = fopen ("Database.txt", "w"); fprintf (pemium, "% s", "-------- Rack's Database ----- / n"); fprintf (pemium, "% s", "Artikulo ng Pangalan:"); fprintf (pemium, "% s", Tool. Article_Name); fprintf (pemium, "% s", "\ t"); fprintf (pemium, "% s", "Lokasyon ng Artikulo:"); fprintf (pemium, "% s", Tool. Location); fprintf (pemium, "% s", "\ n"); fprintf (pemium, "% s", "Artikulo ng Pangalan:"); fprintf (pemium, "% s", Pen. Article_Name); fprintf (pemium, "% s", "\ t"); fprintf (pemium, "% s", "Lokasyon ng Artikulo:"); fprintf (pemium, "% s", Pen. Location); fprintf (pemium, "% s", "\ n");
fprintf (pemium, "% s", "Artikulo ng Pangalan:");
fprintf (pemium, "% s", Case. Article_Name); fprintf (pemium, "% s", "\ t"); fprintf (pemium, "% s", "Lokasyon ng Artikulo:"); fprintf (pemium, "% s", Case. Location); fprintf (pemium, "% s", "\ n");
fclose (pemium);
}
printf ("Access Denied / n");
}} mabibigo: kung (led_1 || button_1 || button_2 || button_3) {printf ("apply gpio resource fail! / n"); libsoc_gpio_free (led_1); libsoc_gpio_free (button_1); libsoc_gpio_free (button_2); libsoc_gpio_free (button_3); }
Hakbang 11: Patakbuhin ang Programa
Hakbang 12: Mga Konklusyon
Ang proyekto ay may isang pangako sa hinaharap, dahil maaari itong mapabuti sa isang napaka-epektibo na paraan, ang sensor ay maaaring mabago para sa mga tag ng RFID at sa parehong oras sa RFID ay posible na gumamit ng mga ID card upang subaybayan kung sino ang responsable ng materyal.
Inirerekumendang:
Mga Drawer ng Harvest - NASA Lumalagong lampas sa Earth Contest Entry: 5 Hakbang (na may Mga Larawan)

Mga Harvest Drawer - NASA Lumalagong lampas sa Earth Contest Entry: Buod: Sakay sa international space station, ang mga astronaut ay walang gaanong silid para sa lumalagong pagkain. Ang hydroponic hardin na ito ay dinisenyo upang gumana nang mahusay gamit ang minimum na halaga ng puwang upang anihin ang 30 mga halaman sa isang umiikot na iskedyul sa isang zero-gravi
Magdagdag ng isang IOT Lock sa ANUMANG Drawer !: 4 Mga Hakbang

Magdagdag ng isang IOT Lock sa ANUMANG Drawer !: Kumusta! Makalipas ang ilang sandali nagpasya akong ibahagi ang aking pinakabagong proyekto sa inyong lahat. Ang isang ito ay isang ideya lamang na nakuha ko pagkatapos bumili ng isang murang solenoid lock online, at ito ay naging isang mahusay na proyekto. Kaya, karaniwang ang batayang ideya ay upang gumawa ng isang
Pinagsamang Sistema ng Pamamahala ng Imbentaryo: 10 Hakbang (na may Mga Larawan)

Integrated Inventory Management System: Palagi kong ginusto ang isang abot-kayang paraan upang subaybayan ang lahat sa aking pantry, kaya't ilang buwan na ang nakakaraan nagsimula akong magtrabaho sa isang proyekto na gagawin iyon. Ang layunin ay upang makagawa ng isang simple, abot-kayang sistema na napakadaling gamitin habang stori din
Mga Dider ng Organizer ng Drawer Mula sa Mga Card sa Wallet: 5 Mga Hakbang

Mga Hati ng Organizer ng Drawer Mula sa Mga Card sa Wallet: Ipinapakita sa iyo ng tagubilin na ito kung paano lumikha ng mga bagong divider para sa mga tagabigay ng bahagi ng imbakan ng drawer na may mga card ng loyalty card o iba pang basura sa iyong pitaka. Sinubukan kong magkaroon ng katuturan sa aking kaguluhan na maraming uri ng bolts at turnilyo, at hindi ako nag
Imbentaryo - Mabilis na Pc Diagnostics Ngayon Sumuko, Tingnan sa ibaba: 6 na Hakbang

Imbentaryo - Mabilis na Pc Diagnostics Ngayon Sinusuportahan, Tingnan sa Ibaba: Kung kailangan mong magtrabaho sa isang pc na wala sa harap mo, kailangan mo ng tumpak na imbentaryo. Ang itinuturo na ito ay nagmula sa puro dahil ang isang kasamahan ay nagkakaproblema sa paghanap ng isang driver para sa isang pc. Gagamitin ko ang Aida32 personal mula sa http://majorgeeks.com