Sommario:

UCL - IIoT - Mercato degli agricoltori: 7 passaggi
UCL - IIoT - Mercato degli agricoltori: 7 passaggi

Video: UCL - IIoT - Mercato degli agricoltori: 7 passaggi

Video: UCL - IIoT - Mercato degli agricoltori: 7 passaggi
Video: The Global Impact of Blockchains for Food 2024, Luglio
Anonim
UCL - IIoT - Mercato degli agricoltori
UCL - IIoT - Mercato degli agricoltori

Il portafoglio Farmersmarket può essere utilizzato in occasione di fiere, mercati degli agricoltori o altri raduni in cui vengono vendute le merci.

Il portafoglio Farmersmarket è un contamonete, realizzato per consentire di vedere rapidamente il contenuto totale di una scatola contenente monete. Il portafoglio degli agricoltori caricherà anche il totale su un server programmato tramite Node-red.

È realizzato da tre studenti dell'University College Lillebælt in Danimarca. Dal nostro progetto precedente, The coin sorter, abbiamo imparato molte cose nuove che incorporeremo nella build. Abbiamo scelto di rinunciare allo smistamento delle monete e farle contare invece alla macchina, depositandole in una gettoniera comune.

Il portafoglio è composto da cinque diapositive o slot, uno per ogni tipo di moneta. Quando una moneta viene inserita nell'apposito slot, cadrà passando un riflettore, che invia un segnale ALTO all'arduino. Utilizzeremo il segnale per aggiungere il valore delle monete al totale contato, visualizzarlo sul display esterno e inviare il nuovo totale a un server. Una volta che il server riceve il totale, aggiornerà un'interfaccia utente trovata online che mostra il nuovo totale.

DescrizioneUna scatola con cinque scomparti per monete che portano a cinque singoli scivoli interni, uno per ogni tipo di moneta: 1kr, 2kr, 5kr, 10kr, 20kr

Un display LCD che mostra il denaro totale depositato sulla parte superiore della scatola.

La parte superiore della scatola è fissata con portelli. Sollevando la parte superiore si estrarrà l'alloggiamento dell'arduino insieme alla parte superiore contenente il display LCD, le fessure per le monete, i riflettori ecc., lasciando solo la scatola in cui vengono depositate le monete.

Componenti e materiali - Strumenti e attrezzature per realizzare una scatola (potrebbe essere cartone o legno)

- Arduino Mega 2560

- 30 ponticelli

- 5 x LDR "Sensore di luce"

- 5 resistenze da 220 ohm

- 5 resistenze da 10k ohm

- 5 x LED bianchi

- Modulo LCD 16x02

- Monete

Codice in Arduino

Come accennato in precedenza, questo progetto ha origine da un progetto precedente che abbiamo realizzato circa otto mesi fa (https://www.instructables.com/id/Coin-Sorting-Machine/). Per questo motivo siamo in grado di riutilizzare gran parte del codice in arduino, anche se ci sono alcune modifiche minori. Come vedrai il codice è abbastanza semplice, che qualsiasi persona con un po' di esperienza con Arduino dovrebbe essere in grado di capire.

Node-RED Node-RED è lo strumento che utilizzeremo per ottenere i dati dall'arduino e dal tuo computer, e più avanti su Internet, se questo è nel tuo interesse. Un altro motivo importante per utilizzare Node-RED è la possibilità di presentare i dati da Arduino in un modo facile da capire, per le persone che non hanno alcuna esperienza di programmazione/codifica con Arduino e Node-RED.

Database Usando Wampserver possiamo memorizzare i nostri valori da Arduino in un database. Con Wampserver è possibile creare e alternare il proprio database a piacimento, utilizzando phpMyAdmin per amministrare MySQL. Nel nostro caso abbiamo sei valori che dobbiamo memorizzare (uno per ogni tipo di moneta e uno per il risultato), e quindi abbiamo creato sei colonne in cui ogni valore può essere memorizzato.

Passaggio 1: come funziona?

Come funziona?
Come funziona?

In modo più dettagliato, spiegheremo ora come funziona il nostro sistema.

Come vedrai nel diagramma di flusso, la prima cosa che imposta il processo è quando una moneta viene inserita nel suo slot corretto.

Il sensore di luce LDR noterà la ridotta quantità di luce, quando la moneta passa vicino al sensore, che attiverà il programma Arduino per incrementare la variabile "Antal"(Numero di) di uno, poiché ora c'è una moneta nella macchina. Contemporaneamente alla variabile "risultato" viene aggiunto il valore della moneta. "risultato" verrà visualizzato sul display LCD con il suo nuovo valore.

I nuovi valori di "Antal" e "risultato" vengono inviati a Node-RED, in cui la dashboard si aggiornerà con questi valori. Infine Node-RED invia i valori al nostro database.

E ripeti.

Passaggio 2: creare una scatola

Questa volta abbiamo utilizzato Illustrator per progettare la nostra scatola. Con un laser cutter siamo riusciti a realizzare con precisione questa scatola e le caratteristiche necessarie per il nostro progetto. Alla fine sta a te decidere come realizzare la scatola perfetta per il tuo progetto.

Passaggio 3: aggiunta di Arduino

Aggiungere Arduino
Aggiungere Arduino

È ora di implementare Arduino nella scatola. Questo può essere piuttosto difficile, poiché il sensore può comportarsi in modo imprevedibile. (Nuovo) In questo passaggio abbiamo cambiato il sensore che stiamo utilizzando, a causa della già menzionata inaffidabilità di questi sensori (tcrt 5000). Invece abbiamo scelto un sensore LDR (resistenza dipendente dalla luce) più semplice. L'uscita di questo sensore è un valore analogico, che cambia a seconda della quantità di luce che raggiunge il sensore stesso.

Passaggio 4: codice Arduino

In questo passaggio ci concentriamo sul software. Il codice Arduino si presenta così:

const int sensorePin1 = 3; //sensore TCRT-5000 che è collegato al pin nr. 2 int StatoSensore1 = 0; //Contiene il valore del sensore (Alto/basso)

int Antal10 = 0; //Variabile che memorizza la quantità di monete che sono state inserite nella macchina int

Risultato = 0; //Variabile che memorizza il valore combinato di tutte le monete inserite nella macchina

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

void loop() { int sensorState1 = analogRead(sensorPin1); //Legge lo stato del sensore

if (540 < sensorState1 < 620) { //Quando il valore di uscita dei sensori è compreso tra 540 e 620

Antal10 += 10; // - c'è una moneta che passa nel sensore, che blocca un po' di luce

risultato += 10; // - e il sensore leggerà un livello di luce inferiore }

Serial.print(Risultato);

Serial.print(", "); //Separa le variabili con una virgola, necessaria durante la lettura dei valori delle variabili in Node-RED

Serial.println(Antal10); // - e necessario anche quando questi valori devono essere archiviati nel database

ritardo(100); }

Questo codice è scritto per un solo sensore, per facilitarne la lettura.

Codice completo:

Passaggio 5: Nodo-RED

Nodo-RED
Nodo-RED
Nodo-RED
Nodo-RED

Quando il codice Arduino è in esecuzione come dovrebbe, puoi iniziare a programmare Node-RED, che fungerà da collegamento intermedio tra Arduino e il database e come rappresentazione visiva delle prestazioni della macchina. La programmazione di Node-RED consiste nell'utilizzare nodi con funzioni diverse e nell'inserire i parametri giusti affinché questi nodi funzionino correttamente.

Quando i nostri dati arrivano in Node-RED, vengono inviati a due diverse funzioni di suddivisione. Una di queste funzioni invia i dati ora suddivisi al database. L'altro invia i diversi valori di dati a ciascuno dei loro nodi del dashboard, che ora dovrebbero essere visibili sul dashboard.

Come accennato in precedenza abbiamo sei valori da trattare. Con le capacità della dashboard di Node-Red siamo in grado di visualizzare questi valori, come vedrai nell'immagine a destra nella parte superiore del passaggio 3.

Codice nodo-ROSSO:

Passaggio 6: banca dati

Banca dati
Banca dati

Ora useremo un database per memorizzare i valori. Con Wampserver è possibile utilizzare phpMyAdmin per amministrare MySQL e creare il proprio database, utilizzando un server locale adatto alle proprie esigenze specifiche.

Per prima cosa, quando crei un database (farmers_market) da zero, devi creare una tabella (mont_tabel), in cui memorizzi i tuoi valori. A seconda di quanti dati hai e di come devi ordinarli, puoi creare tutte le tabelle di cui hai bisogno. Perché abbiamo bisogno di memorizzare sei valori diversi, e quindi avevamo bisogno di sei colonne, una per ogni valore, nella nostra tabella. Nella foto sopra puoi vedere il nostro database.

Quando i nostri dati arrivano in Node-RED, vengono suddivisi da una funzione di suddivisione e i dati now vengono inviati al database.

Passaggio 7: valutazione

Innanzitutto vogliamo ricordare che realizzare la scatola in legno anziché in cartone, rende l'intera configurazione fisica molto più affidabile, e quindi consigliamo di farlo.

La sostituzione dei sensori da un TCRT-5000 a un semplice sensore di luce LDR ha dato molta più stabilità, in quanto alla capacità dei sensori di leggere rapidamente quando una moneta passa accanto ad essa. Quando si lavora con un TCRT-5000 ci sono molti fattori che devono essere presi in considerazione, affinché il sensore funzioni come desideri.

Agganciare il sistema a un database ed essere in grado di presentare visivamente i dati in un modo tale che qualsiasi persona senza alcuna conoscenza preventiva di questo progetto, sia in grado di capire cosa sta succedendo, sembra dare più valore al progetto.

Consigliato: