Pages: [1] 2 3 4   Go Down
Author Topic: [Tesina] SchoolDuino  (Read 2478 times)
0 Members and 1 Guest are viewing this topic.
Pavia
Offline Offline
Full Member
***
Karma: 0
Posts: 114
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Per dovere nei confronti di Ratto93 e per la felicità di tutti ( smiley-sweat) ecco il mio progettino.

SchoolDuino

Prendi un Arduino, con un LED Ir, e un Ricevitore Ir. Aggiungi due pulsanti. Fiondalo in tasca ad ogni studente. (Quindi può essere benissimo uno Stand-Alone). Anzi..buttiamoci dentro anche un Display 7 segmenti.

Prendi un altro Arduino (stavolta ti serve la USB..). Sempre un Led Ir e un Ricevitore Ir. Stavolta però ninente pulsanti. Collegalo al computer.

Scrivi due piccoli firmware per l'Arduino con la USB (Che chiamerò SERVER) e per quello Stand Alone (CLIENT).

Avvia sul computer questo software: (Un migliaio di righe di codice..)



Premi Avvia.

MISSION COMPLETE  smiley


Ora..
  • Lo studente Cavia arriva a scuola. Guardando con il suo Arduino il SERVER clicca il pulsantino..Tataaa..Presenza registrata.
    Lo studente Cavia deve uscire prima da scuola. Guardando il Server preme il pulsantino..Tataaa..Uscita anticipata registrata.
    ecc..

Funzioni accessorie: Lo studente vuole sapere quante assenze ha fatto dall'inizio dell'anno?..Guardando il Server preme L'ALTRO pulsantino. tataaa..Sul display 7 segmenti viene visualizzato il numero delle..mmm..marinate..Totali!.


FEATURE:
- Salvataggio della Banca Dati (assenze, ritardi..ecc) in formato crittografato AES a 256 Bit
- Comodo, pratico, intuitivo, mirabolante, bellissimo, FA anche il Caffè! (no scherzoo  smiley-sweat)..Dovrò pur venderlo bene il mio prodotto  smiley-cool
- Altre che sono presenti nel software..

Ho pensato molto a come risolvere il problema di interferenza tra Ir nel caso due studenti vogliano registrarsi contemporaneamente. Ho risolto adottando un sistema a turni di pochissimi millisecondi. In pratica quando un Client vuole trasmettere aspetta che il Server dia inizio al suo turno e una volta che tocca a lui in quei pochi millisecondi invia la richiesta.
Attualmente in un secondo sono riuscito a farci stare 33 turni. Quindi in una scuola da 300 persone in media uno studente deve aspettare 5 secondi per registrarsi. Ma penso che perdendoci del tempo ulteriore posso ancora aumentare il numero di turni al secondo. Ma  il tempo manca..

Soddisfazioni personali: TANTE!.
- Primo programma in Java oltre ad Helloword!
- Primo progetto Arduino!
Idea originale e "autoideata"

Client:



SERVER:



Momenti da ricordare:
"Il giorno in cui ho scelto che non volevo uno Starter Kit e ho cominciato ad ordinare componenti a caso su RS. e  smiley-eek Non ne ho praticamente sbagliato uno  smiley-evil

Cmq un Grazie doveroso a tutta la community. Mi avete aiutato davvero tanto!. Un mese fa non sapevo nemmeno cos'era Arduino e ora sono felice come un bimbo. Se ho flashato bootloader ecc è merito vostro smiley (E' giusto pensare di mettere una resistenza da 220Ohm al catodo di un Display a Catodo comune in moto da non doverne mettere una per ogni Pin? fin'ora funziona..  smiley-razz)

Allegato trovate il software da eseguire sul computer!. (Se trovate Bug fatemelo sapere prontamente).

Speriamo che la commissione apprezzi lo sforzo e che tutto vada per il verso giusto. (La figuraccia è sempre in agguato e gli infrarossi non danno moltissima sicurezza..  smiley-zipper) . Però ho utilizzato un algoritmo Sony per la trasmissione che ho modificato per renderlo più veloce che devo dire che è molto preciso e sicuro. (Un grazie a Ken Sheriff per il codice di base).
Grazie anche al creatore della librearia ControlP5 per Processing.



Se avete domande chiedete pure! Tenete conto che è un prototipo e solo il punto di partenza. Penso che per la maturità però basti questo e mi convenga usare il tempo restante per ripassare altre più materie possibili.

* SchoolDuino.zip (2231.17 KB - downloaded 14 times.)
Logged

"Sono convinto che l'informatica abbia molto in comune con la fisica...Dentro i confini del computer, sei tu il creatore. Controlli – almeno

Tuscany
Offline Offline
Edison Member
*
Karma: 38
Posts: 1488
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bravo....
Ti vedo bene a fare il direttore del personale in una grande azienda
Logged

Riva del Garda, TN / Forlì
Offline Offline
Edison Member
*
Karma: 7
Posts: 2247
Il piu' modesto al mondo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

e usare rfid al posto degli infrarossi?  smiley-lol

comunque se uno non si registra? risulta assente?

a parte questo direi ottimo lavoro  smiley-wink

tanto la scuola italiana non ha soldi quindi non ti comprerà mai nulla  smiley-lol (però sarebbe più carino avere il "telecomando" su millefori invece che su breadboard smiley-razz )

P.S.:
fa tanto minority report dove ti leggono le retine ovunque vai smiley-grin
Logged

Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

Pavia
Offline Offline
Full Member
***
Karma: 0
Posts: 114
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

e usare rfid al posto degli infrarossi?  smiley-lol

comunque se uno non si registra? risulta assente?

a parte questo direi ottimo lavoro  smiley-wink

tanto la scuola italiana non ha soldi quindi non ti comprerà mai nulla  smiley-lol (però sarebbe più carino avere il "telecomando" su millefori invece che su breadboard smiley-razz )

P.S.:
fa tanto minority report dove ti leggono le retine ovunque vai smiley-grin

Rfid costano troppo. La mia scuola ha 1000 alunni. Ho pensato anche ad un modulo Rf ma..3 euro a modulo per 1000 sono 3 mila euro in più. L'obiettivo era spendere meno possibile e penso di esserci riuscito!.

Cmq l'idea è una variazione di un qualcosa..in pratica quest'anno nella mia scuola hanno messo giu lettori di smart card ovunque perchè vogliono implementare un sistema simile..solo che la solita cosa all'italiana..20'000 mila euro spesi e per attivarli definitivamente dicono che servano altri soldi..e via così..in pratica non verranno mai attivati. Da qui lo stimolo ad ideare questo progetto.

 Se uno non si registra risulta assente..ma non vedo il motivo per stare a scuola a perdere tempo e non vederlo neanche riconosciuto quel tempo!.

Per quanto riguarda la millefori..è solo un prototipo quindi la BreadBoard penso sia giusta!. Poi sinceramente..in un mese..Imparare abbastanza Java per farlo, imparare ad usare Arduino, imparare l'elettronica minima per sviluppare il progetto..Non c'era tempo per imparare anche a lavorare con le millefori! (è nei piani di questa estate!)
Io faccio uno scientifico e queste cose le sfioriamo e basta.
« Last Edit: June 19, 2012, 12:25:41 pm by legolas93 » Logged

"Sono convinto che l'informatica abbia molto in comune con la fisica...Dentro i confini del computer, sei tu il creatore. Controlli – almeno

Offline Offline
Edison Member
*
Karma: 24
Posts: 2032
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sarebbe stato il mio incubo a scuola i prof non ricordano mai quanti ritardi/assenze fai  smiley-twist complimenti per il progettino =)
Logged

"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 26
Posts: 5480
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mi ero illuso di vedere un fusor ma ti devo i miei complimenti  smiley-wink
Davvero bello compare !!!
Dai... la senti l'ansia che sale ? il culmine sarà domani tra le 8:00 e le 8:30  smiley-evil
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

Riva del Garda, TN / Forlì
Offline Offline
Edison Member
*
Karma: 7
Posts: 2247
Il piu' modesto al mondo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

i chip rfid passivi non costano nulla.
500 smart card le trovi a 300€
alla fine prendendone 1000 le paghi 500€ sinceramente (da 125KHz)
più 30€ a modulo ricevitore-trasmettitore. contando che una scuola ha massimo 4 entrate (in genere) fai in totale neanche 1000€.

poi però non vi è la gestione della visualizzazione delle ore di assenza.

poi costa più il tuo telecomando:
2€ di 4 display 7 seg, 1 shift register 0.50€, un atmega sui 3€ alla fine una rfid costa molto meno smiley-razz

certo non puoi visualizzare le ore di assenza (ma le puoi interfacciare su un database mysql ed ogni studente ha una password per vederle. noi lo abbiamo a forlì per assenze, voti e circolari, si chiama delfoscuola però è tutto manuale e non automatico)

Logged

Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

Pavia
Offline Offline
Full Member
***
Karma: 0
Posts: 114
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mi ero illuso di vedere un fusor ma ti devo i miei complimenti  smiley-wink
Davvero bello compare !!!
Dai... la senti l'ansia che sale ? il culmine sarà domani tra le 8:00 e le 8:30  smiley-evil


 smiley-sleep io me la ronfo bellamente.... Non è vero!  smiley-grin Hihi  smiley-red

Cmq lo sforzo è stato molto di più nella parte software (Trasmissione dati Ir, via Seriale, ecc, senza dimenticare il programma di gestione in se!). La parte elettronica è relativamente banale. (Poi magari pubblico tutto il codice, quello dei due Arduino e quello del programma di gestione)

Eh solo che prima di comprare le cose ho letto che era molto difficile interfacciare Arduino ad un modulo rfid..magari mi sbaglio..nel senso..avevo letto che nessuno era riuscito ancora a farlo funzionare! quindi ho deciso di partire da qualcosa di realizzabile..

e poi gli infrarossi mi affascinavano e gli avevo in casa. Ccon il display cmq ha qualche potenzialità ancora da esprimere, queste sono le funzioni minime che può avere. Ultima cosa: mi ero preposto l'obiettivo di imparare più possibile e sapevo che realizzare qualcosa di attuabile veramente e concretamente era praticamente impossibile. Ma ho imparato molto e sono felice  smiley
Poi io sono abbastanza cocciuto quindi non usavo funzioni o classi senza approfondire bene la documentazione Java..  smiley-sweat

A me quello che spaventa di più è la terza prova. Italiano penso di cavarmela, fisica pure data la mole enorme di esercizi svolti. Mentre la terza prova ..  smiley-zipper

Poi negli orali basta tamponare e via  smiley-twist
Logged

"Sono convinto che l'informatica abbia molto in comune con la fisica...Dentro i confini del computer, sei tu il creatore. Controlli – almeno

Riva del Garda, TN / Forlì
Offline Offline
Edison Member
*
Karma: 7
Posts: 2247
Il piu' modesto al mondo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

io per una cosa simile ammetto che usere VB.net in quanto mooolto facile (si lo so.. micro$oft.. infatti ho deciso di imparare phyton).

comunque l'rfid mi ha incuriosito, appena entra qualche soldo 30€ vanno in imu ed altri 30€ in rfid, voglio vedere se funziona bene (poi in convitto ci sono le tag rfid passive per aprire le stanze chissà se...  smiley-zipper )
Logged

Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
E' giusto pensare di mettere una resistenza da 220Ohm al catodo di un Display a Catodo comune in moto da non doverne mettere una per ogni Pin? fin'ora funziona..
No, è sbagliato, o meglio lo è se piloti contemporaneamente (e non in multiplexer) tutti i 7 digit. Ogni digit deve avere la sua R di limitazione, se ne usi una sola in comune ottieni una differente luminosità delle cifre in base al numero di segmenti accesi.
Prova a mandare 1 e poi 8 o viceversa e ti accorgerai come 1 è molto più luminoso di 8.
D'altra parte (non ho visto lo schema) se il catodo lo stai collegando anch'esso ad un pin di Arduino questo diverrebbe un grosso problema da gestire, ma immagino che tu invece l'abbia collegato a GND.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Riva del Garda, TN / Forlì
Offline Offline
Edison Member
*
Karma: 7
Posts: 2247
Il piu' modesto al mondo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
E' giusto pensare di mettere una resistenza da 220Ohm al catodo di un Display a Catodo comune in moto da non doverne mettere una per ogni Pin? fin'ora funziona..
No, è sbagliato, o meglio lo è se piloti contemporaneamente (e non in multiplexer) tutti i 7 digit. Ogni digit deve avere la sua R di limitazione, se ne usi una sola in comune ottieni una differente luminosità delle cifre in base al numero di segmenti accesi.
Prova a mandare 1 e poi 8 o viceversa e ti accorgerai come 1 è molto più luminoso di 8.
D'altra parte (non ho visto lo schema) se il catodo lo stai collegando anch'esso ad un pin di Arduino questo diverrebbe un grosso problema da gestire, ma immagino che tu invece l'abbia collegato a GND.
ma se accende e spegne ogni pin il problema non si presenta.. come per le matrici di led
Logged

Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

Pavia
Offline Offline
Full Member
***
Karma: 0
Posts: 114
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
E' giusto pensare di mettere una resistenza da 220Ohm al catodo di un Display a Catodo comune in moto da non doverne mettere una per ogni Pin? fin'ora funziona..
No, è sbagliato, o meglio lo è se piloti contemporaneamente (e non in multiplexer) tutti i 7 digit. Ogni digit deve avere la sua R di limitazione, se ne usi una sola in comune ottieni una differente luminosità delle cifre in base al numero di segmenti accesi.
Prova a mandare 1 e poi 8 o viceversa e ti accorgerai come 1 è molto più luminoso di 8.
D'altra parte (non ho visto lo schema) se il catodo lo stai collegando anch'esso ad un pin di Arduino questo diverrebbe un grosso problema da gestire, ma immagino che tu invece l'abbia collegato a GND.

Sisi la differente luminosità l'avevo notata e penso anche capita. (Leggi di Kirchhoff) la corrente è sempre la stessa se non sbaglio quindi quando la divido per 7 mi da meno luminosità. Ma cmq non rischio di fare danni vero?. L'altro piedino connesso al GND.
Logged

"Sono convinto che l'informatica abbia molto in comune con la fisica...Dentro i confini del computer, sei tu il creatore. Controlli – almeno

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

No, l'unico danno è quello di far storcere il naso di brutto a chi ha un minimo di decente conoscenza di elettronica, è davvero una cosa da non fare, se non per ottenere volutamente un qualche effetto scenografico, ma varrebbe p.es. per una barra di led, non certo per un display numerico. Insomma, se fai in tempo, metti 7 R sui digit e toglia quella sul catodo, che se trovi un Elettronico a valutare il tuo lavoro (molto bello peraltro!) ti fa nero smiley-yell
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

0
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5611
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

mi associo ai complimenti, molto ben fatto, bravo.
segui il consiglio del menny sulle R, per fare il figo potresti usare una barra di r chiusa in un unico chip.
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

mi associo ai complimenti, molto ben fatto, bravo.
segui il consiglio del menny sulle R, per fare il figo potresti usare una barra di r chiusa in un unico chip.

Verissimo, ci sono le reti resistive, quelle di tipo parallelo, le ho usate sul mio capacimetro TTL, 8 resistenze da 150 ohm (ma il valore lo scegli all'acquisto) sotto forma di un DIP16.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Pages: [1] 2 3 4   Go Up
Jump to: