Benvenuti a questa sezione dove parleremo del progetto Bomba Soft Air 2.0 questa rispetto alla versione 1.0 non è composta da una console e una ricevente ma di una sola singola, piu semplice ma allo stesso tempo più evoluta, infatti questa sarà composta da una sola console ma la differenza è che monsta un GLCD e un LCD carica i dati una una SD-Card e scrive dati come acensione spegnimento tipo giocate tempo giocate vittore da squadra rossa o blu e avra un lettore mp3 dove i vari suoni li li caricheremo su una micro SD-Card e avrà anche in più un gps cosi da avere via satellite le coordinate dove son state fatte le giocate e l’ora, e un software dedicato che rileverà automaticamente la SD-Card della console e archivierà il tutto in un database interno e cosi sarà possibile effettuare statistiche visionare le varie vincite che codice sblocco è stato inserito.
Direi che è un progettino interessante e molto funzionale questa è l’anteprima della console.
Bene questo è il risultato finale e il divertimento vi assicuro è molto.
Come prima cosa andrò ad elencare i varicomponenti del progetto e poi allegherò gli schemi firmwaree dati main della scheda SD-Card.
in linea di massima è abbastanza semplice il flow
In breve il il boot del firmware svolge questo compito inizializza le varie periferiche che son lcd keypad uart glcd mp3 gps sd-card il primo pic svolgera delle funzioni e il secondo pic altre funzioni avremmo potuto usare un pic da 100 pin ma in questo progetto abbiamo usato due 18f4650.
una volta inizializzato va a leggere i dati sulla sd card nella cartella main cerca il file di log e scrive avvio con coordinate e ore se il gps si è avviato, poi cerva nella cartella bmp i file disegni da inviare al glcd fatto questo invia comandi al secondo pic per emettere suoni dal mp3 , poi entra in modalità loop sul keypad e attende la pressione di un tasto abbinato al tipo di giocata , alla pressione del tasto invia al secondo pic che suono emettere e parte la giostra del tipo di giocata se è disinnesco con chiave oppure con codice o ecc. queste giocate son state decise dalla nostra squadra e creato nel firmwar i vari sub procedure di avvio con vari effetti di suoni e di immagini caricate da SD-Card ogni scelta ogni vincita tempi coordinate vengono tutte scritte nella cartella log della SD-Card cosi avere un bel programmino che leggendo questi file li inserisce in un database ed è molto carino avere delle statistiche su che chiavi son state usate che codice è stato inserito dove i tempi di disinnesco di protezione bomba ecc.
ora partiamo con i vari datasheet e schemi dei componenti nel progetto.
Keypad 3×4
Questo è il keypad che ho usato se ne trovano molti su ebay emazon ecc io mi trovo molto bene con questi e ne hò ordinato pacco da 20 .
Come lettore mp3 mi son trovato veramente bene con il DFPLayer Mini non è molto potente come uscita audio ma questo non è un problema perchè l’andremo ad amplificare semplicemente con un transistor ma se non vi interessa una potenza da rapper va bene anche la sua uscita.
allego il datasheet
Per questo modulo mp3 la struttura della micro SD_Card dovra essere composta da cartelle denominate 01 02 03 e cosi via
al loro interno dovrete inserire i file .mp3 in ordine 001 002 ecc.
qui vi allego il file .rar con gli mp3 che ho usato io vi bastera avere una micro SD_Card da 512 mb ed estrarla direttamente.
Per fas si che questo mp3 legga il file la sequenza dovrà essere questa:
Come Display ce ne sono montati 2 uno è un glcd e laltro è un lcd normale classico allego tutti i datasheet e gli esempi di collegamento poi nello schema ci sarà il collegamento andremo ad usare
Graphic LCD 128×64
La sigla esatta è gLCD_KS0108 sul web ci sono di tutti i prezzi e colori .
Per quanto riguarda lcd è un 4 x 16
e qui trovate il datasheet
Per il GPS ho usato un NEO-6 gps molto facile da usare e affidabile in ricezione comandi per la precisione non è male ovviamente ce ne son di migliori ma per 6 € accontentiamoci.
per questo modulo gps ci bastano tx rx in verita solo l’rx ci servira solo la ricezione dei dati gps.
Questo modulo la velocità dell’uart è impostata a 9600 baud nel firmware ogni volta che ci sarà una stringa valida di codice completa estraeremo la
Altitudine
Ground Speed
Latitudine
Longitudine
Satellite count
UTC Time ore minuti e secondi
UTC Data anno mese giorno
Questo è il dato che invia il gps da fonti wiki
$GPGGA,110617.00,41XX.XXXXX,N,00831.54761,W,1,05,2.68,129.0,M,50.1,M,,*42
questo in dettaglio
-
110617 – represents the time at which the fix location was taken, 11:06:17 UTC
-
41XX.XXXXX,N – latitude 41 deg XX.XXXXX’ N
-
00831.54761,W – Longitude 008 deg 31.54761′ W
-
1 – fix quality (0 = invalid; 1= GPS fix; 2 = DGPS fix; 3 = PPS fix; 4 = Real Time Kinematic; 5 = Float RTK; 6 = estimated (dead reckoning); 7 = Manual input mode; 8 = Simulation mode)
-
05 – number of satellites being tracked
-
2.68 – Horizontal dilution of position
-
129.0, M – Altitude, in meters above the sea level
-
50.1, M – Height of geoid (mean sea level) above WGS84 ellipsoid
-
empty field – time in seconds since last DGPS update
-
empty field – DGPS station ID number
-
*42 – the checksum data, always begins with *
-
$GPGSA – GPS DOP and active satellites
-
$GPGSV – Detailed GPS satellite information
-
$GPGLL – Geographic Latitude and Longitude
-
$GPRMC – Essential GPS pvt (position, velocity, time) data
-
$GPVTG – Velocity made good
-
$GPGSA – GPS DOP and active satellites
-
$GPGSV – Detailed GPS satellite information
-
$GPGLL – Geographic Latitude and Longitude
-
$GPRMC – Essential GPS pvt (position, velocity, time) data
-
$GPVTG – Velocity made good
qui il datasheet
Per quanto riguarda il lettore di SD-Card ho usato questo semplice modulo
Per questo non allego nessun datasheet le immagini parlano già da se’.
Per la valigetta ho usato una valigetta abs ne trovate di tutti tipi e modelli sta a voi questa scelta.
Ok per quanto riguarda l’atrezzatura cosi dovremmo esser apposto adesso partiamo con il lato pratico , questo è lo schema che andremo a realizzare è stato realizzato col software kicad
qui allego in formato .rar il main project con il sorgente in formato kicad potete divertirvi a modificarlo a piacimento.
Ora passiamo al Firmware, questo progetto è stato ideato con FlowCode 7 per chi non ha mai sentito parlare di questo software vi consiglio di farlo perchè vi semplifica e velocizza di gran lunga la creazione del firmware a mio parere anche abbastanza professionale.
Schema per quanto riguarda il firmware del U1
Questo pic andra a controllare keypad display glcd gps eeprom e SD-Card e dara i comandi al secondo pic.
Schema per quanto riguarda firmware del U2
Questo pic andra a controllare l’mp3 il secondo display e i vari led superiori
Bene ora passiamo alla parte software questo che allego è un software in c# fatto abbastanza alla veloce non è curato nei dettagli ma fa la sua bella figura.
Schermata main
divisa in 4 parti la prima è carica i dati dove poter caricare automaticamente i dati dalla SD_Card la sd card dovra esser impostata esattamente come da immagine
la prima cartella bmp ci son all’interno i file .bmp delle immagini da visualizzare su monitor son bmp monocromatici con una risoluzione precisa 128×64 che son esattamente i pixel del nostro GLCD nella cartella code cè un file .txt dovre verrà memorizzato il codice che inseriremo nella giocata con codice sblocco
nella cartella gps bè facile da capire verranno memorizzate le coordinate di dove si trova la bomba nella cartella main sempre file txt viene memorizzato quando si accende la bomba, nella cartella type ci son 2 file .txt uno game.txt in questo verra memorizzato il tipo di giocata, se la prima seconda ecc. nel secondo victory.txt verrà memorizzato la squadra che vince se blu o rossa. poi nel firmware è possibile cambiare a piacimento.
l’utilizzo della eprom interna detrmia il numero di index sarebbe l’id ad ogni acensione verra aggiunto un + 1 ed ad ogni file txt saranno impostati cosi
-> 1 intende prima acensione questo cresce e sarà l’id di tutti gli altri file come una sorta di counter anzi è un counter
cartella main
onoff.txt -> 1|ON-BOMB
cartella code
code.txt -> 1|1234
cartella gps queste son le coordinate con le ore
gps.txt -> 1|12.345670;123.456703;1;20;12
cartella type
file game come vedete 1 id 1 game inizio data ora
file victory codice o vittoria o detonazione ecc. con data ora
game.txt 1|1game;START;19/4/9;8:57:51
victory.txt 1|CODICE ESATTO Key;WIN;19/4/9;8:59:19
Questa è la schermata iniziale del software
Inserendo la SD-Card nel pc il software come prima procedura rileva quante unità è composto il vostro pc quindi presumendo che la vostra SD-Card abbia come lettera e: il software cerchera la cartella main/onoff.txt se trova questo file iniziera a caricare tutti idati contenuti nel file con il loro ID ecco perche ci serve un ID, dopodiche inserira nel db interno i record con l’id sui autoincrementante e allegando l’id dell’acensione con relativo on, dopodiche cerchera le altre cartelle e file anchessi avendo un id che combacia con quello di acensione tutto diviene logico id in main = id negli altri file cosi da caricare i dati nel DB con perfetto ordine.
Fatto ciò ripulisce tutti i file cosi da avere file nuovi ma tranquilli l’id è memorizzato nella eeprom della bomba ecco perche usiamo la memoria interna del pic.
Se nel caso sfortunato per dei motivi che anche io non sò non rileva la SD-Card si può sempre indicare facendo seleziona la sorgente.
ad esempio se non inserisco la SD-Card dira che i caricamenti non son stati possibili.
Nella Schermata visualizza dati con un datagrid si vedranno i dati inseriti nel db , in questa versione non ho ancora messo la possibilità di modificarli cancellarli e cosi via , ma potete sbizzarrirvi voi a farlo.
Nella schermata statistiche cè un riepilogo dei dati.
Nella schermata impostazioni potete crearvi a piacimento la vostra squadra con i nomi ranghi ecc quando chiudete autosalva nel db.
Non è indispensabile questo software sapendo che dati vengono memorizzati nella SD_Card vi potete divertire a crearvene uno anche voi a vostro piacimento.
Ora che siamo arrivati alla conclusione allego i video delle varie giocate che il nostro Team Soft Air si è creato se avete domande o commenti fate pure, pur che commentiate solo consigli non mi interessano insulti o critiche altrimenti li cancellerò. Grazie per il vostro tempo dedicato ha leggere questo progetto.
Video Main Start Bomb
Video Giocata tipo 1
Video Giocata tipo 2
Video Giocata tipo 3
Video Giocata tipo 4
Video Giocata tipo 5
Video Giocata tipo 6
Video Giocata tipo 7
Video Giocata tipo 8
Video End Game
Video Error Code
Video End Time Game
Total Page Visits: 369 - Today Page Visits: 2