Cuprins:
- Pasul 1: Cum funcționează?
- Pasul 2: Realizarea unei cutii
- Pasul 3: Adăugarea Arduino
- Pasul 4: Cod Arduino
- Pasul 5: Nod-RED
- Pasul 6: Baza de date
- Pasul 7: Evaluare
Video: UCL - IIoT - Piața fermierilor: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Portofelul Farmersmarket poate fi utilizat la târguri, piețe ale fermierilor sau alte adunări în care se vând bunuri.
Portofelul Farmersmarket este o mașină de numărat monedele, făcută pentru a permite vizualizarea rapidă a conținutului total al unei cutii care conține monede. Portofelul pentru agricultori va încărca, de asemenea, totalul pe un server programat prin Node-red.
Este realizat de trei studenți ai University College Lillebælt din Danemarca. De la proiectul nostru anterior, sortatorul de monede, am aflat multe lucruri noi pe care le vom încorpora în construcție. Am ales să renunțăm la sortarea monedelor și, în schimb, să facem mașina să le numere, depunându-le într-o cutie comună de monede.
Portofelul este format din cinci diapozitive sau sloturi, câte unul pentru fiecare tip de monedă. Când o monedă este introdusă în slotul corespunzător, aceasta va cădea în jos trecând un reflector, care trimite un semnal HIGH către arduino. Vom folosi semnalul pentru a adăuga valoarea monedelor la totalul numărat, îl vom afișa pe afișajul extern și vom trimite noul total către un server. Odată ce serverul primește totalul, acesta va actualiza o interfață de utilizare găsită online care arată noul total.
Descriere O cutie cu cinci sloturi pentru monede care duce la cinci diapozitive interne individuale, una pentru fiecare tip de monedă: 1kr, 2kr, 5kr, 10kr, 20kr
Un afișaj LCD care arată numerarul total depus în partea de sus a cutiei.
Partea superioară a cutiei este asigurată cu trape. Ridicând partea superioară, veți scoate carcasa arduino împreună cu partea superioară care conține ecranul LCD, sloturile pentru monede, reflectoare ect., Lăsând doar cutia în care sunt depuse moneda.
Componente și materiale - Instrumente și echipament pentru realizarea unei cutii (poate fi carton sau lemn)
- Arduino Mega 2560
- 30 fire jumper
- 5 x "senzor de lumină" LDR
- Rezistențe de 5 x 220 ohmi
- Rezistențe 5 x 10k ohm
- 5 x LED-uri albe
- Modul LCD 16x02
- Monede
Cod în Arduino
După cum sa menționat anterior, acest proiect provine dintr-un proiect anterior realizat acum aproximativ opt luni (https://www.instructables.com/id/Coin-Sorting-Machine/). Din acest motiv, putem reutiliza o mare parte a codului în arduino, deși există câteva modificări mai mici la acesta. După cum veți vedea, codul este destul de simplu, ceea ce orice persoană cu un pic de experiență cu Arduino ar trebui să poată înțelege.
Node-RED Node-RED este instrumentul pe care îl vom folosi pentru a obține datele de pe arduino și pe computerul dvs. și mai departe pe internet, dacă acest lucru vă interesează. Un alt motiv important pentru utilizarea Node-RED este capacitatea de a prezenta date de la Arduino într-un mod ușor de înțeles, pentru persoanele care nu au nicio experiență de programare / codificare cu Arduino și Node-RED.
Baza de date Folosind Wampserver putem stoca valorile noastre de la Arduino într-o bază de date. Cu Wampserver este posibil să creați și să alternați propria bază de date după cum doriți, utilizând phpMyAdmin pentru a administra MySQL. În cazul nostru avem șase valori pe care trebuie să le stocăm (una pentru fiecare tip de monedă și una pentru rezultat) și, prin urmare, am creat șase coloane în care fiecare valoare poate fi stocată.
Pasul 1: Cum funcționează?
Într-un conac mai detaliat, vom explica acum modul în care funcționează sistemul nostru.
După cum veți vedea în diagramă, primul lucru care setează procesul este atunci când o monedă este introdusă în slotul corect.
Senzorul de lumină LDR va observa cantitatea redusă de lumină, când moneda trece pe lângă senzor, ceea ce va declanșa programul Arduino pentru a incrementa variabila „Antal” (Număr de) cu una, deoarece acum există o monedă în mașină. În același timp, valoarea monedei este adăugată la variabila „rezultat”. „rezultatul” va fi afișat pe ecranul LCD cu noua sa valoare.
Noile valori „Antal” și „rezultat” sunt trimise către Node-RED, în care tabloul de bord se va actualiza cu aceste valori. În cele din urmă, Node-RED trimite valorile către baza noastră de date.
Și repetă.
Pasul 2: Realizarea unei cutii
De data aceasta am folosit Illustrator pentru a ne proiecta cutia. Cu ajutorul unui dispozitiv de tăiere cu laser, am creat cu exactitate această cutie și caracteristicile necesare proiectului nostru. În cele din urmă depinde de tine, să decizi cum să faci cutia perfectă pentru proiectul tău.
Pasul 3: Adăugarea Arduino
Este timpul să implementați Arduino în cutie. Acest lucru poate fi destul de dificil, deoarece senzorul se poate comporta imprevizibil. (Nou) În acest pas am schimbat senzorul pe care îl folosim, din cauza necredibilității menționate anterior a acestor senzori (tcrt 5000). În schimb, am ales un senzor LDR mai simplu (rezistență dependentă de lumină). Ieșirea de la acest senzor este o valoare analogică, care se schimbă în funcție de cantitatea de lumină care ajunge la senzorul în sine.
Pasul 4: Cod Arduino
În acest pas ne concentrăm asupra software-ului. Codul Arduino arată astfel:
const int sensorPin1 = 3; // Senzor TCRT-5000 care este conectat la pinul nr. 2 int sensorState1 = 0; // Conține valoarea senzorului (înalt / scăzut)
int Antal10 = 0; // Variabilă care stochează cantitatea de monede care au fost introduse în mașină int
Rezultat = 0; // Variabilă care stochează valoarea combinată a tuturor monedelor introduse în aparat
void setup () {Serial.begin (9600); }
bucla void () {int sensorState1 = analogRead (senzorPin1); // Citește starea senzorului
if (540 <sensorState1 <620) {// Când valoarea de ieșire a senzorilor este cuprinsă între 540 și 620
Antal10 + = 10; // - există o monedă care trece prin senzor, care blochează puțină lumină
rezultat + = 10; // - iar senzorul va citi un nivel mai redus de lumină}
Serial.print (Rezultat);
Serial.print (","); // Separează variabilele cu o virgulă, care este necesară la citirea valorilor variabilelor în Node-RED
Serial.println (Antal10); // - și, de asemenea, necesar atunci când aceste valori urmează să fie stocate în baza de date
întârziere (100); }
Acest cod este scris doar pentru un senzor, pentru a ușura citirea.
Cod complet:
Pasul 5: Nod-RED
Când codul Arduino funcționează așa cum ar trebui, puteți începe programarea Node-RED, care va acționa ca legătura intermediară între Arduino și baza de date și ca afișare vizuală a performanței mașinii. Programarea Node-RED constă în utilizarea nodurilor cu funcții diferite și introducerea parametrilor potriviți pentru ca aceste noduri să funcționeze corect.
Când datele noastre ajung în Node-RED, acestea sunt trimise către două funcții separate. Una dintre aceste funcții trimite acum datele de divizare în baza de date. Celălalt trimite diferitele valori de date către fiecare dintre nodurile lor de tablou de bord, care acum ar trebui să fie vizibile pe tabloul de bord.
După cum am menționat mai bine, avem șase valori care trebuie tratate. Cu abilitățile tabloului de bord Node-Red, putem afișa aceste valori, așa cum veți vedea în imaginea din dreapta, în partea de sus a pasului 3.
Cod nod-RED:
Pasul 6: Baza de date
Acum vom folosi o bază de date pentru a stoca valorile. Cu Wampserver este posibil să utilizați phpMyAdmin pentru a administra MySQL și pentru a vă crea propria bază de date, folosind un server local pentru a se potrivi nevoilor dvs. specifice.
Mai întâi atunci când creați o bază de date (fermieri_market) de la zero, trebuie să creați un tabel (mont_tabel), în care să stocați valorile. În funcție de cât de multe date aveți și de modul în care trebuie să le comandați, puteți crea câte tabele aveți nevoie. Pentru că trebuie să stocăm șase valori diferite și, prin urmare, avem nevoie de șase coloane, câte una pentru fiecare valoare, în tabelul nostru. În imaginea de mai sus puteți vedea baza noastră de date.
Când datele noastre ajung în Node-RED, acestea sunt divizate printr-o funcție split, iar datele acum sunt trimise în baza de date.
Pasul 7: Evaluare
Mai întâi, dorim să menționăm că realizarea cutiei din lemn în loc de carton, face ca întreaga configurație fizică să fie mult mai fiabilă și, prin urmare, vă recomandăm să faceți acest lucru.
Schimbarea senzorilor dintr-un TCRT-5000 și într-un senzor de lumină LDR simplu a oferit mult mai multă stabilitate, în ceea ce privește capacitatea senzorilor de a citi rapid când o monedă trece pe lângă ea. Când lucrați cu un TCRT-5000, există mulți factori care trebuie luați în considerare, pentru ca senzorul să funcționeze așa cum doriți.
Conectarea sistemului la o bază de date și posibilitatea de a-ți prezenta vizual datele într-un mod, astfel încât orice persoană fără cunoștințe prealabile despre acest proiect, să poată înțelege ce se întâmplă, pare să dea proiectului mai multă valoare.
Recomandat:
UCL Embedded - B0B Linefollower: 9 pași
UCL Embedded - B0B Linefollower: Acesta este B0B. * B0B este o mașină generică controlată prin radio, care servește temporar la baza unui robot care urmărește linia. La fel de mulți roboți de urmărire a liniei înainte de el, el va face tot posibilul să rămână pe o linie cauzată de o tranziție între podea și ac
UCL - Încorporat - Alegeți și plasați: 4 pași
UCL - Încorporat - Alegeți și plasați: această instrucțiune va merge deși modul în care este făcută o unitate de alegere și plasare 2D și cum să o codificați
UCL - Încorporat // Tracker de lumină cu două axe pentru panouri solare: 7 pași
UCL - Embedded // Dual Axis Light Tracker pentru panouri solare: proiectul asamblat și fișierele 3D individuale
UCL - Conectarea roșu a nodului la un PLC Siemens utilizând KEPserver: 7 pași
UCL - Conectarea roșu nod la un PLC Siemens utilizând KEPserver: Cerințe Red nod: https://nodered.org/docs/getting-started/installationKEPserver: https://www.kepware.com/en-us/kepserverex-6 -6-eliberare
UCL - Industria 4.0: Candy Mixer 4.000: 9 pași
UCL - Industry 4.0: Candy Mixer 4.000: Pentru proiectul nostru din Industry 4.0 am decis să facem un mixer pentru bomboane. Ideea este că avem un panou de utilizator, realizat în Node-Red, unde clienții își pot comanda bomboanele, apoi un arduino va procesa comanda și va amesteca bomboanele într-un castron. Atunci noi