Orodha ya maudhui:

Droo ya Hesabu "Miji mahiri Hackathon Qualcomm17": Hatua 13
Droo ya Hesabu "Miji mahiri Hackathon Qualcomm17": Hatua 13

Video: Droo ya Hesabu "Miji mahiri Hackathon Qualcomm17": Hatua 13

Video: Droo ya Hesabu
Video: CS50 2016 Week 0 at Yale (pre-release) 2024, Julai
Anonim
Droo ya hesabu
Droo ya hesabu

Katika hati inayofuata, unaweza kuona mchakato wa ujenzi na programu ya droo yenye akili. Droo hii iliwekwa kwenye Bodi ya Joka 410c, kwa kusudi la kuboresha ubora wa miji. Mradi huo ni sehemu ya mashindano "smart cities hackathon Qualcomm 17".

Wazo la mradi huu lilianza na shida ambayo watu wachache sana wanaona, ambayo ni kupoteza na kudhibiti vibaya zana na nyenzo ambazo hutolewa na kampuni kama vile viwanda na hata hospitali. Katika maeneo haya, vifaa na zana hutolewa kwa wafanyikazi kufanya shughuli, nyenzo na vifaa hivi lazima zitumiwe tena kwa sababu ni ghali au ukosefu wa rasilimali za kiuchumi kuzibadilisha.

Katika hospitali, kuna watu ambao wanadhibiti vifaa ambavyo huondolewa, lakini wakati kuna uingiliaji wa kibinadamu kuna hitilafu, ambayo inaweza kusababisha gharama zisizohitajika. Suluhisho bora ya shida hii ni droo yenye akili inayoweza kudumisha hesabu ya vitu ambavyo vimekopwa na kurudishwa na wakati huo huo kujua ni nani anayehusika.

Hatua ya 1: Vifaa

Nyenzo zinazohitajika kwa mradi ni zifuatazo: 1 x Bodi ya Joka 410c

1 x Sensor Mezzanine Bodi 96 za Bodi ya Joka 410c

1 x Bodi ya mkate

1 x MDF (Wastani wa Uzito wa Nyuzi) karatasi 61 x 122 cm

Sura ya 5 x CNY 70

1 X TIP31B

1 x umeme wa umeme

1 x 7408

1 x Kinanda

1 x skrini

3 x screws

Resistances (anuwai)

Waya za shaba

Gundi

Kuchimba

Hatua ya 2: Kata vipande kwa Droo katika MDF. (Kwa Matokeo Bora Tumia Mkataji wa Laser)

Kata vipande kwa Droo katika MDF. (Kwa Matokeo Bora Tumia Mkataji wa Laser)
Kata vipande kwa Droo katika MDF. (Kwa Matokeo Bora Tumia Mkataji wa Laser)

Hatua ya 3: Bandika vipande vyote pamoja ili kuunda Droo yenye Droo mbili ndogo na Kubwa

Hatua ya 4: Parafua screws katikati ya kila droo

Piga screws katikati ya kila droo
Piga screws katikati ya kila droo

Hatua ya 5: Pamoja na Drill Tengeneza Mashimo Kupitia Droo katika Upande wa Nyuma, Shimo Lazima Liwe Saizi ya Sensorer

Pamoja na Drill Tengeneza Mashimo Kupitia Droo Kwenye Upande wa Nyuma, Shimo Lazima Liwe Saizi ya Sensorer
Pamoja na Drill Tengeneza Mashimo Kupitia Droo Kwenye Upande wa Nyuma, Shimo Lazima Liwe Saizi ya Sensorer

Hatua ya 6: Weld Kila Sensor CNY 70 Na waya za Shaba. (rudia mara 4 Zaidi)

Weld Kila Sensor CNY 70 Na waya za Shaba. (rudia mara 4 Zaidi)
Weld Kila Sensor CNY 70 Na waya za Shaba. (rudia mara 4 Zaidi)

Hatua ya 7: Mzunguko wa Especial Unatumika kwa Sensor

Mzunguko wa Especial Unatumika kwa Sensor
Mzunguko wa Especial Unatumika kwa Sensor

Hatua ya 8: Unganisha Sensor Mezzanine na Bodi ya Joka 410c. (kutumika kufikia GPIO)

Unganisha Sensor Mezzanine kwenye Bodi ya Joka 410c. (kutumika kufikia GPIO)
Unganisha Sensor Mezzanine kwenye Bodi ya Joka 410c. (kutumika kufikia GPIO)

Ni muhimu sana kwamba hatua hii ifanyike na ubao wa joka uzaliwe, ikiwa sio inaweza kuwaka, badala ya PIN zote zinahitaji kuwekwa kwa usahihi.

Hatua ya 9: Unganisha Mzunguko Kutoka kwa Ubao wa Mkate hadi Mezzanine

Unganisha Mzunguko Kutoka kwa Mkate wa Mkate hadi Mezzanine
Unganisha Mzunguko Kutoka kwa Mkate wa Mkate hadi Mezzanine
Unganisha Mzunguko Kutoka kwa Mkate wa Mkate hadi Mezzanine
Unganisha Mzunguko Kutoka kwa Mkate wa Mkate hadi Mezzanine
Unganisha Mzunguko Kutoka kwa Mkate wa Mkate hadi Mezzanine
Unganisha Mzunguko Kutoka kwa Mkate wa Mkate hadi Mezzanine
Unganisha Mzunguko Kutoka kwa Mkate wa Mkate hadi Mezzanine
Unganisha Mzunguko Kutoka kwa Mkate wa Mkate hadi Mezzanine

Hatua ya 10: Andika au Nakili Nambari

#jumuisha # pamoja na #jumuisha // # pamoja

# pamoja na "libsoc_gpio.h"

# pamoja na "libsoc_debug.h" # pamoja na "libsoc_board.h"

/ * Nambari hii hapa chini hufanya mfano huu ufanyie kazi kwenye Bodi zote 96 * /

unsigned int LED_1; // electro iman

unsigned int BUTTON_1; // kwanza sensor

unsigned int BUTTON_2; // sensorer ya pili unsigned int BUTTON_3; // karibu unsigned int BUTTON_4; // sensa ya tatu

mtumiaji wa muundo {

jina la mtumiaji la char [20]; nenosiri la char [20]; } Mtumiaji;

Hifadhidata

char Article_Name [20]; char Mahali [20]; } Hifadhidata;

int sensor1;

int sensor2; int sensor3;

sensor ya ndani1_last_state;

eneo la sensor2_last_state; sensor ya ndani3_last_state;

jina la mtumiaji la char [50];

nenosiri la char [50];

char Ndio Hapana [40];

FILE * pFILE;

char Yes [20] = {"Ndio"};

kukimbia = 1;

_sambaza _ ((mjenzi)) batili tuli _init ()

{board_config * config = libsoc_board_init (); BUTTON_1 = libsoc_board_gpio_id (kontakt, "GPIO-A"); // funga karibu BUTTON_4 = libsoc_board_gpio_id (config, "GPIO-B"); // sensa ya tatu // BUTTON_5 = libsoc_board_gpio_id (config, "GPIO-E");

LED_1 = libsoc_board_gpio_id (usanidi, "GPIO-E"); // electro iman

libsoc_board_free (usanidi); } / * Mwisho wa bodi 96 za nambari maalum * /

int kuu ()

{gpio * led_1, * button_1, * button_2, * button_3, * button_4; // kugusa; muundo Mtumiaji Karina; muundo Meneja wa Mtumiaji; strcpy (jina la mtumiaji la Karina, "Karina Valverde"); strcpy (neno kuu la Karina, "Wima mrefu"); strcpy (jina la mtumiaji la Meneja, "The Boss"); strcpy (neno la msimamizi, "ITESM"); muundo Zana ya Hifadhidata; muundo Kalamu ya Hifadhidata; muundo Kesi ya Hifadhidata; strcpy (Tool. Article_Name, "Tool"); muundo Zana ya Hifadhidata; muundo Kalamu ya Hifadhidata; muundo Kesi ya Hifadhidata; strcpy (Tool. Article_Name, "Tool"); strcpy (Kalamu. Makala_Name, "Kalamu"); strcpy (Uchunguzi. Makala_Name, "Uchunguzi"); libsoc_set_debug (0); led_1 = libsoc_gpio_request (LED_1, LS_SHARED); kifungo_1 = libsoc_gpio_request (BUTTON_1, LS_SHARED); kifungo_2 = libsoc_gpio_request (BUTTON_2, LS_SHARED); kifungo_3 = libsoc_gpio_request (BUTTON_3, LS_SHARED); kifungo_4 = libsoc_gpio_request (BUTTON_4, LS_SHARED); // button_5 = libsoc_gpio_request (BUTTON_5, LS_SHARED);

ikiwa ((led_1 == NULL) || (button_1 == NULL) || (button_2 == NULL) || (kifungo_3 == NULL) ||

{goto kushindwa; } libsoc_gpio_set_direction (led_1, OUTPUT); libsoc_gpio_set_direction (button_1, INPUT); libsoc_gpio_set_direction (kifungo_2, INPUT); libsoc_gpio_set_direction (kifungo_3, INPUT); libsoc_gpio_set_direction (kifungo_4, INPUT); // libsoc_gpio_set_direction (button_5, INPUT);

ikiwa ((libsoc_gpio_get_direction (led_1)! = OUTPUT)

|| (libsoc_gpio_get_direction (button_1)! = Pembejeo) || (libsoc_gpio_get_direction (button_2)! = Pembejeo) || (libsoc_gpio_get_direction (button_3)! = Pembejeo) || (libsoc_gpio_get_direction (button_4)! = INPUT)) {goto inashindwa; } sensor1 = libsoc_gpio_get_level (kifungo_1); sensor2 = libsoc_gpio_get_level (kifungo_2); sensor3 = libsoc_gpio_get_level (kifungo_4); sensor1_last_state = sensor1; sensor2_last_state = sensor2; sensor3_last_state = sensor3; ikiwa (sensor1 == 1) {strcpy (Tool. Location, "Inapatikana kwenye Rack"); } kingine ikiwa (sensor1 == 0) {strcpy (Tool. Location, "Never kuwekwa in this Rack"); } ikiwa (sensor2 == 1) {strcpy (Kalamu. Mahali, "Inapatikana kwenye Rack"); } kingine ikiwa (sensor2 == 0) {strcpy (Pen. Mahali, "Haijawekwa kwenye Rack hii"); } ikiwa (sensor3 == 1) {strcpy (Uchunguzi. Mahali, "Inapatikana kwenye Rack"); } kingine ikiwa (sensor3 == 0) {strcpy (Case. Location, "Never kuwekwa in this Rack"); } wakati (inaendesha) {libsoc_gpio_set_level (led_1, HIGH); printf ("Tafadhali ingiza jina la mtumiaji:"); scanf ("% s", jina la mtumiaji); printf ("Tafadhali ingiza nywila:"); scanf ("% s", nywila); ikiwa (strcmp (jina la mtumiaji, "Karina") == 0 && strcmp (nywila, "mrefu") == 0) {libsoc_gpio_set_level (led_1, LOW); libsoc_gpio_set_level (led_1, CHINI); wakati (libsoc_gpio_get_level (button_3)! = 1) {sensor1 = libsoc_gpio_get_level (button_1); sensor2 = libsoc_gpio_get_level (kifungo_2); sensor3 = libsoc_gpio_get_level (kifungo_4); } libsoc_gpio_set_level (led_1, JUU); ikiwa (sensor1 == 1 && sensor1! = sensor1_last_state) {strcpy (Tool. Location, Karina.username); } kingine ikiwa (sensor1 == 0 && sensor1! = sensor1_last_state) {strcpy (Tool. Location, "Located on Rack"); } ikiwa (sensor2 == 1 && sensor2! = sensor2_last_state) {strcpy (Pen. Location, Karina.username); } kingine ikiwa (sensor2 == 0 && sensor2! = sensor2_last_state) {strcpy (Pen. Mahali, "Iko kwenye Rack"); }

ikiwa (sensor3 == 1 && sensor3! = sensor3_last_state) {

strcpy (Uchunguzi. Mahali, jina la mtumiaji Karina); } kingine ikiwa (sensor3 == 0 && sensor3! = sensor3_last_state) {strcpy (Uchunguzi. Mahali, "Ziko kwenye Rack"); }} mwingine ikiwa (strcmp (jina la mtumiaji, "Bosi") == 0 && strcmp (nenosiri, "ITESM") == 0) {printf ("Je! unataka kutoa faili ya maandishi na hifadhidata? [Ndio / Hapana] "); scanf ("% s", YesNo); ikiwa ((strcmp (YesNo, Yes) == 0)) {// Manager_user (pFILE); pFILE = fopen ("Database.txt", "w"); fprintf (pFILE, "% s", "---- Database ya Rack ----- / n"); fprintf (pFILE, "% s", "Jina la Nakala:"); fprintf (pFILE, "% s", Tool. Article_Name); fprintf (pFILE, "% s", "\ t"); fprintf (pFILE, "% s", "Mahali pa Makala:"); fprintf (pFILE, "% s", Zana. Mahali); fprintf (pFILE, "% s", "\ n"); fprintf (pFILE, "% s", "Jina la Nakala:"); fprintf (pFILE, "% s", Kalamu. Makala_Name); fprintf (pFILE, "% s", "\ t"); fprintf (pFILE, "% s", "Mahali pa Makala:"); fprintf (pFILE, "% s", Kalamu. Mahali); fprintf (pFILE, "% s", "\ n");

fprintf (pFILE, "% s", "Jina la Nakala:");

fprintf (pFILE, "% s", Case. Article_Name); fprintf (pFILE, "% s", "\ t"); fprintf (pFILE, "% s", "Mahali pa Makala:"); fprintf (pFILE, "% s", Uchunguzi. Mahali); fprintf (pFILE, "% s", "\ n");

fclose (pFILE);

}

printf ("Ufikiaji Umekataliwa / n");

}} shindwa: ikiwa (led_1 || button_1 || button_2 || button_3) {printf ("tumia rasilimali ya gpio imeshindwa! / n"); libsoc_gpio_free (led_1); libsoc_gpio_free (kifungo_1); libsoc_gpio_free (kifungo_2); libsoc_gpio_free (kifungo_3); }

Hatua ya 11: Endesha Programu

Hatua ya 12: Hitimisho

Mradi una ahadi ya baadaye, kwani inaweza kuboreshwa kwa njia nzuri sana, sensorer zinaweza kubadilishwa kwa vitambulisho vya RFID´S na wakati huo huo na RFID inawezekana kutumia vitambulisho kukagua ni nani anayehusika na nyenzo hiyo.

Ilipendekeza: