ዝርዝር ሁኔታ:
- ደረጃ 1: ቁሳቁሶች
- ደረጃ 2 በኤምዲኤፍ ውስጥ ለመሳቢያ ክፍሎቹን ይቁረጡ። (ለተሻለ ውጤት የጨረር መቁረጫ ይጠቀሙ)
- ደረጃ 3 በሁለት ትናንሽ መሳቢያዎች እና በትልቁ መሳቢያ ለመሳል ሁሉንም ቁርጥራጮች በአንድ ላይ ይለጥፉ።
- ደረጃ 4 - በእያንዳንዱ መሳቢያ መሃከል ላይ ያሉትን መከለያዎች ይከርክሙ።
- ደረጃ 5 - ከኋላ በኩል ባለው መሳቢያ በኩል ቀዳዳውን ያድርጉ ቀዳዳው የአነፍናፊው መጠን መሆን አለበት።
- ደረጃ 6: እያንዳንዱ ዳሳሽ CNY 70 ን ከመዳብ ሽቦዎች ጋር ያዙ። (4 ጊዜ ተጨማሪ ይድገሙ)
- ደረጃ 7: ልዩ ወረዳ ለሴንሰር ያገለግላል።
- ደረጃ 8: ዳሳሽ Mezzanine ን ወደ ዘንዶ ቦርድ 410c ያገናኙ። (GPIO ን ለመድረስ ያገለግላል)
- ደረጃ 9 - የወረዳውን ከዳቦ ሰሌዳ ወደ ሜዛኒን ያገናኙ
- ደረጃ 10 - ኮዱን ይፃፉ ወይም ይቅዱ።
- ደረጃ 11: ፕሮግራሙን ያሂዱ።
- ደረጃ 12 መደምደሚያዎች
ቪዲዮ: የእቃ መጫኛ መሳቢያ “ስማርት ከተሞች ሃክታቶን Qualcomm17” 13 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
በሚቀጥለው ሰነድ ውስጥ የማሰብ ችሎታ ያለው መሳቢያ የግንባታ እና የፕሮግራሙን ሂደት ማየት ይችላሉ። ይህ መሳቢያ የከተሞችን ጥራት የማሻሻል ዓላማ ያለው በዘንዶ ቦርድ 410 ሐ ውስጥ ፕሮግራም ተይዞ ነበር። ፕሮጀክቱ የውድድሩ አካል ነው “ብልጥ ከተሞች ሃክታቶን Qualcomm 17”።
የዚህ ፕሮጀክት ሀሳብ የተጀመረው በጣም ጥቂት ሰዎች በሚያዩት ችግር ነው ፣ ይህም እንደ ፋብሪካዎች እና እንደ ሆስፒታሎች ባሉ ኩባንያዎች የሚቀርበው የጠፋ እና መጥፎ የመሣሪያዎች እና የቁሳቁስ አያያዝ ነው። በእነዚህ ቦታዎች አንዳንድ ቁሳቁሶች እና መሳሪያዎች ለሠራተኞቹ እንቅስቃሴዎችን እንዲያደርጉ ይሰጣቸዋል ፣ ይህ ቁሳቁስ እና መሣሪያዎች ውድ በመሆናቸው ወይም እነሱን ለመተካት ኢኮኖሚያዊ ሀብቶች እጥረት በመኖራቸው እንደገና ጥቅም ላይ መዋል አለባቸው።
በሆስፒታሎች ውስጥ የተወገዱትን ቁሳቁሶች የሚቆጣጠሩ ሰዎች አሉ ፣ ግን የሰው ጣልቃ ገብነት ሲኖር ስህተቱ አለ ፣ ይህም ወደ አላስፈላጊ ወጪዎች ሊያመራ ይችላል። ለዚህ ችግር ከሁሉ የተሻለው መፍትሔ ተበድረው የተመለሱ እና በተመሳሳይ ጊዜ ተጠያቂው ማን እንደሆነ የሚያውቁ ዕቃዎችን ዝርዝር የመያዝ ችሎታ ያለው አስተዋይ መሳቢያ ነው።
ደረጃ 1: ቁሳቁሶች
ለፕሮጀክቱ የሚያስፈልገው ቁሳቁስ ቀጣዩ 1 x Dragon Board 410c ነው
1 x ዳሳሽ Mezzanine 96 ቦርዶች ለ Dragon ቦርድ 410c
1 x የዳቦ ሰሌዳ
1 x ኤምዲኤፍ (መካከለኛ ጥግግት ፋይበርቦርድ) ሉህ 61 x 122 ሳ.ሜ
5 x ዳሳሽ CNY 70
1 ኤክስ TIP31B
1 x ኤሌክትሮማግኔት
1 x 7408
1 x የቁልፍ ሰሌዳ
1 x ማያ ገጽ
3 x ብሎኖች
ተቃውሞዎች (የተለያዩ)
የመዳብ ሽቦዎች
ሙጫ
ቁፋሮ
ደረጃ 2 በኤምዲኤፍ ውስጥ ለመሳቢያ ክፍሎቹን ይቁረጡ። (ለተሻለ ውጤት የጨረር መቁረጫ ይጠቀሙ)
ደረጃ 3 በሁለት ትናንሽ መሳቢያዎች እና በትልቁ መሳቢያ ለመሳል ሁሉንም ቁርጥራጮች በአንድ ላይ ይለጥፉ።
ደረጃ 4 - በእያንዳንዱ መሳቢያ መሃከል ላይ ያሉትን መከለያዎች ይከርክሙ።
ደረጃ 5 - ከኋላ በኩል ባለው መሳቢያ በኩል ቀዳዳውን ያድርጉ ቀዳዳው የአነፍናፊው መጠን መሆን አለበት።
ደረጃ 6: እያንዳንዱ ዳሳሽ CNY 70 ን ከመዳብ ሽቦዎች ጋር ያዙ። (4 ጊዜ ተጨማሪ ይድገሙ)
ደረጃ 7: ልዩ ወረዳ ለሴንሰር ያገለግላል።
ደረጃ 8: ዳሳሽ Mezzanine ን ወደ ዘንዶ ቦርድ 410c ያገናኙ። (GPIO ን ለመድረስ ያገለግላል)
ይህ እርምጃ ከዘንዶው ቦርድ ጠፍቶ መደረጉ በጣም አስፈላጊ ነው ፣ ካልሆነ ሊቃጠል ይችላል ፣ ከሁሉም ፒን በተጨማሪ በትክክል መቀመጥ አለበት።
ደረጃ 9 - የወረዳውን ከዳቦ ሰሌዳ ወደ ሜዛኒን ያገናኙ
ደረጃ 10 - ኮዱን ይፃፉ ወይም ይቅዱ።
#አካትት #አካትት #አካትት // #ያካትቱ
#"libsoc_gpio.h" ን ያካትቱ
#"libsoc_debug.h" #ያካትቱ "libsoc_board.h"
/ * ከዚህ በታች ያለው ትንሽ ኮድ ይህ ምሳሌ በሁሉም 96 ቦርድ * ላይ እንዲሠራ ያደርገዋል/
ያልተፈረመ int LED_1; // ኤሌክትሮ ኢማን
ያልተፈረመ int BUTTON_1; // የመጀመሪያ ዳሳሽ
ያልተፈረመ int BUTTON_2 ፤ // ሁለተኛ ዳሳሽ ያልተመዘገበ int BUTTON_3; // ያልተፈረመ int int BUTTON_4; // ሦስተኛ ዳሳሽ
የተዋቀረ ተጠቃሚ {
የቻር የተጠቃሚ ስም [20]; የቻር የይለፍ ቃል [20]; } ተጠቃሚ;
የተዋቀረ የውሂብ ጎታ {
char Article_Name [20]; ቻር አካባቢ [20]; } የውሂብ ጎታ;
int ዳሳሽ 1;
int ዳሳሽ 2; int sensor3;
int sensor1_last_state;
int sensor2_last_state; int sensor3_last_state;
የቻር የተጠቃሚ ስም [50];
የቻር የይለፍ ቃል [50];
char YesNo [40];
FILE *PFILE;
ቻር አዎ [20] = {«አዎ»};
int ሩጫ = 1;
_ አበርክቱ _ ((ግንበኛ)) የማይንቀሳቀስ ባዶ _init ()
{board_config *config = libsoc_board_init (); BUTTON_1 = libsoc_board_gpio_id (ውቅረት ፣ "GPIO-A") ፤ // የጡጫ ዳሳሽ BUTTON_2 = libsoc_board_gpio_id (config, "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 (ውቅር); } / * የ 96 ቦርዶች ልዩ ኮድ * /
int ዋና ()
{gpio *led_1 ፣ *button_1 ፣ *button_2 ፣ *button_3 ፣ *button_4 ፤ // ንክኪ; መዋቅራዊ ተጠቃሚ ካሪና; መዋቅራዊ የተጠቃሚ አስተዳዳሪ; strcpy (Karina.username ፣ “ካሪና ቫልቨርዴ”); strcpy (ካሪና የይለፍ ቃል ፣ “ከፍ ያለ አቀባዊ”); strcpy (አስተዳዳሪ. የተጠቃሚ ስም ፣ “አለቃው”); strcpy (አስተዳዳሪ. የይለፍ ቃል ፣ “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); አዝራር_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))
{goto fail; } libsoc_gpio_set_direction (led_1 ፣ OUTPUT) ፤ libsoc_gpio_set_direction (button_1 ፣ INPUT) ፤ libsoc_gpio_set_direction (አዝራር_2 ፣ INPUT); libsoc_gpio_set_direction (አዝራር_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)) {goto fail; } አነፍናፊ 1 = 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; ከሆነ (አነፍናፊ 1 == 1) {strcpy (Tool. Location ፣ “በመደርደሪያ ላይ የሚገኝ”); } ሌላ ከሆነ (sensor1 == 0) {strcpy (Tool. Location ፣ “በዚህ መደርደሪያ ውስጥ በጭራሽ አልተቀመጠም”) ፤ } ከሆነ (sensor2 == 1) {strcpy (Pen. Location ፣ “በመደርደሪያ ላይ የሚገኝ”); } ሌላ ከሆነ (sensor2 == 0) {strcpy (Pen. Location ፣ “በዚህ መደርደሪያ ውስጥ በጭራሽ አልተቀመጠም”) ፤ } ከሆነ (sensor3 == 1) {strcpy (Case. Location ፣ "Rack on Located"); } ሌላ ከሆነ (sensor3 == 0) {strcpy (Case. Location ፣ “በዚህ መደርደሪያ ውስጥ በጭራሽ አልተቀመጠም”) ፤ } (በመሮጥ ላይ) {libsoc_gpio_set_level (led_1 ፣ HIGH) ፤ printf ("እባክዎን የተጠቃሚ ስም ያስገቡ:"); ስካንፍ ("%s" ፣ የተጠቃሚ ስም); printf ("እባክዎን የይለፍ ቃል ያስገቡ"); ስካንፍ ("%s" ፣ የይለፍ ቃል); ከሆነ (strcmp (የተጠቃሚ ስም ፣ “ካሪና”) == 0 && strcmp (የይለፍ ቃል ፣ “ከፍ ያለ”) == 0) {libsoc_gpio_set_level (led_1 ፣ LOW); libsoc_gpio_set_level (led_1 ፣ LOW) ፤ ሳለ (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) ፤ ከሆነ (sensor1 == 1 && sensor1! = sensor1_last_state) {strcpy (Tool. Location ፣ Karina.username); } ሌላ ከሆነ (sensor1 == 0 && sensor1! = sensor1_last_state) {strcpy (Tool. Location ፣ "Rack on Located"); } ከሆነ (sensor2 == 1 && sensor2! = sensor2_last_state) {strcpy (Pen. Location ፣ Karina.username); } ሌላ ከሆነ (sensor2 == 0 && sensor2! = sensor2_last_state) {strcpy (Pen. Location ፣ "Rack on Located"); }
ከሆነ (sensor3 == 1 && sensor3! = sensor3_last_state) {
strcpy (ጉዳይ። ቦታ ፣ ካሪና። የተጠቃሚ ስም); } ሌላ ከሆነ (sensor3 == 0 && sensor3! = sensor3_last_state) {strcpy (Case. Location ፣ "Rack on Located"); }} ሌላ ከሆነ (strcmp (የተጠቃሚ ስም ፣ “አለቃ”) == 0 && strcmp (የይለፍ ቃል ፣ “ITESM”) == 0) {printf (“የውሂብ ጎታውን የያዘ የጽሑፍ ፋይል ለማመንጨት ይፈልጋሉ? [አዎ/አይደለም] "); scanf ("%s", YesNo); ከሆነ ((strcmp (YesNo, Yes) == 0)) {// Manager_user (pFILE); pFILE = fopen ("Database.txt", "w"); fprintf (pFILE ፣ "%s" ፣ "-------- Rack's Database ----- / 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 ("የ gpio ሃብት አልተሳካም! / n") ፤ libsoc_gpio_free (led_1); libsoc_gpio_free (button_1); libsoc_gpio_free (አዝራር_2); libsoc_gpio_free (አዝራር_3); }
ደረጃ 11: ፕሮግራሙን ያሂዱ።
ደረጃ 12 መደምደሚያዎች
በጣም ውጤታማ በሆነ መንገድ ሊሻሻል ስለሚችል ፕሮጀክቱ የወደፊት ተስፋ አለው ፣ አነፍናፊዎቹ ለ RFID´S መለያዎች ሊለወጡ ይችላሉ እና በተመሳሳይ ጊዜ ከ RFID ጋር ለቁሳዊው ኃላፊነት ያለው ማንነትን ለመቆጣጠር የመታወቂያ ካርዶችን መጠቀም ይቻላል።
የሚመከር:
ስማርት ዴስክ የ LED መብራት - ስማርት መብራት ወ/ አርዱinoኖ - የኒዮፒክሰል የሥራ ቦታ 10 ደረጃዎች (ከስዕሎች ጋር)
ስማርት ዴስክ LED መብራት | ስማርት መብራት ወ/ አርዱinoኖ | ኒዮፒክስልስ የሥራ ቦታ - አሁን አንድ ቀን እኛ ብዙ ጊዜ በቤት ውስጥ እያጠፋን ፣ እያጠናን እና ምናባዊ ሥራን እየሠራን ነው ፣ ስለዚህ የሥራ ቦታችንን በብጁ እና በዘመናዊ የመብራት ስርዓት አርዱዲኖ እና በ Ws2812b LEDs ላይ የበለጠ ለምን አናደርግም። እዚህ እንዴት የእርስዎን ስማርት እንደሚገነቡ አሳያችኋለሁ። ዴስክ LED መብራት
የእቃ መጫኛ ጠረጴዛ የጊታር ማጉያ 5 ደረጃዎች (ከስዕሎች ጋር)
የፓሌት ጠረጴዛ የጊታር ማጉያ - ይህ ፕሮጀክት የተጀመረው ከጥቂት ዓመታት በፊት በሠራሁት በ pallet የቡና ጠረጴዛ ነው። ከዚያን ጊዜ ጀምሮ ላፕቶፕን ለማጫወት ድምጽ ማጉያዎችን ጨመርኩለት ፣ እና አሁን በዚህ ጊዜ የጊታር ማጉያ ማከል እፈልግ ነበር። ይህንን ሁሉ ለማድረግ ምክንያቱ
የሃርድዌር እና የሶፍትዌር ኡሁ ስማርት መሣሪያዎች ፣ ቱያ እና ብሮድሊንክ ኤልኢዲቢብ ፣ ሶኖፍ ፣ ቢ ኤስዲ 3 ስማርት ተሰኪ - 7 ደረጃዎች
ሃርድዌር እና ሶፍትዌር ኡሁ ስማርት መሣሪያዎች ፣ ቱያ እና ብሮድሊንክ LEDbulb ፣ Sonoff ፣ BSD33 Smart Plug: በዚህ መመሪያ ውስጥ እኔ ብዙ ብልጥ መሣሪያዎችን በራሴ firmware እንዴት እንደበራሁ አሳይሻለሁ ፣ ስለዚህ በ ‹MQTT› በ ‹Openhab setup› በኩል ልቆጣጠራቸው እችላለሁ። አዲስ መሣሪያዎችን ስጠለፋቸው በእርግጥ በእርግጥ ብጁን ለማብራት ሌሎች በሶፍትዌር ላይ የተመሰረቱ ዘዴዎች አሉ
በማዕድን ውስጥ የእቃ መጫኛ እንዴት እንደሚሠራ -12 ደረጃዎች
በማዕድን ውስጥ እንዴት የእቃ መጫኛ ሥራን መሥራት እንደሚቻል-ይህ በማዕድን ውስጥ አንድ ንጥል sorter እንዴት መሥራት እንደሚቻል ባለ 11-ደረጃ ትምህርት ነው
ቲቪኤ ቁጥጥር የሚደረግበት የእቃ መጫኛ ቀበቶ ቀበቶ ላይ የተመሠረተ ቀለም ተሸካሚ 8 ደረጃዎች
ቲቪኤ ቁጥጥር የሚደረግበት የእቃ መጫኛ ቀበቶ ቀበቶ ላይ የተመሠረተ ቀለም ተሸካሚ - የኤሌክትሮኒክስ መስክ ሰፊ ትግበራ አለው። እያንዳንዱ ትግበራ የተለየ ወረዳ እና የተለየ ሶፍትዌር እንዲሁም የሃርድዌር ውቅር ይፈልጋል። ማይክሮ መቆጣጠሪያ የተለያዩ ትግበራዎች በሚሠሩበት ቺፕ ውስጥ የተካተተ የተቀናጀ ሞዴል ነው