
Агуулгын хүснэгт:
- Алхам 1: Материал
- Алхам 2: БСХС -ийн шүүгээнд зориулсан хэсгүүдийг хайчилж ав. (Илүү сайн үр дүнд хүрэхийн тулд лазер таслагч ашиглана уу)
- Алхам 3: Хоёр ширхэг жижиг шүүгээ, том хэмжээтэй шургуулга үүсгэхийн тулд бүх хэсгүүдийг хооронд нь наа
- Алхам 4: шургуулга бүрийн дунд боолтыг шургуул
- Алхам 5: Өрөмдлөгийн арын хэсэгт шургуулганд нүх гаргавал нүх нь мэдрэгчийн хэмжээтэй байх ёстой
- Алхам 6: CNY 70 мэдрэгч бүрийг зэс утсаар гагнана. (4 удаа давтах)
- Алхам 7: Мэдрэгчийн хувьд тусгай хэлхээг ашигладаг
- Алхам 8: Мэдрэгч мезаниныг Dragon Board 410c -т холбоно уу. (GPIO руу нэвтрэхэд ашигладаг)
- Алхам 9: Цахилгаан самбарыг Mezzanine руу холбоно уу
- Алхам 10: Код бичих эсвэл хуулах
- Алхам 11: Хөтөлбөрийг ажиллуулна уу
- Алхам 12: Дүгнэлт
2025 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2025-01-23 15:00

Дараагийн баримт бичигт та ухаалаг шүүгээний бүтэц, програмчлалын явцыг харж болно. Энэхүү шүүгээ нь хотын чанарыг сайжруулах зорилгоор Dragon Board 410c програмчлагдсан байв. Энэхүү төсөл нь "Qualcomm 17 ухаалаг хотуудын hackathon" уралдааны нэг хэсэг юм.
Энэхүү төслийн санаа нь маш цөөхөн хүн хардаг асуудлаас эхэлсэн бөгөөд энэ нь үйлдвэр, тэр байтугай эмнэлэг гэх мэт компаниудын өгдөг багаж хэрэгсэл, материалын алдагдсан, муу менежмент юм. Эдгээр газруудад ажилчдад үйл ажиллагаа явуулахын тулд зарим материал, багаж хэрэгслийг өгдөг бөгөөд энэ материал, багаж хэрэгслийг үнэтэй эсвэл солих эдийн засгийн нөөц хомс байдаг тул дахин ашиглах ёстой.
Эмнэлэгт зайлуулж буй материалыг хяналтандаа авдаг хүмүүс байдаг боловч хүний оролцоотой байхад алдаа гардаг бөгөөд энэ нь шаардлагагүй зардал гаргахад хүргэдэг. Энэ асуудлыг шийдэх хамгийн сайн шийдэл бол зээлсэн, буцааж авсан объектуудын тооллогыг хөтлөх чадвартай, мөн хариуцлагыг хэн хүлээхээ мэдэх чадвартай ухаалаг шүүгээ юм.
Алхам 1: Материал
Төсөлд шаардлагатай материал бол дараахь зүйл юм: 1 x Dragon Board 410c
1 x Sensor Mezzanine 96 Dragon Board 410c самбар
1 х талхны самбар
1 x БСХС (дунд нягтралтай шилэн хавтан) хуудас 61 x 122 см
5 x CNY 70 мэдрэгч
1 X TIP31B
1 х цахилгаан соронз
1 x 7408
1 x гар
1 x дэлгэц
3 х шураг
Эсэргүүцэл (төрөл бүрийн)
Зэс утас
Цавуу
Өрөмдлөг
Алхам 2: БСХС -ийн шүүгээнд зориулсан хэсгүүдийг хайчилж ав. (Илүү сайн үр дүнд хүрэхийн тулд лазер таслагч ашиглана уу)

Алхам 3: Хоёр ширхэг жижиг шүүгээ, том хэмжээтэй шургуулга үүсгэхийн тулд бүх хэсгүүдийг хооронд нь наа
Алхам 4: шургуулга бүрийн дунд боолтыг шургуул

Алхам 5: Өрөмдлөгийн арын хэсэгт шургуулганд нүх гаргавал нүх нь мэдрэгчийн хэмжээтэй байх ёстой

Алхам 6: CNY 70 мэдрэгч бүрийг зэс утсаар гагнана. (4 удаа давтах)

Алхам 7: Мэдрэгчийн хувьд тусгай хэлхээг ашигладаг

Алхам 8: Мэдрэгч мезаниныг Dragon Board 410c -т холбоно уу. (GPIO руу нэвтрэхэд ашигладаг)

Энэ алхамыг луугийн самбарыг унтраасан тохиолдолд хийх нь маш чухал бөгөөд хэрэв энэ нь шатахгүй бол бүх ПИН кодыг зөв байрлуулах шаардлагатай болно.
Алхам 9: Цахилгаан самбарыг Mezzanine руу холбоно уу




Алхам 10: Код бичих эсвэл хуулах
#оруулах #оруулах #оруулах // #оруулах
#"libsoc_gpio.h" -г оруулна уу
#"libsoc_debug.h" -ийг оруулах " #libsoc_board.h" -ийг оруулах
/ * Доорх энэ бит код нь энэ жишээг бүх 96Boards дээр ажиллуулдаг */
гарын үсэг зураагүй int LED_1; // цахилгаан иман
unsigned int BUTTON_1; // анхны мэдрэгч
unsigned int BUTTON_2; // хоёр дахь мэдрэгч unsigned int BUTTON_3; // хаагдаагүй тэмдэггүй int BUTTON_4; // гурав дахь мэдрэгч
бүтэц хэрэглэгч {
char хэрэглэгчийн нэр [20]; char нууц үг [20]; } Хэрэглэгч;
бүтэц мэдээллийн сан {
char Article_Name [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];
FILE *pFILE;
char Тийм [20] = {"Тийм"};
int ажиллаж байгаа = 1;
_attribute _ ((байгуулагч)) статик void _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 main ()
{gpio *led_1, *button_1, *button_2, *button_3, *button_4; // int touch; бүтэц Хэрэглэгч Карина; Хэрэглэгчийн менежерийн бүтэц; strcpy (Karina.username, "Karina Valverde"); strcpy (Karina.password, "Өндөр босоо"); strcpy (Manager.username, "The Boss"); strcpy (Manager.password, "ITESM"); өгөгдлийн сангийн бүтэц; өгөгдлийн сангийн үзэг; өгөгдлийн сангийн бүтэц; strcpy (Tool. Article_Name, "Tool"); өгөгдлийн сангийн бүтэц; өгөгдлийн сангийн үзэг; өгөгдлийн сангийн бүтэц; 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);
if ((led_1 == NULL) || (button_1 == NULL) || (button_2 == NULL) || (button_3 == NULL) || (button_4 == NULL))
{амжилтгүй болох; } 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)! = INPUT) || (libsoc_gpio_get_direction (button_2)! = INPUT) || (libsoc_gpio_get_direction (button_3)! = INPUT) || (libsoc_gpio_get_direction (button_4)! = INPUT)) {амжилтгүй болсон; } sensor1 = libsoc_gpio_get_level (button_1); sensor2 = libsoc_gpio_get_level (button_2); sensor3 = libsoc_gpio_get_level (button_4); sensor1_last_state = мэдрэгч1; sensor2_last_state = мэдрэгч2; sensor3_last_state = мэдрэгч3; if (sensor1 == 1) {strcpy (Tool. Location, "Rack дээр байрладаг"); } if if (sensor1 == 0) {strcpy (Tool. Location, "Энэ тавиур дээр хэзээ ч тавиагүй"); } if (sensor2 == 1) {strcpy (Pen. Location, "Rack дээр байрладаг"); } if if (sensor2 == 0) {strcpy (Pen. Location, "Энэ тавиур дээр хэзээ ч байрлуулаагүй"); } if (sensor3 == 1) {strcpy (Case. Location, "Rack дээр байрладаг"); } if if (sensor3 == 0) {strcpy (Case. Location, "Энэ тавиур дээр хэзээ ч байрлуулаагүй"); } байхад (ажиллаж байгаа) {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); sensor2 = libsoc_gpio_get_level (button_2); sensor3 = libsoc_gpio_get_level (button_4); } libsoc_gpio_set_level (led_1, HIGH); if (sensor1 == 1 && sensor1! = sensor1_last_state) {strcpy (Tool. Location, Karina.username); } if if (sensor1 == 0 && sensor1! = sensor1_last_state) {strcpy (Tool. Location, "Rack дээр байрладаг"); } if (sensor2 == 1 && sensor2! = sensor2_last_state) {strcpy (Pen. Location, Karina.username); } if if (sensor2 == 0 && sensor2! = sensor2_last_state) {strcpy (Pen. Location, "Rack дээр байрладаг"); }
хэрэв (sensor3 == 1 && sensor3! = sensor3_last_state) {
strcpy (Case. Location, Karina.username); } if if (sensor3 == 0 && sensor3! = sensor3_last_state) {strcpy (Case. Location, "Rack дээр байрладаг"); }} else if (strcmp (хэрэглэгчийн нэр, "Boss") == 0 && strcmp (нууц үг, "ITESM") == 0) {printf ("Та мэдээллийн сантай текст файл үүсгэхийг хүсч байна уу? [Тийм/Үгүй] "); scanf ("%s", Тийм Үгүй); if ((strcmp (YesNo, Yes) == 0)) {// Manager_user (pFILE); pFILE = fopen ("Database.txt", "w"); fprintf (pFILE, "%s", "-------- Rack-ийн мэдээллийн сан ----- / n"); fprintf (pFILE, "%s", "Нийтлэлийн нэр:"); fprintf (pFILE, "%s", Tool. Article_Name); fprintf (pFILE, "%s", "\ t"); fprintf (pFILE, "%s", "Нийтлэлийн байршил:"); fprintf (pFILE, "%s", Tool. Location); fprintf (pFILE, "%s", "\ n"); fprintf (pFILE, "%s", "Нийтлэлийн нэр:"); fprintf (pFILE, "%s", Pen. Article_Name); fprintf (pFILE, "%s", "\ t"); fprintf (pFILE, "%s", "Нийтлэлийн байршил:"); fprintf (pFILE, "%s", Pen. Location); fprintf (pFILE, "%s", "\ n");
fprintf (pFILE, "%s", "Нийтлэлийн нэр:");
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");
}} амжилтгүй болсон: хэрэв (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); }
Алхам 11: Хөтөлбөрийг ажиллуулна уу
Алхам 12: Дүгнэлт
Төсөл нь ирээдүйтэй ирээдүйтэй бөгөөд үүнийг маш үр дүнтэй сайжруулж чаддаг тул мэдрэгчийг RFID -ийн хаягаар сольж болох бөгөөд RFID -ийн тусламжтайгаар тухайн материалыг хариуцаж буй этгээдийг хянахын тулд иргэний үнэмлэх ашиглах боломжтой юм.
Зөвлөмж болгож буй:
Дахин боловсруулсан материалаас зөөврийн гагнуурын станц. / Estación De Soldadura Portátil Hecha Con материалын боловсруулалт: 8 алхам (зурагтай)

Дахин боловсруулсан материалаас зөөврийн гагнуурын станц. / Estación De Soldadura Portátil Hecha Con Material Reciclado: Аав нь DIY соёлыг шүтэн бишрэгч байсан шигээ гайхалтай зураач, адал явдалт хүн байсан. Тэр ганцаараа байшинд тавилга, хувцасны шүүгээ сайжруулах, эртний чийдэнг эргүүлэх гэх мэт олон өөрчлөлт оруулсан, тэр ч байтугай аялалын зориулалтаар VW комби вангаа өөрчилсөн
Радио FM материалын Reciclados + Тайлбар 3D: 8 алхам

Radio FM Materiales Reciclados + Impresión 3D: Hola, este es mi primer зааварчилгаа, Tambi é n es mi autoregalo para esta navidad, to radio radio la tenia un poco reconada por los fen ó menos MP3 y streaming, el tema es que. тэр радио радиогоор харьяалагддаг
Бараа материалын менежментийн нэгдсэн систем: 10 алхам (зурагтай)

Бараа материалын менежментийн нэгдсэн систем: Би агуулахынхаа бүх зүйлийг хянаж байх боломжийн аргыг үргэлж хүсч байсан тул хэдэн сарын өмнө би үүнийг хийх төсөл дээр ажиллаж эхэлсэн. Зорилго нь ашиглахад тун хялбар, хямд үнэтэй системийг бий болгох явдал байв
Дахин боловсруулж, олсон материалын аварга том кинетик роботын баримал: 5 алхам (зурагтай)

Дахин боловсруулж, олсон материалаас авсан аварга том кинетик роботын баримал: Энэхүү зааварчилгаа нь "Ерөнхий хог хаягдал" нэртэй роботын баримлыг бүтээхэд шаардлагатай зарим алхмуудыг хийх болно. Тэрээр өөрийн бүтээсэн олон аврагдсан, олдсон объектуудаас нэрээ авдаг. Генерал бол олон барималчдын нэг юм
Түрийвчний картаас шургуулга зохион байгуулагч хуваагч: 5 алхам

Түрийвчний картаас шургуулга зохион байгуулагчийг хуваах: Энэ заавар нь түрийвчээ хадгалах дэлгүүрийн үнэнч карт эсвэл бусад хог хаягдал бүхий шүүгээний хэсгийг хадгалах зохион байгуулагчдад хэрхэн шинэ хуваалт үүсгэхийг танд харуулах болно. Би хэд хэдэн төрлийн боолт, эрэг, би тэгээгүй