[Tesina] SchoolDuino

Per dovere nei confronti di Ratto93 e per la felicità di tutti ( :sweat_smile:) 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 :slight_smile:

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 :sweat_smile:)..Dovrò pur venderlo bene il mio prodotto 8)
  • 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 :astonished: Non ne ho praticamente sbagliato uno ]:slight_smile:

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 :slight_smile: (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.. :P)

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.. :zipper_mouth_face:) . 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 (2.18 MB)

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

e usare rfid al posto degli infrarossi? XD

comunque se uno non si registra? risulta assente?

a parte questo direi ottimo lavoro :wink:

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

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

superlol:
e usare rfid al posto degli infrarossi? XD

comunque se uno non si registra? risulta assente?

a parte questo direi ottimo lavoro :wink:

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

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

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.

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

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

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 :stuck_out_tongue:

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)

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

:sleeping: io me la ronfo bellamente.... Non è vero! :smiley: Hihi :blush:

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 :slight_smile:
Poi io sono abbastanza cocciuto quindi non usavo funzioni o classi senza approfondire bene la documentazione Java.. :sweat_smile:

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 .. :zipper_mouth_face:

Poi negli orali basta tamponare e via ]:smiley:

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... :zipper_mouth_face: )

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

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.

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 :stuck_out_tongue_closed_eyes:

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.

Testato:
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.

Le barre di R potrebbero essermi molto utili per mantenere pulita la breadboard (Non pensavo esistessero). Io avevo optato per l'unica resistenza perchè avevo poco spazio e le uniche R che ho da 220Ohm sono quelle che vedete in foto. Non proprio piccoline..

In settimana provo a fare un salto al negozio di elettronica e vedo se le tiene queste barre.

Cmq ho ancora tempo prima dell'orale e una soluzione la trovo. Grazie mille ragazzi :slight_smile:

Per quanto riguarda il fatto che mi troverò un elettronica..Nahh..E' una informatica pura la commissaria esterna, neanche ha fatto ingegneria. Resta il fatto che le R sono cmq da mettere.

Cmq ho trovato in Arduino una piattaforma di lancio davvero bella e ben fatta. Quando poi ho scoperto processing quello è stato il trampolino che mi ha fatto fare il salto da "programmazione inutile" a primi "programmini stupidi ma dotati di un senso proprio". Poi il progetto è diventato sempre più grande quindi sono passato ad Eclipse e cominciato ad usare Swing per gli elementi della GUI.

PS: non nego che non vedo l'ora di avere del tempo per cimentarmi nella programmazione Android e migliorare il mio stile di programmazione ]:smiley:

(Ho in mente anche un paio di progettini con Arduino davvero interessanti ma se ne parla dopo la maturità).

Questa cmq è la mappa concettuale della tesina:

Chiedo perdono per aver copiato "English Corner" da una tesina che avevo trovato qui sul forum. Di quel ragazzo che porta i pad midi. Posso?..E' che mi piace come Aggettivo per quella parte di tesina svolta in lingua inglese.

Il progetto è carinissimo e molto figo. Però non vedo all'atto pratico una sua fattibile realizzazione concreta. Perché mi pare una cosa che a 16 anni non pensi minimamente di fare, vuoi per svogliatezza vuoi per anticonformismo e spirito reazionario insito a quell'età XD

leo72:
Il progetto è carinissimo e molto figo. Però non vedo all'atto pratico una sua fattibile realizzazione concreta. Perché mi pare una cosa che a 16 anni non pensi minimamente di fare, vuoi per svogliatezza vuoi per anticonformismo e spirito reazionario insito a quell'età XD

La realizzazione concreta mi sa che non la vedo neanche io :* o almeno, non dopo un lungo lavoro di rifinitura del progetto. Il collegamento con i ragazzi di 16 anni però non lo capisco :sweat_smile: nel senso che non hanno voglia di premere il bottone?

leo72:
Il progetto è carinissimo e molto figo. Però non vedo all'atto pratico una sua fattibile realizzazione concreta. Perché mi pare una cosa che a 16 anni non pensi minimamente di fare, vuoi per svogliatezza vuoi per anticonformismo e spirito reazionario insito a quell'età XD

a parte che ne avrà una diciottina di anni, visto che è di maturità, e qualche eccezione a me arriva l'anno dopo, quindi forse non dovresti generalizzare così :wink:

Lui sta facendo la tesina ma è un progetto che dice che dovrebbe usare la sua scuola (parla di 1000 studenti), quindi dalla 1a alla 5a la media è 16 :stuck_out_tongue:

Cmq non era una critica personale a lui, io mi immedesimo in uno studente anticonformista, moderno, che la mattina arriva e si mette a chiacchierare con la fidanzata e gli amici, figurati se si ricorda di "sparare" al server con il suo schedino... che poi chissà se si è ricordato di portarselo dietro :sweat_smile: