Obsah:
- Krok 1: Materiály
- Krok 2: Odrežte kusy pre zásuvku z MDF. (Na dosiahnutie lepších výsledkov použite laserovú rezačku)
- Krok 3: Prilepte všetky diely dohromady a vytvorte zásuvku s dvoma malými zásuvkami a veľkou
- Krok 4: Zaskrutkujte skrutky v strede každej zásuvky
- Krok 5: Keď vŕtačka urobí otvory v zásuvke na zadnej strane, otvor musí mať veľkosť senzora
- Krok 6: Zvárejte každý senzor CNY 70 s medenými drôtmi. (opakujte 4 krát viac)
- Krok 7: Na snímač sa používa špeciálny obvod
- Krok 8: Pripojte mezanínový senzor k Dragon Board 410c. (používa sa na prístup k GPIO)
- Krok 9: Pripojte obvod z Breadboardu k mezaninu
- Krok 10: Napíšte alebo skopírujte kód
- Krok 11: Spustite program
- Krok 12: Závery
Video: Zásobník zásob „Smart Cities Hackathon Qualcomm17“: 13 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
V nasledujúcom dokumente môžete vidieť proces konštrukcie a programovania inteligentnej zásuvky. Táto zásuvka bola naprogramovaná v Dragon Board 410c, s cieľom zlepšiť kvalitu miest. Projekt je súčasťou súťaže „hackathon inteligentných miest Qualcomm 17“.
Myšlienka tohto projektu začala problémom, ktorý vidí len málo ľudí. Ide o stratené a zlé hospodárenie s nástrojmi a materiálom, ktoré poskytujú spoločnosti ako továrne a dokonca aj nemocnice. Na týchto miestach je robotníkom poskytnutý určitý materiál a nástroje na vykonávanie činností, tento materiál a nástroje je potrebné znova použiť, pretože sú drahé alebo majú nedostatok ekonomických zdrojov na ich výmenu.
V nemocniciach sú ľudia, ktorí preberajú kontrolu nad odstraňovaným materiálom, ale keď dôjde k zásahu človeka, dôjde k chybe, ktorá môže viesť k zbytočným výdavkom. Najlepším riešením tohto problému je inteligentná zásuvka schopná udržiavať inventár vypožičaných a vrátených predmetov a zároveň vedieť, kto je za to zodpovedný.
Krok 1: Materiály
Materiál potrebný na projekt je nasledujúci: 1 x Dragon Board 410c
1 x Sensor Mezzanine 96 dosiek pre Dragon Board 410c
1 x Breadboard
1 list MDF (drevovláknitá doska so strednou hustotou) 61 x 122 cm
5 x senzor CNY 70
1 X TIP31B
1 x elektromagnet
1 x 7408
1 x klávesnica
1 x obrazovka
3 x skrutky
Odpory (odroda)
Medené drôty
Lepidlo
Vŕtačka
Krok 2: Odrežte kusy pre zásuvku z MDF. (Na dosiahnutie lepších výsledkov použite laserovú rezačku)
Krok 3: Prilepte všetky diely dohromady a vytvorte zásuvku s dvoma malými zásuvkami a veľkou
Krok 4: Zaskrutkujte skrutky v strede každej zásuvky
Krok 5: Keď vŕtačka urobí otvory v zásuvke na zadnej strane, otvor musí mať veľkosť senzora
Krok 6: Zvárejte každý senzor CNY 70 s medenými drôtmi. (opakujte 4 krát viac)
Krok 7: Na snímač sa používa špeciálny obvod
Krok 8: Pripojte mezanínový senzor k Dragon Board 410c. (používa sa na prístup k GPIO)
Je veľmi dôležité, aby bol tento krok vykonaný s vypnutou dračou doskou, ak nie, môže sa spáliť, okrem toho je potrebné správne vložiť PIN.
Krok 9: Pripojte obvod z Breadboardu k mezaninu
Krok 10: Napíšte alebo skopírujte kód
#include #include #include // #include
#include "libsoc_gpio.h"
#include "libsoc_debug.h" #include "libsoc_board.h"
/ * Vďaka tomuto kúsku kódu uvedeného nižšie tento príklad funguje na všetkých doskách 96 */
bez znamienka int LED_1; // elektroiman
nepodpísané int BUTTON_1; // prvý snímač
nepodpísané int BUTTON_2; // druhý snímač bez znamienka int BUTTON_3; // zatvorenie bez znamienka int BUTTON_4; // tretí snímač
Struct User {
užívateľské meno char [20]; char heslo [20]; } Používateľ;
struct Database {
znak Názov článku [20]; char Poloha [20]; } Databáza;
int senzor1;
int senzor2; int senzor3;
int sensor1_last_state;
int sensor2_last_state; int sensor3_last_state;
užívateľské meno char [50];
char heslo [50];
znak ÁnoNie [40];
FILE *pFILE;
char Áno [20] = {"Áno"};
int running = 1;
_attribute _ ((constructor)) static void _init ()
{board_config *config = libsoc_board_init (); BUTTON_1 = libsoc_board_gpio_id (config, "GPIO-A"); // senzor pästí BUTTON_2 = libsoc_board_gpio_id (config, "GPIO-C"); // druhý snímač BUTTON_3 = libsoc_board_gpio_id (konfigurácia, "GPIO-D"); // zatvorenie stojana BUTTON_4 = libsoc_board_gpio_id (config, "GPIO-B"); // tretí senzor // BUTTON_5 = libsoc_board_gpio_id (konfigurácia, „GPIO-E“);
LED_1 = libsoc_board_gpio_id (konfigurácia, „GPIO-E“); // elektroiman
libsoc_board_free (config); } / * Koniec špeciálneho kódu 96Boards * /
int main ()
{gpio *led_1, *button_1, *button_2, *button_3, *button_4; // int touch; struct Používateľ Karina; štruktúrovaný správca používateľov; strcpy (Karina.username, "Karina Valverde"); strcpy (Karina.password, „Taller Vertical“); strcpy (Manager.username, "The Boss"); strcpy (Manager.password, "ITESM"); štruktúrovaný databázový nástroj; štruktúrované databázové pero; štruktúrovaný databázový prípad; strcpy (Tool. Article_Name, "Tool"); štruktúrovaný databázový nástroj; štruktúrované databázové pero; štruktúrovaný databázový prípad; 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))
{goto failed; } libsoc_gpio_set_direction (led_1, VÝSTUP); libsoc_gpio_set_direction (button_1, VSTUP); libsoc_gpio_set_direction (tlačidlo_2, VSTUP); libsoc_gpio_set_direction (tlačidlo_3, VSTUP); libsoc_gpio_set_direction (tlačidlo_4, VSTUP); // libsoc_gpio_set_direction (tlačidlo_5, VSTUP);
if ((libsoc_gpio_get_direction (led_1)! = VÝSTUP)
|| (libsoc_gpio_get_direction (button_1)! = VSTUP) || (libsoc_gpio_get_direction (button_2)! = VSTUP) || (libsoc_gpio_get_direction (button_3)! = VSTUP) || (libsoc_gpio_get_direction (button_4)! = INPUT)) {goto failed; } senzor1 = libsoc_gpio_get_level (button_1); senzor2 = libsoc_gpio_get_level (button_2); senzor3 = libsoc_gpio_get_level (tlačidlo_4); sensor1_last_state = senzor1; sensor2_last_state = senzor2; sensor3_last_state = senzor3; if (sensor1 == 1) {strcpy (Tool. Location, "Based on Rack"); } else if (sensor1 == 0) {strcpy (Tool. Location, "Nikdy nie je umiestnené v tomto stojane"); } if (sensor2 == 1) {strcpy (Pen. Location, "Based on Rack"); } else if (sensor2 == 0) {strcpy (Pen. Location, "Nikdy neumiestnené v tomto stojane"); } if (sensor3 == 1) {strcpy (Case. Location, "Based on Rack"); } else if (sensor3 == 0) {strcpy (Case. Location, "Nikdy nie je umiestnené v tomto regáli"); } while (running) {libsoc_gpio_set_level (led_1, HIGH); printf ("Zadajte užívateľské meno:"); scanf ("%s", užívateľské meno); printf („Zadajte heslo:“); scanf ("%s", heslo); if (strcmp (užívateľské meno, "Karina") == 0 && strcmp (heslo, "vyšší") == 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); senzor2 = libsoc_gpio_get_level (button_2); senzor3 = libsoc_gpio_get_level (tlačidlo_4); } libsoc_gpio_set_level (led_1, VYSOKÉ); if (sensor1 == 1 && sensor1! = sensor1_last_state) {strcpy (Tool. Location, Karina.username); } else if (sensor1 == 0 && sensor1! = sensor1_last_state) {strcpy (Tool. Location, "Based 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, "Based on Rack"); }
if (sensor3 == 1 && sensor3! = sensor3_last_state) {
strcpy (Case. Location, Karina.username); } else if (sensor3 == 0 && sensor3! = sensor3_last_state) {strcpy (Case. Location, "Based on Rack"); }} else if (strcmp (užívateľské meno, "Boss") == 0 && strcmp (heslo, "ITESM") == 0) {printf ("Chcete vygenerovať textový súbor s databázou? [Áno/Nie] "); scanf ("%s", YesNo); if ((strcmp (YesNo, Yes) == 0)) {// Manager_user (pFILE); pFILE = fopen ("Database.txt", "w"); fprintf (pFILE, "%s", "-------- Rackova databáza ----- / n"); fprintf (pFILE, "%s", "Názov článku:"); fprintf (pFILE, "%s", Tool. Article_Name); fprintf (pFILE, "%s", "\ t"); fprintf (pFILE, "%s", "Umiestnenie článku:"); fprintf (pFILE, "%s", Tool. Location); fprintf (pFILE, "%s", "\ n"); fprintf (pFILE, "%s", "Názov článku:"); fprintf (pFILE, "%s", Pen. Article_Name); fprintf (pFILE, "%s", "\ t"); fprintf (pFILE, "%s", "Umiestnenie článku:"); fprintf (pFILE, "%s", Pen. Location); fprintf (pFILE, "%s", "\ n");
fprintf (pFILE, "%s", "Názov článku:");
fprintf (pFILE, "%s", Case. Article_Name); fprintf (pFILE, "%s", "\ t"); fprintf (pFILE, "%s", "Umiestnenie článku:"); fprintf (pFILE, "%s", Case. Location); fprintf (pFILE, "%s", "\ n");
fclose (pFILE);
}
printf ("Prístup odmietnutý / n");
}} fail: if (led_1 || button_1 || button_2 || button_3) {printf ("apply gpio resource failed! / n"); libsoc_gpio_free (led_1); libsoc_gpio_free (button_1); libsoc_gpio_free (button_2); libsoc_gpio_free (tlačidlo_3); }
Krok 11: Spustite program
Krok 12: Závery
Projekt má budúcnosť sľubnú, pretože sa môže veľmi efektívnym spôsobom zlepšovať, senzory je možné meniť pre štítky RFID a súčasne s RFID je možné pomocou ID kariet monitorovať, kto je za materiál zodpovedný.
Odporúča:
FAKTURÁCIA FAKTURÁCIA A SYSTÉM KONTROLY ZÁSOB: 3 kroky
SYSTÉM FAKTURÁCIE FAKTÚR A ZÁSOBY: S týmito pokynmi vám poskytnem nápad na vytvorenie systému riadenia faktúr a zásob. Používanie prístupu k systému MS. Je to veľmi jednoduché a nepotrebujete ďalšie znalosti počítačov alebo programovania. Ak máte základné znalosti o pani Prístup, tabuľky. formuláre a správy
Integrovaný systém správy zásob: 10 krokov (s obrázkami)
Integrovaný systém správy zásob: Vždy som chcel cenovo dostupný spôsob, ako sledovať všetko v mojej komore, a tak som pred pár mesiacmi začal pracovať na projekte, ktorý by robil práve to. Cieľom bolo vytvoriť jednoduchý a cenovo dostupný systém, ktorý by sa veľmi ľahko používal a zároveň by
Postavte automatický zavlažovací zásobník s výstrahami WiFi pre nastavenia kultivácie: 11 krokov
Postavte si automatickú zavlažovaciu nádrž s výstrahami WiFi pre kultivačné nastavenia: V tomto projekte si urobíte svojpomocný návod, ako vytvoriť automatickú zavlažovaciu nádrž s WiFi výstrahami pre kultiváciu alebo pre automatický zavlažovací systém pre vaše zvieratá, ako sú psy, mačky, kurčatá atď
D4E1 - DIY - Pomocná technológia: Nastaviteľný zásobník na invalidný vozík: 7 krokov (s obrázkami)
D4E1 - DIY - Pomocná technológia: Nastaviteľný zásobník na invalidný vozík: Kjell má vrodené postihnutie: dyskinetickú kvadruparézu a nie je schopný sám jesť. Potrebuje pomoc monitora, ergoterapeuta, ktorý ho kŕmi. To má dva problémy: 1) Ergoterapeut sedí za volantom
DIY Počítačový zásobník na papierový zásobník: 6 krokov
Počítačové puzdro na papierový zásobník: Toto je môj prvý návod. Cieľom tohto projektu bolo postaviť malú počítačovú skriňu k počítačovému autu. Používanie malého dotykového monitora a aplikácií ako multimédií (MP3, video, fotografie atď.), GPS, bezdrôtových sietí, sledovania,