Vai al contenuto
PLC Forum


CASSAFORTE a tempo con microprocessore.


Luigi Marchi

Messaggi consigliati

Questo è un progetto molto semplice di automazione, con un software per microprocessore che non può mancare nella “scatola degli attrezzi” di un programmatore.

Serve Arduino, un display seriale 16X2, 1 Mosfet  e poco altro. L’obiettivo non è quello di farsi da soli la cassaforte, ma è solo uno studio, virtuale, per  essere pronti ad offrire consulenza a un’azienda del settore, che vuole modernizzare la sua gamma.

Link al commento
Condividi su altri siti


Le cassaforti a tempo si aprono solo dopo un certo lasso di tempo e sono un dissuasore nei confronti di furti e rapine. Vengono usate nelle banche e nelle abitazioni. L’elettronica ha sostituito i vecchi congegni con orologi meccanici.

Tipicamente penso al negoziante che la sera mette il contante nella sua cassaforte a tempo, nella sua abitazione, per poi  portarlo in banca la mattina successiva, ma il software si può adattare a situazioni molto diverse.

Il nostro negoziante la sera mette i valori in cassaforte, la chiude e accende la cassaforte, cioè un orologio gestito da un microprocessore per consentire l’apertura la mattina.

Solo il negoziante sa quante ore debbono passare perché la cassaforte si apra. Nessun ladro è in grado di aprirla prima del tempo, menchemeno se stacca la corrente. Né serve fare il terzo grado al padrone di casa per conoscere la combinazione: non c’è.

Link al commento
Condividi su altri siti

La parte più importante del codice software riguarda l’orologio, perché i microprocessori misurano il tempo in modo molto accurato, con un quarzo, ma ci mettono a disposizione solo un numero.

Doobbiamo trasformare il numero in ore, minuti e secondi e visualizzare questa informazione. E dobbiamo fare i soliti giochetti da funambolo per concretarlo.

Il codice Arduino che ho messo a punto i mesi scorsi, per un altro progetto  è questo qua:

 

    // Visualizzo il messaggio sul display SERIALE:

    lcd.clear();      // pulisce lo schermo:

    lcd.print("hh-mm-sec       ");        

    lcd.setCursor(0, 1);

    lcd.print("  :  :          ");

    durata = millis()/1000;

    if (durata >= 3600)

    {

      ore = durata/3600;

      durata = durata - (ore * 3600);

    }

    if (durata < 3600)

    {

      minuti = durata/60;

      durata = durata - (minuti * 60);

    }     

    if (durata < 60) secondi = durata;

    lcd.setCursor(0, 1);        

    lcd.print(ore);  

    lcd.setCursor(3, 1);        

    lcd.print(minuti);       

    lcd.setCursor(6, 1);        

    lcd.print(secondi);  

    //   

Link al commento
Condividi su altri siti

Scusa ma da cosa misuri il trascorre del tempo?

Hai un dispositivo dedicato?

le dieci righe che hai scritto, senza le informazioni primarie sono di una banalità esagerata, come affermare che nell'atmosfera c'è azoto.:)

Link al commento
Condividi su altri siti

Quando si accende Arduino inizia il conteggio, in millesimi di secondi.

 

In qualunque momento posso sapere qual'è il numero che misura il tempo. Così:

      adesso = millis();

basta fare una misura successiva, fare la differenza e tradurla in secondi, minuti, ore, ecc.

 

La funzione millis() mi restituisce un numero che misura i millesimi di secondo.   

 

Link al commento
Condividi su altri siti

Il caso che ho immaginato richiede un timer. E voglio che venga visualizzato la durata da quando ho chiuso la cassaforte. Non quello che manca alla apertura. Al ladro che mi tortura per sapere quando si apre la cassaforte posso dire tranquillamente la verità, tipo che si apre dopo che il timer arriva a 12 ore.

Comunque sarà il costruttore di casseforti a dirci come vuole che funzioni. Noi dobbiamo avere gli strumenti software per farlo.

Link al commento
Condividi su altri siti

Per inciso in banca ho subito una rapina e una cassaforte con timer l'avevamo, dove custodire le somme di denaro più importanti. Quei soldi non sono stati rubati.

Link al commento
Condividi su altri siti

Per l'apertura della cassaforte, passato il tempo stabilito, penserei a una serratura elettrica tipo quella dei cancelletti di casa a 12 volt. Pilotato da un Mosfet, piuttosto che da un relè convenzionale.

Link al commento
Condividi su altri siti

adesso ci manca solo che fai il giro delle banche a proporre Arduino .....

Poi quando arduino va in crash oppure si scarica la batteria devi prendere il flessibile a il plasma per aprirla ....

Se vai a vedere i WTImer che ho scritto capirai che non serve fare tutto quel lavoro li , lo fa la libreria ;)  

Un progettista - programmatore deve saper analizzare , scegliere e riutilizzare parti di codice gia testati e gia pronti all'uso  

Ricorda sempre che "costruire" software è come costruire stabili . Se c'e' gia chi fornisce le finestre , i mattoni e il cemento ,l'ingegnere o architetto o una volta il fu geometra, devono saper conoscere , scegliere ed utilizzare .

Incomincia a fare le cose con un certo criterio e con una certa serietà . A noi non interessa che sai scrivere 4 righe di codice copiato o rielaborato per arduino , lo sanno fare anche i bimbi di 5 anni senza che parlino troppo. Ci sono ragazzetti di 14-15 anni che ci mangiano vivi a tutti per cui....io ti avevo gia consigliato e istruito su come proporre un progetto ma a quanto pare a te interessa solo dimostrare che sai scrivere 4 righe di codice con Arduino e lodarne i pregi . Se vuoi ho un libro sopra il quale ci sono N progetti gia pronti , tra cui cassaforte , pwm etc .

Non mi stai raccontando niente di nuovo e soprattutto di chiaro perche spari fuori il tuo problema , poi scrivi le tue soluzioni , poi metti le righe di codice senza che gli altri possano capire seriamente cosa stai facendo  Te lo dico per esperienza , fare cosi non serve a niente e a nessuno , poi fai te , liberissimo di continuare a postare codice a caso ;)

Link al commento
Condividi su altri siti

Walterword. Alle tue librerie ci guardo. Quanto a proporre Arduino non ci penso proprio. E' un lavoro per i nostri giovani che escono dalle scuole professionali e vogliono fare consulenza in piccoli laboratori, mentre gli ingegneri solitamente vanno sotto padrone, nelle aziende più grandi. Conosco gli artigiani che fanno l'elettronica di TechnoGym o quelli che fanno le macchine per i giochi nei bar. Ti posso assicurare che le soddisfazini sono notevoli. Poi a Faenza abbiamo anche la Toro Rosso, che usa elettronica di altissimo livello.

Link al commento
Condividi su altri siti

E io che credevo di vedere finalmente analizzato un micro poco discusso come ad esempio l'st....e invece...il solito arduino...e pure senza RTC

 

che dire.......:wallbash:

Link al commento
Condividi su altri siti

Non c'è bisogno di utilizzare Arduino, che serve solo nella fase della prototipizzazione. Si può usare una scheda dedicata. Quanto all'alimentazione non penso proprio si debbano utilizzare delle batterie, ma piuttosto un alimentatore da rete.

Link al commento
Condividi su altri siti

ho inserito nella sezione upload/download del forum elettronica la presentazione e la tesi basate sul WSystem 

Dagli un'occhiata , potrebbe servirti per documentare i tuoi progetti

Link al commento
Condividi su altri siti

Fai bene a promuoverlo, visto che ti è costata tanta fatica. Ti auguro le migliori soddisfazioni. C'è bisogno di gente che si dia una mossa e sia coraggiosa. 

Tornando ad Arduino penso abbia delle qualità, visto il successo. Per conto mio ho apprezzato molto la facilità nella fase della programmazione e dei test.

Link al commento
Condividi su altri siti

io sono 45 anni che mi do una mossa e che prendo le cose di petto , con coraggio :)

Impara a progettare come si deve e a presentare le cose che vorresti realizzare, sia per scopi dilettevoli che professionali

Poi le tecniche , le funzioni , il controllore etc si trovano 

Link al commento
Condividi su altri siti

Per scrivere il software del progetto che stiamo valutando bastano poche ore. Le modifiche anche meno.

Il mercato è molto competitivo e globalizzato. Ma quello che serve dalle nostre parti lo sappiamo molto meglio noi che in Cina.

Bisogna essere veloci e cogliere le opportunità.

Il tema della sicurezza è di grande attualità.

Per chi "lavora" con il software ci sarà sempre più spazio.

Link al commento
Condividi su altri siti

Ho pensato alla cassaforte a tempo perchè ho amici che hanno subito furti e sto pensando di comprarla.

Siamo nell'ambito della quotidianità, che ispira gran parte dei nostri consumi.

Avendo consapevolezza dei progressi della tecnologia ho subito pensato di acquistare un prodotto "moderno".

Non so se c'è qualcosa di nuovo.

So che progettare qualcosa di nuovo, piuttosto che insistere su prodotti "maturi", non è fuori dalla realtà, nè bisogna fasciarsi la testa prima del tempo pensando che sia impossibile migliorare l'esistente.

Prima di bocciare un progetto occorre mettere a punto un prototipo, verificare i punti di forza e di debolezza rispetto alla concorrenza, cercare di migliorarlo e provare anche a lanciarlo sul mercato. Certi test sono poco costosi e si vede subito se un prodotto "funziona" o no.

Questa prossimità tra chi progetta le cose e chi le consuma è una novità importante, che ha cambiato le regole del gioco.

Sul progetto aspetto contributi.

Link al commento
Condividi su altri siti

Mai sentito parlare della chiave bulgara che apre anche le porte blindate con serratura a doppia mappa e lo fa senza scasso ? Io sì, ed è un buon motivo per usare l'elettronica e l'informatica per risolvere le problematiche della sicurezza.

Link al commento
Condividi su altri siti

si ma pensare alla cassaforte come oggetto a se ....e pensarlo invece come elemento di un certo insieme per esempio domotico , non e' la stessa cosa.

Per cui ve bene il compito che fa la "centralina", che preferisco chiamare controllore , ma senza un accesso al resto del mondo come RS485 , o RS232, o ethernet o altro serve a ben poco .Non so se riesci a capire .

Se scrivi il modulo di codice come un "oggetto" , lo si può integrare per esempio nel WSystem come modulo di gestione cassaforte all'interno di un contesto astratto di home building .E queste cose sono quelle che fanno la differenza rispetto ai cinesi ,ma neanche piu di tanto perche ormai sono anche loro in grado di compilare toolchains per linux, fornire sistemi embedded, plc e software .

Pero' forse questo discorso è troppo per te....o no ?

Link al commento
Condividi su altri siti

Adesso basta!

Altra discussione che è una presa in giro.

 

La funzione millis() rende il numero di millisecondi dal momento che il micro inizia a funzionare, ovvero qualche millisecondo dopo che la tensione di alimentazione ha superato la soglia di tensione minima.Il codice pubblicato al più visualizza il tempo trascorso dal momento dell'accensione della scheda.

Anche trascurando la rozzezza della soluzione per ricavarne il tempo in i secondi, primi e ore, anche ammettendo che il sistema non avrà cadute di alimentazione, ci sono 2 gravi difetti anche come orologio.

Prima di tutto è la precisione insufficiente perchè il clock generico usato per questa funzione è impreciso e tende a derivare sempre dal medesimo verso, sicchè l'errore si cumula; meglio sarebbe usare come clock i 50Hz della rete, almeno in questo caso l'errore non è monotonico, ma statisticamente tende ad annullarsi.

Secondo grave difetto: non è previsto nulla per gestire il trabocco.

Già perchè le specifiche lo dicono chiaramente: il contatore ha una capienza pari a circa 50 gg, poi trabocca e riparte da zero.

Ma tu Luigi le specifiche non le avrai lette perchè le conosci per scienza infusa.

 

Poi, gravissimo, spacciare questa routinetta come codice per aprire un qualche cosa a tempo è veramente troppo.

Non c'è nessun confronto, non c'è nessuna possiiblità di introdurre una soglia, niente che la faccia assomigliare ad un sistema temporizzato.

Senza contare poi che vorrebbe anche un minimo di schemi Hardware a corredo.

 

Pazienza se tu avessi intitolato il lavoro come: "Semplice funzione per visualizzare il tempo di accensione di arduino su di un display LCD".

Ma no questo era troppo corretto, allora tu hai sparato un bel titolo roboante. "CASSAFORTE a tempo con microprocessore".

 

Ma per favore! Ci hai forse classificati come imbecilli?

 

Luigi se vuoi fare il troll vai su un'altro forum. Alla prossima blocchiamo il tuo account !:angry::angry:

Link al commento
Condividi su altri siti

  • Livio Orsini locked this discussione
Ospite
Questa discussione è chiusa alle risposte.
×
×
  • Crea nuovo/a...