Go Down

Topic: ArduoAlarmMega / ArduoMegaAlarm (Read 19041 times) previous topic - next topic

Giuseppe G.

:)
Dopo più di un anno, rieccoci con l'evoluzione del progetto ArduoAlarm.

Matteo, qualche giorno fà mi scrive:
Quote
Ho visto il suo progetto arduoalarm, ho trovato notizie fino al 2012 per caso siete andati avanti? Posso unirmi?


Perchè no!

Da quì abbiamo cominciato a pensare come sviluppare il nuovo progetto, che in sostanza sarà l'evoluzione del vecchio, ma con l'utilizzo di Arduino Mega.

Credo che con questa base HD non ci siano per un pò vincoli legati ai pin fisici, per il resto sarà tutto da definire.

Che ne pensate?

Volete unirvi anche Voi ?

Il progetto sarà totalmente OPEN SOURCE, come il predecessore.

C'è bisogno di qualsiasi info, che possa aiutare a sviluppare l'intero progetto, a partire dal software da utilizzare per lo sviluppo HD ed eventualmente, il SW per la configurazione della centrale, che questa volta sarà un pò più sofisticata della precedente.

Per gli interessati, aspetto un Vostro riscontro e consiglio.


Un saluto a tutti.

Giuseppe G.  ;)
Un saluto a tutta la comunità.
Giuseppe G.

PaoloP

#1
Feb 20, 2013, 12:46 pm Last Edit: Feb 20, 2013, 01:01 pm by PaoloP Reason: 1
Ciao,
ho provato a compilare la versione 0.4 con le librerie allegate e sull'IDE 1.0.3 da errori dovuti all'aggiornamento delle funzioni del core di Arduino.
Credo che sarebbe un'ottima cosa renderla compatibile con i nuovi IDE. (1.0.3 e 1.5.2)
Forse è sufficiente aggiornare le librerie.  ;)

EDIT:
Compila!!

Ho sostituito
Code: [Select]
lcd.write(0);
con
Code: [Select]
lcd.write((byte)0);

cancellata la libreria LiquidCristal perchè è già presente nell'IDE
e aggiunti nei file Time.cpp, TimeAlarms.cpp e AnalogButtons.h
al posto di
Code: [Select]
#include <WProgram.h>

il codice
Code: [Select]
#if defined(ARDUINO) && ARDUINO >= 100
     #include "Arduino.h"
#else
     #include "WProgram.h"
#endif


Quote
Dimensione del file binario dello sketch: 15.196 bytes (su un massimo di 32.256 bytes)


P.S.
Per il menù c'è la liberia MenWiz di Brunalti.

Testato

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

cyberhs

Ho una certa esperienza con Eagle e posso sviluppare schemi e PCB.

Può servire questa mia esperienza oltre ad una buona conoscenza del MEGA?

Giuseppe G.

:smiley-yell:

Tutti sono ben accetti !!!!

"L'iscrizione alla partecipazione" si può effettuare lasciando un post su (http://www.arduoalarmmega.blogspot.it) con il Vostro nome o nikname ed indirizzo E-Mail.
Verrete poi contattati per decidere insieme come portare avanti il progetto.


Partiamo dal presupposto che che sia tutto da inventare incominciando dal tipo di HD.

Dopo aver definito che si userà il MEGA 2560, si suppone di utilizzare un display LCD, una tastiera (analogica o multiplex), un altoparlante per segnalazioni audio.

Questo penso sia la base di partenza.

Un esempio su cosa discutere, prima di partire con la programmazione:

Abbiamo bisogno di ingressi filtrati o addirittura optoisolati e altrettanto per le uscite.
L'HD di ArduoAlarm, lo avevo testato con un generatore di onde per la compatibilità elettromagnetica, e lo aveva passato alla grande.
Mi sembra un pò esagerato l'optoisolatore, ma garantisce la protezione del micro.

E così via.......


Quindi definiamo per prima cosa il SW per creare lo schema elettrico che potrebbe essere Eagle, puchè si trovi la versione completamente Free, essendo questo un progetto OPEN, che potrà essere scaricato da tutti in un punto ben specifico.

L'IDE lo abbiamo tutti o comunque si sà dove reperirlo.

Chi possiede simulatori SW (per arduino) è ben accetto, visto che dovrà verificare il firmware.

Pensavo di fare una programmazione a registri, dove ad esempio il registro 0015 sarà il codice di accesso di un operatore o il registro 0116 il tempo di uscita per l'attivazione, i quali verranno mantenuti su eprom.

L'idea di usare il menu MenWiz può andare, bisogna vedere come integrarlo su di in display a 2 righe 16 caratteri.

Insomma..... :P   Vi piace l'idea ?
Un saluto a tutta la comunità.
Giuseppe G.

PaoloP

Se il Display 16x2 sta stretto ci sono anche più grandi; senza dover passare a quelli grafici che complicherebbero il codice.

Testato

per HD che intendi ? vuoi dire HW ?

stiamo parlando di uno standalone con 2560 ? Quanti sono in grado di saldarlo ?
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

PaoloP

Secondo me funziona anche il 328P in standalone con opportuni multiplex via I2C; oppure se proprio si vuole la mega, utilizzare il metodo di ER ovvero prevedere la piedinatura e incastrare la mega capovolta.

Guforil

Salve ecco il colpevole:)
Premetto che sono un appasionato e alle prime armi con Arduino, lavoro nel campo dell'informatica e sto leggendo il più possibile
Cmq volevamo basarci su un Arduino Mega 2560 in quanto meno restrittivo.
Rinnovo i saluti a tutti

Testato

paolo cosa e' questo metodo ER ? hai un link ?

ciao Guforil, intendi fare una standalone 2560 o implementare un progetto con arduino mega dentro ?
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

PaoloP

Intendo questo:


Un pcb su dove inserire la scheda come quella fatta da ER dei Vicenza Thunders.

Testato

ok, resta sempre un accrocchio pero', vuoi mettere uno standalone ?  :)
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Brunello

StandAlone forever...

e visto che il 2560 e' problematico, c'e' sempre il 644 o 1284

MauroTec

Al di la della scelta se standalone 2560, ATmega1284/644 o altro, io sono disponibile per disegnare lo schematico con Kicad e creare anche il PCB e simulare pezzi di circuito con LTSpice.

Di allarmi non ne capisco molto, quindi non ho idea circa le funzioni che deve avere e di conseguenza non mi pronunzio.

Per la progettazione posso dire che si possono usare più microcontroller piccoli tipo attiny, 168, 328 ecc per distribuire le funzionalità, oppure concentrare il tutto su un unico micro.

Per il software nel caso di unico micro, consiglio di fare attenzione al software che dialoga, alcune librerie possono bloccare il codice, in attesa di un cambio di stato, e non si risolve usando gli interrupt pinchanged perchè l'interrupt scatterà ma al termine della funzione utente agganciata all'interrupt l'esecuzione riprende dal punto di interruzione che se è quello del blocco non si avrà l'intervento della sirena ecc. Si può risolvere usando le librerie modificate per essere non bloccanti.

Tanto per dire:
Più microcontroller es, il 644 riceve dei comandi dal micro della tastiera/display con l'obbiettivo di mettere il 644 in modo interattivo o isolato. In modo isolato il 644 non comunica con il display/tastiera ma testa solo gli input di allarme e esegue le routine di gestione. Il 644 periodicamente cambia stato di una porta con l'obbiettivo di comunicare lo stato in cui si trova al display.

In questo modo non c'è possibilità in assoluto di bloccare il 644 quando è in modalità isolato. In tal caso il micro della tastiera/display deve anche servire come abilitatore disabilitatore. Per passare da modo interattivo/isolato basta un pin sotto interrupt commutato x volte dal display. Senza considerare che con allarme inserito quando la password è nel micro display/tastiera inserendo la password sbagliata non andremo a disturbare il 644 che sta sorvegliando.

Nota che anche la scrittura/lettura in eemprom interna può essere bloccante, bisogna evitare che accade.

Però dal momento che il codice è open sorces bisognerebbe fare la contrattazione del codice crittografico in automatico tra il micro tastiera/display e il 644, ma ne possiamo fare a meno se c'è il tamper e qualche altro accorgimento nel vano di allogio della scheda.

Ciao.
AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Testato

io metterei come rperogativa il fatto che debba essere senza fili, nessuno puo' permettersi di sfondare casa per sistemare una decina di sensori
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Go Up