Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

sketch contapersone

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteMassimoB, Foto Utentexyz, Foto UtenteWALTERmwp

0
voti

[1] sketch contapersone

Messaggioda Foto Utentenicoct » 13 mar 2018, 7:14

salve, vorrei realizzare un contapersone (o anche contammacchine) con arduino e prima di scrivere la programmazione avrei alcuni dubbi; intanto parto dalle specifiche:
- per il parcheggio vorrei disporre di una sola via di accesso (dalla quale la macchina entra o esca)
- sarebbe interessante che quando una macchina entri, quella che debba uscire si fermi dall' altro lato (mediante una segnalazione luminosa, una sorta di semafor0 con un diodo led ) e viceversa
- se il parcheggio è pieno non possa avere accesso nessuna macchina
Eventualmente sarebbe carino (anche in un 2 tempo), aggiungere una barra che si alza e si abbassa
ha disposizione ho una scheda arduino e una coppia di tx-rx a infrarossi (denoaminate BIN e BOUT).
la mia idea era quella di implementare tramite interrupt ma ho alcuni dubbi:
- il segnale di uscita da ciascuna barriera ad infrarossi oscilla tra 0 e 3,3 V (a seconda se vi sia un osctacolo o meno): questo dipende da come ho realizzato la barriera: nella possibilità di usare l' interrupt questo potrebbe creare dei problemi?
- nella mia mente il programma dovrebbe fare qualcosa del genere:
-inizialmente i due led sono off, parcheggio vuoto (contatore=0)
se deve entrare una macchina e il diodo led è off, l' interrupt sulla BIN rileva una transizione e viene attivata la relativa procedura asincrona: pertanto il led in uscita si accende e si incrementa il contatore dopo avere fatto il controllo sulla massima capacità del parcheggio.
se deve uscire una macchina viene fatta la stessa operazione ma ovviamente agisce l' interrupt su BOUTe non vi è controllo sulla capacità del parcheggio.
adesso vado a postare la mia domanda:
- entra una macchina, questa attraversa la prima barriera e si ha la transizione e interviene l' interrupt: la macchina attraversa la via di passaggio ed interviene la 2 barriera
Avatar utente
Foto Utentenicoct
113 6
Frequentatore
Frequentatore
 
Messaggi: 149
Iscritto il: 2 nov 2010, 15:56

0
voti

[2] Re: sketch contapersone

Messaggioda Foto Utentenicoct » 13 mar 2018, 7:15

https://www.youtube.com/watch?v=gsTIoOBkCgI
in questo video c è un fac simle del mio progetto
Avatar utente
Foto Utentenicoct
113 6
Frequentatore
Frequentatore
 
Messaggi: 149
Iscritto il: 2 nov 2010, 15:56

0
voti

[3] Re: sketch contapersone

Messaggioda Foto UtenteMarcoD » 13 mar 2018, 8:14

L'approccio di scrivere prima una specifica è buono :ok:

Il tuo proposito è per gioco, studio, una tesina, o una effettiva realizzazione ?
Se vuoi effettivamente realizzarlo, cerca un prdotto esistente e chiedi un preventivo.
Che budget in Euro/ore prevedi?

Il costo di Arduino è il meno: che contenitore usi?, cablaggi ? dove lo metti, all'aperto al chiuso?

Il problema del 3,3 V lo risolvi con un adattamento del segnale, magari con un operazionale connesso a comparatore o un semplice transistor con due resistenze (se non sai risolverlo allora sei un principiante e non ancora un professionista :-) )

Parlare di "interrupt" non è sbagliato, ma forse inutilmente complicato, i segnali variano lentamente (al massimo una frazione di secondo), una lettura in sense ogni 100 ms è sufficiente.

Io aggiungerei un display 2*16 caratteri, per visualizzare il valore conteggiato e dei pulsanti per inizializzare il conteggio e impostare il numero massimo di auto quando accendi l'elettronica,

Fai uno schema a blocchi o elettrico dei segnali di ingresso/ uscita con fidocadj


entra una macchina, questa attraversa la prima barriera e si ha la transizione e interviene l' interrupt: la macchina attraversa la via di passaggio ed interviene la 2 barriera
??
In funzione della barriera attraversata per prima, si capisce se è un ingresso o una uscita.
Occorre esaminare i casi limite: passaggio velocissimo di un insetto :-) , passante che si ferma fra le barriere :-) . Azionare un segnale di allarme?

O_/
Avatar utente
Foto UtenteMarcoD
5.227 2 6 13
Master EY
Master EY
 
Messaggi: 1811
Iscritto il: 9 lug 2015, 16:58
Località: Torino

0
voti

[4] Re: sketch contapersone

Messaggioda Foto Utenteelfo » 13 mar 2018, 9:48

MarcoD ha scritto:Occorre esaminare i casi limite: passaggio velocissimo di un insetto :-) , passante che si ferma fra le barriere :-)

Ottime osservazioni a cui aggiungo una ulteriore analisi presa da un articolo |da leggere tutto) pubblicato su CQ elettronica nell'aprile 1973 dall'ing Enzo Giardina.

The light dependent automatic switch (ma l'articolo e' in italiano) pag 553

http://www.introni.it/pdf/CQ%20elettron ... 973_04.pdf
Allegati
Giardina.png
Avatar utente
Foto Utenteelfo
2.004 1 3 7
Expert EY
Expert EY
 
Messaggi: 805
Iscritto il: 15 lug 2016, 13:27

0
voti

[5] Re: sketch contapersone

Messaggioda Foto Utentenicoct » 13 mar 2018, 11:43

Il tuo proposito è per gioco, studio, una tesina, o una effettiva realizzazione ?
Se vuoi effettivamente realizzarlo, cerca un prdotto esistente e chiedi un preventivo.
Che budget in Euro/ore prevede?


il budget ovviamente è molto povero, dovrebbe essere un progetto semplice per studio niente di più

Il problema del 3,3 V lo risolvi con un adattamento del segnale, magari con un operazionale connesso a comparatore o un semplice transistor con due resistenze (se non sai risolverlo allora sei un principiante e non ancora un professionista :-) )

il discorso dei 3,3 V deriva dal fatto che per come è stato realizzato il circuito della barriera ad infrarossi, il segnale in uscita l' avevo adattato con uno zener da 3,3 V (erano gli unici che mi ritrovavo al momento); ma il limite potrei sfruttare degli ingressi analogici di arduino

Parlare di "interrupt" non è sbagliato, ma forse inutilmente complicato, i segnali variano lentamente (al massimo una frazione di secondo), una lettura in sense ogni 100 ms è sufficiente.
[

cerco di fare allora una lettura sensing osservando il passaggio ogni 100 msec circa
Avatar utente
Foto Utentenicoct
113 6
Frequentatore
Frequentatore
 
Messaggi: 149
Iscritto il: 2 nov 2010, 15:56

1
voti

[6] Re: sketch contapersone

Messaggioda Foto UtenteMarcoD » 13 mar 2018, 11:51

o con uno zener da 3,3 V
: risparmia mezzo caffè e compra uno zener da 4,7 V :lol:

Visto che è per studio, oltre che contare, potresti misurare il tempo fra il primo e il secondo traguardo, ricavi la velocità media dell'attraversamento, così fai un misuratore di velocità (per le auto, i ciclisti, le pèiste da scì. :-) )
Memorizzando ed elaborando le varie misure di velocità puoi ricavarne una statistica, con calcolo valore medio, varianza e/o distribuzione statistica. :-)

Se metti un rilevatore a una certa altezza (1,6 m ?) , puoi studiare se le personeralte (adulti?) si muovono più lentamente dei bassi (ragazzi?) .... :lol:
Avatar utente
Foto UtenteMarcoD
5.227 2 6 13
Master EY
Master EY
 
Messaggi: 1811
Iscritto il: 9 lug 2015, 16:58
Località: Torino

0
voti

[7] Re: sketch contapersone

Messaggioda Foto Utentenicoct » 13 mar 2018, 18:47

ok vada per il mezzo caffe risparmiato...vediamo dove lo trovo nelle vicinanze..nel varesotto (confine svizzera) non ci sono tanti negozi...
ma l' idea di sfruttare gli ingressi analogici per la lettura dell' uscita della barriera e fare un confronto con il valore 512 non sarebbe buona lo stesso?
Avatar utente
Foto Utentenicoct
113 6
Frequentatore
Frequentatore
 
Messaggi: 149
Iscritto il: 2 nov 2010, 15:56

1
voti

[8] Re: sketch contapersone

Messaggioda Foto UtenteMarcoD » 13 mar 2018, 18:50

Si, ma è uno spreco !!
Per avere circa 4,7 v aggiungi due diodi un serie allo zener da 33 V
Avatar utente
Foto UtenteMarcoD
5.227 2 6 13
Master EY
Master EY
 
Messaggi: 1811
Iscritto il: 9 lug 2015, 16:58
Località: Torino

0
voti

[9] Re: sketch contapersone

Messaggioda Foto Utentenicoct » 13 mar 2018, 19:04

ok domani faccio questo...
nel frattempo mettiamo su un programma...
dico subito che sto prendendo spunto da questo sito
http://www.xfox.it/2011/01/17/arduino-uno/
Codice: Seleziona tutto
//Definizione dei pin
//definizione dei due ingressi digitali delle barriere
const int RX1 = 12;
const int RX2 = 11;
//definizione dei due lampeggianti (semafori rossi) immeditamente prima delle barriere e di un eventuale //buzzer
const int ledR1=10;
const int ledR2=9;
const int buz=8;
//limite posti contapersone o parcheggio
int limite=10;
//Inizializzazione delle variabili del programma
long milliscorrenti = 0;
long ritardo = 0;
long intervallo = 5000; // 5 Secondi espressi in millisecondi
int contapersone = 0; //Variabile contapersone

void setup() {
//Definizione input e output
pinMode(RX1, INPUT);
pinMode(RX2, INPUT);
pinMode(ledR1, OUTPUT);
pinMode(ledR2, OUTPUT);
pinMode(buz, OUTPUT);
//Inizializzazione comunicazione seriale
Serial.begin(9600);
//Inizializzazione led
digitalWrite(ledR1, LOW);
digitalWrite(ledR2, LOW);
}
/
Avatar utente
Foto Utentenicoct
113 6
Frequentatore
Frequentatore
 
Messaggi: 149
Iscritto il: 2 nov 2010, 15:56

0
voti

[10] Re: sketch contapersone

Messaggioda Foto UtenteMarcoD » 13 mar 2018, 22:15

Se vuoi, prova una struttura come questa, che viene eseguita ogni un certo tempo, l'avevo copiata da un programma dui esempio di arduino
Codice: Seleziona tutto
  …................................
long memtempo;
byte cnt = 0; byte cnt_t = 0; byte cntb = 0;

void setup()
{ //; }

void loop()
{ if ((millis() - memtempo) >= 2 ) //periodicità elaborazione bit 2 ms
  { memtempo = millis();
  //
  cnt++; if (cnt>=16) //periodicità elaborazione bit 32 ms
    { cnt =0;
     // eseguiti ogni 32 ms
    }
  }   
}
…................................................................
Avatar utente
Foto UtenteMarcoD
5.227 2 6 13
Master EY
Master EY
 
Messaggi: 1811
Iscritto il: 9 lug 2015, 16:58
Località: Torino

Prossimo

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite