
Sisällysluettelo:
- Vaihe 1: Materiaalit
- Vaihe 2: Leikkaa laatikon osat MDF -levystä. (Saat parempia tuloksia käyttämällä laserleikkuria)
- Vaihe 3: Liitä kaikki kappaleet yhteen muodostaen laatikon, jossa on kaksi pientä laatikkoa ja yksi iso
- Vaihe 4: Ruuvaa ruuvit jokaisen laatikon keskelle
- Vaihe 5: Kun pora tekee reikiä takana olevan laatikon läpi, reiän on oltava anturin kokoinen
- Vaihe 6: Hitsaa jokainen CNY 70 -anturi kuparijohtimilla. (toista 4 kertaa enemmän)
- Vaihe 7: Anturia varten käytetään erityistä piiriä
- Vaihe 8: Liitä mezzanine Dragon Board 410c -laitteeseen. (käytetään GPIO: n käyttöön)
- Vaihe 9: Liitä piiri leipälevyltä puolikerrokselle
- Vaihe 10: Kirjoita tai kopioi koodi
- Vaihe 11: Suorita ohjelma
- Vaihe 12: Johtopäätökset
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:41

Seuraavassa asiakirjassa näet älykkään laatikon rakentamisen ja ohjelmoinnin prosessin. Tämä laatikko on ohjelmoitu Dragon Board 410c: hen kaupunkien laadun parantamiseksi. Hanke on osa älykkäiden kaupunkien hackathon Qualcomm 17 -kilpailua.
Tämän projektin idea alkoi ongelmasta, jonka hyvin harvat näkevät. Se on menetetty ja huono työkalujen ja materiaalin hallinta, jota tarjoavat yritykset, kuten tehtaat ja jopa sairaalat. Näissä paikoissa työntekijöille tarjotaan joitain materiaaleja ja työkaluja toimintojen suorittamiseen, tämä materiaali ja työkalut on käytettävä uudelleen, koska ne ovat kalliita tai puuttuvat taloudelliset resurssit niiden korvaamiseksi.
Sairaaloissa on ihmisiä, jotka ottavat hallintaan poistettavat materiaalit, mutta kun ihminen puuttuu asiaan, tapahtuu virhe, joka voi aiheuttaa tarpeettomia kuluja. Paras ratkaisu tähän ongelmaan on älykäs laatikko, joka pystyy ylläpitämään luetteloa lainatuista ja palautetuista esineistä ja samalla tietämään, kuka on vastuussa.
Vaihe 1: Materiaalit
Projektissa tarvittava materiaali on seuraava: 1 x Dragon Board 410c
1 x Mezzanine 96 -levyt Dragon Board 410c: lle
1 x leipälauta
1 x MDF (keskitiheyskuitulevy) arkki 61 x 122 cm
5 x CNY 70 anturi
1 X VIHJE 31B
1 x sähkömagneetti
1 x 7408
1 x näppäimistö
1 x näyttö
3 x ruuvit
Resistanssit (lajike)
Kuparilangat
Liima
Porata
Vaihe 2: Leikkaa laatikon osat MDF -levystä. (Saat parempia tuloksia käyttämällä laserleikkuria)

Vaihe 3: Liitä kaikki kappaleet yhteen muodostaen laatikon, jossa on kaksi pientä laatikkoa ja yksi iso
Vaihe 4: Ruuvaa ruuvit jokaisen laatikon keskelle

Vaihe 5: Kun pora tekee reikiä takana olevan laatikon läpi, reiän on oltava anturin kokoinen

Vaihe 6: Hitsaa jokainen CNY 70 -anturi kuparijohtimilla. (toista 4 kertaa enemmän)

Vaihe 7: Anturia varten käytetään erityistä piiriä

Vaihe 8: Liitä mezzanine Dragon Board 410c -laitteeseen. (käytetään GPIO: n käyttöön)

On erittäin tärkeää, että tämä vaihe tehdään lohikäärmetaulun ollessa pois päältä, ellei se voi palaa, lisäksi kaikki PIN -koodit on asetettava oikein.
Vaihe 9: Liitä piiri leipälevyltä puolikerrokselle




Vaihe 10: Kirjoita tai kopioi koodi
#Sisällytä #Sisällytä #Sisällytä // #Sisällytä
#include "libsoc_gpio.h"
#include "libsoc_debug.h" #include "libsoc_board.h"
/ * Tämä alla oleva koodibitti saa tämän esimerkin toimimaan kaikilla 96 -levyillä */
unsigned int LED_1; // electro iman
unsigned int BUTTON_1; // ensimmäinen anturi
unsigned int BUTTON_2; // toinen anturi unsigned int BUTTON_3; // close unsigned int BUTTON_4; // kolmas anturi
rakenne Käyttäjä {
char -käyttäjänimi [20]; char -salasana [20]; } Käyttäjä;
struk -tietokanta {
char Artikkelinimi [20]; char Sijainti [20]; }Tietokanta;
int -anturi1;
int -anturi2; int -anturi3;
int sensor1_last_state;
int sensor2_last_state; int sensor3_last_state;
char -käyttäjänimi [50];
char -salasana [50];
char KylläEi [40];
FILE *pFILE;
char Kyllä [20] = {"Kyllä"};
int käynnissä = 1;
_attribute _ ((rakentaja)) staattinen void _init ()
{board_config *config = libsoc_board_init (); BUTTON_1 = libsoc_board_gpio_id (config, "GPIO-A"); // nyrkit anturi BUTTON_2 = libsoc_board_gpio_id (config, "GPIO-C"); // toinen anturi BUTTON_3 = libsoc_board_gpio_id (config, "GPIO-D"); // sulje teline BUTTON_4 = libsoc_board_gpio_id (config, "GPIO-B"); // kolmas anturi // BUTTON_5 = libsoc_board_gpio_id (config, "GPIO-E");
LED_1 = libsoc_board_gpio_id (kokoonpano, "GPIO-E"); // electro iman
libsoc_board_free (kokoonpano); } / * 96Boards -erikoiskoodin loppu * /
int main ()
{gpio *led_1, *button_1, *button_2, *button_3, *button_4; // int touch; rakenne Käyttäjä Karina; rakenne User Manager; strcpy (Karina.username, "Karina Valverde"); strcpy (Karina.salasana, "Korkeampi pystysuora"); strcpy (Manager.username, "Pomo"); strcpy (Manager.password, "ITESM"); strukt Database Tool; rakenne Database Pen; rakennetietokannan tapaus; strcpy (Tool. Article_Name, "Tool"); strukt Database Tool; rakenne Database Pen; rakennetietokannan tapaus; 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))
{epäonnistuu; } libsoc_gpio_set_direction (led_1, LÄHTÖ); libsoc_gpio_set_direction (button_1, INPUT); libsoc_gpio_set_direction (painike_2, TULO); libsoc_gpio_set_direction (painike_3, TULO); libsoc_gpio_set_direction (button_4, INPUT); // libsoc_gpio_set_direction (button_5, INPUT);
if ((libsoc_gpio_get_direction (led_1)! = LÄHTÖ)
|| (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)) {mene epäonnistumaan; } anturi1 = libsoc_gpio_get_level (painike_1); anturi2 = libsoc_gpio_get_level (painike_2); anturi3 = libsoc_gpio_get_level (button_4); sensor1_last_state = anturi1; sensor2_last_state = anturi2; sensor3_last_state = anturi3; if (sensor1 == 1) {strcpy (Tool. Location, "Sijaitsee telineellä"); } else if (sensor1 == 0) {strcpy (Tool. Location, "Ei koskaan sijoitettu tähän telineeseen"); } if (sensor2 == 1) {strcpy (Pen. Location, "Sijaitsee telineellä"); } else if (sensor2 == 0) {strcpy (Pen. Location, "Ei koskaan sijoitettu tähän telineeseen"); } if (sensor3 == 1) {strcpy (Case. Location, "Sijaitsee telineellä"); } else if (sensor3 == 0) {strcpy (Case. Location, "Ei koskaan sijoitettu tähän telineeseen"); } ollessa (käynnissä) {libsoc_gpio_set_level (led_1, HIGH); printf ("Anna käyttäjänimi:"); scanf ("%s", käyttäjänimi); printf ("Anna salasana:"); scanf ("%s", salasana); if (strcmp (käyttäjätunnus, "Karina") == 0 && strcmp (salasana, "Taller") == 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); anturi2 = libsoc_gpio_get_level (painike_2); anturi3 = libsoc_gpio_get_level (button_4); } libsoc_gpio_set_level (led_1, KORKEA); if (sensor1 == 1 && sensor1! = sensor1_last_state) {strcpy (Tool. Location, Karina.username); } else if (sensor1 == 0 && sensor1! = sensor1_last_state) {strcpy (Tool. Location, "Sijaitsee telineellä"); } if (sensor2 == 1 && sensor2! = sensor2_last_state) {strcpy (Pen. Location, Karina.username); } else if (sensor2 == 0 && sensor2! = sensor2_last_state) {strcpy (Pen. Location, "Sijaitsee telineellä"); }
jos (anturi3 == 1 && sensori3! = anturi3_viime_tila) {
strcpy (Case. Location, Karina.username); } else if (sensor3 == 0 && sensor3! = sensor3_last_state) {strcpy (Case. Location, "Sijaitsee telineellä"); }} else if (strcmp (käyttäjänimi, "pomo") == 0 && strcmp (salasana, "ITESM") == 0) {printf ("Haluatko luoda tekstitiedoston tietokannan avulla? [Kyllä/Ei] "); scanf ("%s", KylläEi); if ((strcmp (KylläNo, Kyllä) == 0)) {// Manager_user (pFILE); pFILE = fopen ("Tietokanta.txt", "w"); fprintf (pFILE, "%s", "-------- Rackin tietokanta ----- / n"); fprintf (pFILE, "%s", "Artikkelin nimi:"); fprintf (pFILE, "%s", Tool. Article_Name); fprintf (pFILE, "%s", "\ t"); fprintf (pFILE, "%s", "Artikkelin sijainti:"); fprintf (pFILE, "%s", Tool. Location); fprintf (pFILE, "%s", "\ n"); fprintf (pFILE, "%s", "Artikkelin nimi:"); fprintf (pFILE, "%s", Pen. Article_Name); fprintf (pFILE, "%s", "\ t"); fprintf (pFILE, "%s", "Artikkelin sijainti:"); fprintf (pFILE, "%s", Pen. Location); fprintf (pFILE, "%s", "\ n");
fprintf (pFILE, "%s", "Artikkelin nimi:");
fprintf (pFILE, "%s", Case. Article_Name); fprintf (pFILE, "%s", "\ t"); fprintf (pFILE, "%s", "Artikkelin sijainti:"); fprintf (pFILE, "%s", Case. Location); fprintf (pFILE, "%s", "\ n");
fclose (pFILE);
}
printf ("Pääsy estetty / n");
}} epäonnistua: if (led_1 || button_1 || button_2 || button_3) {printf ("Apply gpio resource fail! / n"); libsoc_gpio_free (led_1); libsoc_gpio_free (painike_1); libsoc_gpio_free (painike_2); libsoc_gpio_free (painike_3); }
Vaihe 11: Suorita ohjelma
Vaihe 12: Johtopäätökset
Hankkeella on lupaava tulevaisuus, koska se voi parantua erittäin tehokkaasti, anturit voidaan vaihtaa RFID -tunnisteisiin ja samaan aikaan RFID: n kanssa on mahdollista käyttää henkilökortteja materiaalin vastuuhenkilön seurantaan.
Suositeltava:
Apple -viivakoodikaiverrus (Photonics Hackathon Phablabs): 3 vaihetta

Apple -viivakoodin kaivertaja (Photonics Hackathon Phablabs): Hei kaikki! Osana Phablabs Photonics -haastettamme meitä pyydettiin luomaan laite, joka pystyy korvaamaan hedelmien tarrat. Vihaatko myös hedelmätarroja? Ja haluatko tehdä ympäristöystävällisen muutoksen? Sitten haluaisimme ins
Smart Garden "SmartHorta": 9 vaihetta

Smart Garden "SmartHorta": Hei kaverit, Tämä opettavainen esittelee korkeakouluhankkeen älykkäästä kasvipuutarhasta, joka tarjoaa automaattisen kasvien kastelun ja jota voidaan ohjata mobiilisovelluksella. Tämän projektin tavoitteena on palvella asiakkaita, jotka haluavat istuttaa kotona
Holografiset levyt - Photonics Challenger Hackathon PhabLabs: 6 vaihetta

Holografiset levyt - Photonics Challenger Hackathon PhabLabs: Tämän vuoden alussa minua pyydettiin osallistumaan PhabLabs Photonics Hackathoniin Delftin tiedekeskuksessa Alankomaissa. Täällä heillä on loistava työtila, jossa on paljon koneita, joita voitaisiin käyttää luomaan jotain tavallista
SMART FISH FEEDER "DOMOVOY": 5 vaihetta (kuvilla)

SMART FISH FEEDER "DOMOVOY": Syöttölaite " DOMOVOY " on suunniteltu akvaariokalojen automaattiseen ruokintaan aikataulun mukaan.Ominaisuudet: Suunniteltu akvaariokalan automaattiseen ruokintaanSyöttö suoritetaan asetetussa ajassaErityinen algoritmi estää syöttötukoksetParametreja voidaan muuttaa
HC - 06 (orjamoduuli) "NIMI": n muuttaminen ilman käyttöä "Sarjan Arduino" -monitori joka "toimii helposti": virheetön tapa!: 3 vaihetta

HC - 06 (orjamoduuli) "NIMI": n muuttaminen ilman käyttöä "Sarjan Arduino" -monitori … joka "toimii helposti": virheetön tapa!: Jälkeen " Pitkä aika " yrittää muuttaa nimeä HC -06: ksi (orjamoduuli) käyttämällä " Arduinon sarjamittari, ilman " Menestys " Löysin toisen helpon tavan ja im Sharing now! Pidä hauskaa ystävät