Obsah:

UCL - IIoT - Farmársky trh: 7 krokov
UCL - IIoT - Farmársky trh: 7 krokov

Video: UCL - IIoT - Farmársky trh: 7 krokov

Video: UCL - IIoT - Farmársky trh: 7 krokov
Video: UCL-IIoT-Datalogger 2024, Júl
Anonim
UCL - IIoT - Farmársky trh
UCL - IIoT - Farmársky trh

Peňaženku Farmersmarket je možné použiť na veľtrhoch, farmárskych trhoch alebo iných zhromaždeniach, kde sa predáva tovar.

Peňaženka Farmersmarket je počítací stroj na mince, ktorý bol vytvorený tak, aby bolo možné rýchlo vidieť celkový obsah škatule s mincami. Peňaženka na farmárskom trhu tiež nahrá celkovú sumu na server naprogramovaný prostredníctvom Node-red.

Vyrábajú ho traja študenti University College Lillebælt v Dánsku. Od nášho predchádzajúceho projektu Triedič mincí sme sa naučili veľa nových vecí, ktoré začleníme do zostavy. Rozhodli sme sa vzdať triedenia mincí a namiesto toho ich nechať stroj spočítať a uložiť ich do spoločnej schránky na mince.

Peňaženka sa skladá z piatich diapozitívov alebo priehradiek, pre každý druh mincí jeden. Keď je minca vložená do správneho otvoru, spadne dole cez reflektor, ktorý vyšle arduino VYSOKÝ signál. Signál použijeme na pripočítanie hodnoty coinov k počítanému súčtu, jeho zobrazenie na externom displeji a odoslanie nového súčtu na server. Akonáhle server prijme súčet, aktualizuje používateľské rozhranie nájdené online, ktoré zobrazuje nový súčet.

Popis Krabica s piatimi slotmi na mince, ktoré vedú k piatim jednotlivým vnútorným diapozitívom, pre každý typ mincí jeden: 1kr, 2kr, 5kr, 10kr, 20kr

LCD displej ukazujúci celkovú hotovosť diposited v hornej časti škatule.

Horná časť boxu je zaistená poklopmi. Zdvihnutím hornej časti sa vyberie arduino puzdro spolu s vrchnou časťou obsahujúcou LCD, sloty na mince, reflektory atď. Zostane iba krabica, do ktorej sú mince uložené.

Súčiastky a materiály - Nástroje a pomôcky na výrobu škatule (môže byť kartónová alebo drevená)

- Arduino Mega 2560

- 30 prepojovacích káblov

- 5 x LDR „Svetelný senzor“

- rezistory 5 x 220 ohmov

- Rezistory 5 x 10 kOhm

- 5 x bielych LED diód

- Modul LCD 16x02

- Mince

Kód v Arduine

Ako už bolo spomenuté, tento projekt pochádza z predchádzajúceho projektu, ktorý sme urobili približne pred ôsmimi mesiacmi (https://www.instructables.com/id/Coin-Sorting-Machine/). Z tohto dôvodu sme schopní znova použiť veľkú časť kódu v arduine, aj keď v ňom existujú menšie zmeny. Ako vidíte, kód je pomerne jednoduchý, čomu by mal porozumieť každý, kto má s Arduino skúsenosti.

Node-RED Node-RED je nástroj, ktorý použijeme na prenos údajov z arduina a do vášho počítača a ďalej na internet, ak je to vo vašom záujme. Ďalším dôležitým dôvodom, prečo používať Node-RED, je schopnosť prezentovať údaje z Arduina spôsobom, ktorý je ľahko zrozumiteľný pre ľudí, ktorí nemajú žiadne skúsenosti s programovaním/kódovaním s Arduino a Node-RED.

Databáza Pomocou Wampserveru môžeme uložiť naše hodnoty z Arduina do databázy. S Wampserver je možné vytvárať a striedať vlastnú databázu, ako sa vám páči, pomocou phpMyAdmin na správu MySQL. V našom prípade máme šesť hodnôt, ktoré potrebujeme uložiť (jednu pre každý druh mince a jednu pre výsledok), a preto sme vytvorili šesť stĺpcov, do ktorých je možné uložiť každú hodnotu.

Krok 1: Ako to funguje?

Ako to funguje?
Ako to funguje?

V podrobnejšom panstve si teraz vysvetlíme, ako náš systém funguje.

Ako uvidíte na vývojovom diagrame, prvá vec, ktorá určuje priebeh procesu, je vloženie mince do správneho otvoru.

Svetelný senzor LDR si všimne znížené množstvo svetla, keď minca prejde senzorom, čo spustí program Arduino, aby o jeden premennú „Antal“(počet) zvýšil, pretože v stroji je teraz jedna minca. Hodnota mince sa zároveň pripočíta k premennej „výsledok“. „výsledok“sa zobrazí na LCD displeji s novou hodnotou.

Nové hodnoty „Antal“a „result“sa odošlú do Node-RED, v ktorom sa informačný panel s týmito hodnotami sám aktualizuje. Nakoniec Node-RED pošle hodnoty do našej databázy.

A opakujte.

Krok 2: Výroba škatule

Tentokrát sme na návrh našej škatule použili Illustrator. S laserovou rezačkou sme presne vyrobili túto škatuľu a funkcie, ktoré sú potrebné pre náš projekt. Nakoniec sa rozhodnete, ako vytvoríte perfektný box pre svoj projekt.

Krok 3: Pridanie Arduina

Pridanie Arduina
Pridanie Arduina

Je čas implementovať Arduino do škatule. To môže byť dosť ťažké, pretože senzor sa môže správať nepredvídateľne. (Nové) V tomto kroku sme zmenili senzor, ktorý používame, kvôli vyššie uvedenej nespoľahlivosti týchto senzorov (tcrt 5000). Namiesto toho sme vybrali jednoduchší snímač LDR (odpor závislý od svetla). Výstup z tohto snímača je analógová hodnota, ktorá sa mení v závislosti od množstva svetla dopadajúceho na samotný snímač.

Krok 4: Arduino kód

V tomto kroku sa zameriavame na softvér. Kód Arduino vyzerá takto:

const int senzorPin1 = 3; // Senzor TCRT-5000, ktorý je pripojený k pinu č. 2 int senzorState1 = 0; // Obsahuje hodnotu senzora (High/low)

int Antal10 = 0; // Premenná, ktorá ukladá množstvo mincí, ktoré boli vložené do zariadenia int

Výsledok = 0; // Premenná, ktorá ukladá kombinovanú hodnotu všetkých mincí vložených do automatu

void setup () {Serial.begin (9600); }

void loop () {int sensorState1 = analogRead (sensorPin1); // Číta stav senzora

if (540 <sensorState1 <620) {// Keď je výstupná hodnota senzorov medzi 540 a 620

Antal10 += 10; // - senzorom prechádza minca, ktorá blokuje určité svetlo

výsledok += 10; // - a snímač bude čítať nižšiu úroveň svetla}

Serial.print (Výsledok);

Serial.print (","); // Oddeľuje premenné čiarkou, čo je nevyhnutné pri čítaní hodnôt premenných v Node-RED

Serial.println (Antal10); // - a tiež potrebné, ak majú byť tieto hodnoty uložené v databáze

oneskorenie (100); }

Tento kód je napísaný iba pre jeden senzor, aby bol čitateľnejší.

Kompletný kód:

Krok 5: Uzol-ČERVENÝ

Uzol-ČERVENÝ
Uzol-ČERVENÝ
Uzol-ČERVENÝ
Uzol-ČERVENÝ

Keď kód Arduino beží tak, ako by mal, môžete začať s programovaním Node-RED, ktoré bude fungovať ako stredné prepojenie medzi Arduinom a databázou a ako vizuálne zobrazenie toho, ako si stroj pracuje. Programovanie Node-RED spočíva v použití uzlov s rôznymi funkciami a vložení správnych parametrov, aby tieto uzly správne fungovali.

Keď naše údaje prídu do Node-RED, sú odoslané do dvoch rôznych rozdelených funkcií. Jedna z týchto funkcií odosiela teraz rozdelené údaje do databázy. Ten druhý odosiela rôzne hodnoty údajov do každého z ich uzlov panela, ktoré by teraz mali byť viditeľné na paneli.

Ako už bolo spomenuté, máme k dispozícii šesť hodnôt, ktoré je potrebné liečiť. Vďaka schopnostiam palubnej dosky Node-Red dokážeme tieto hodnoty zobraziť, ako to vidíte na obrázku vpravo v hornej časti kroku 3.

ČERVENÝ kód uzla:

Krok 6: Databáza

Databáza
Databáza

Teraz použijeme databázu na uloženie hodnôt. S Wampserver je možné použiť phpMyAdmin na správu MySQL a vytváranie vlastnej databázy pomocou lokálneho servera, ktorý vyhovuje vašim špecifickým potrebám.

Najprv pri vytváraní databázy (farm_market) od začiatku musíte vytvoriť tabuľku (mont_tabel), do ktorej uložíte svoje hodnoty. V závislosti od toho, koľko údajov máte a ako ich potrebujete objednať, môžete vytvoriť toľko tabuliek, koľko potrebujete. Pretože do našej tabuľky potrebujeme uložiť šesť rôznych hodnôt, a preto sme potrebovali šesť stĺpcov, pre každú hodnotu jednu. Na obrázku vyššie vidíte našu databázu.

Keď naše údaje prídu do Node-RED, rozdelia sa pomocou funkcie rozdelenia a teraz sa údaje odošlú do databázy.

Krok 7: Hodnotenie

Najprv by sme chceli spomenúť, že keď vyrobíte škatuľu z dreva namiesto lepenky, bude celé fyzické zariadenie oveľa spoľahlivejšie, a preto to odporúčame urobiť.

Výmena senzorov z TCRT-5000 na jednoduchý svetelný senzor LDR poskytla oveľa väčšiu stabilitu, pokiaľ ide o schopnosť senzorov rýchlo čítať, keď okolo nich mincí. Pri práci s TCRT-5000 existuje mnoho faktorov, ktoré je potrebné vziať do úvahy, aby senzor fungoval tak, ako by ste chceli.

Pripojenie systému k databáze a schopnosť vizuálne prezentovať svoje údaje spôsobom, že každá osoba bez akýchkoľvek známych znalostí o tomto projekte dokáže porozumieť tomu, čo sa deje, dáva projektu väčšiu hodnotu.

Odporúča: