Telesoccorso dotato di modulo cellulare e ricevitore RF sintonizzato su un’apposita trasmittente attivando la quale vengono inviate chiamate telefoniche e SMS ai numeri selezionati. Ideale per soccorrere anziani e ammalati allettati.
Cambiamenti nella società e nel modo di vivere modificano ed estinguono usanze e costumi a volte secolari, molti dei quali coinvolgono la famiglia: se nelle civiltà rurali e nei piccoli paesi è ancora consuetudine trovare più generazioni nello stesso fabbricato, nelle grandi città le famiglie sono sparpagliate ed è frequente trovare anziani che vivono da soli, per scelta o per necessità.
Se è vero che nella nostra tecnologicissima società non sono affatto abbandonati, esistendo telefoni e soprattutto cellulari, da tenere vicino se occorre aiuto, è altrettanto certo che si può migliorare qualcosa nel modo di trasmettere all’esterno eventuali necessità incombenti; infatti il telefono o il cellulare presumono che per telefonare, ad esempio, a vicini e parenti, ovvero al soccorso medico o alle Forze dell’Ordine, si debba comporre una serie di tasti e leggere il display (negli smartphone occorre addirittura navigare tra icone e menu, il che non è così immediato), mentre poter disporre di qualcosa che in caso di bisogno si attivi con un comando essenziale sarebbe l’ideale.
Il telesoccorso descritto in queste pagine va proprio in questa direzione, perché consente, semplicemente premendo il pulsante di un piccolissimo trasmettitore da portare al collo con una collanina o laccetto (cordicella) di quelli per i pass o i badge aziendali, di attivare un modulo GSM in grado di inviare chiamate ed SMS con la richiesta di soccorso a una lista di numeri telefonici preventivamente memorizzati; il tutto, praticamente all’istante. Il progetto nasce come salvavita per anziani e persone fragili o ammalati allettati e può essere personalizzato per adattarlo ad altri impieghi similari.
Il sistema è composto da un’unità basata su modulo GSM quad-band (850, 900, 1.800 and 1.900 MHz) quindi capace di agganciare tutte le reti disponibili, a tutto vantaggio di una celere connessione in caso di emergenza, oltre che da un minitrasmettitore leggerissimo che la persona che potrebbe necessitare d’aiuto deve portare addosso. L’ampia copertura del sistema TX-RX radio operante a 433 MHz consente di rendere sicura la trasmissione della richiesta d’allarme dal minitrasmettitore alla base anche in grandi appartamenti, nelle ville e persino dal giardino o da un piano all’altro.

Il sistema
Il minitrasmettitore e il decoder rolling-code
Fatta questa premessa, diamo dunque uno sguardo al nostro telesoccorso, analizzandone il circuito con la premessa che descriveremo l’unità base ma non quella portatile, giacché quest’ultima è un minitrasmettitore 8110-HCS-TX-1 venduto già pronto e collaudato dalla Futura Elettronica (www.futurashop.it ); di questo ci limitiamo a spiegare che si basa su un encoder HCS300 rolling-code, ossia capace di generare un codice differente ad ogni trasmissione, così da garantire la massima sicurezza ed esclusività del comando. Il codice generato viene poi utilizzato per modulare in AM OOK un minitrasmettitore UHF sintonizzato sui 433 MHz, che irradia il segnale nell’ambiente.
L’unità base è in grado di riconoscere e prevedere i codici trasmessi dal minitrasmettitore (o da più minitrasmettitori) perché implementa l’algoritmo di decodifica HCS300 e l’unica condizione imposta per sincronizzarsi è l’esecuzione dell’apposita procedura, che prende il via con la pressione del pulsante a bordo del circuito; spiegheremo questo tra breve.
Vediamo dunque di cosa si tratta, analizzando lo schema elettrico del circuito, la cui gestione è stata affidata a un microcontrollore Microchip PIC18F46K20-I/PT; la scheda è modulare e come mostra lo schema elettrico, si presta alla realizzazione di più applicazioni, tant’è che l’abbiamo già utilizzata nel fascicolo n° 223 per il progetto “Save my child” seppure equipaggiata con una differente dotazione hardware. Qui, infatti, manca l’accelerometro (quindi non montiamo quello che nello schema elettrico è siglato U5 e neppure l’U4) ma abbiamo in più il ricevitore radio ibrido e un pulsante ad esso dedicato.
Il microcontrollore è programmato affinché legga lo stato logico delle linee di uscita del modulo radioricevente (ibrido Aurel RX-4MHCS) allo scopo di rilevare l’arrivo di un codice di richiesta di soccorso, il pulsante di avvio della procedura di autoapprendimento e sincronizzazione del trasmettitore da abbinare all’unità base, ma anche per gestire il modulo cellulare (GSM).
Notate che il circuito prevede elementi che possono essere montati o meno, proprio perché lo abbiamo concepito come piattaforma di sviluppo espandibile.
Il ricevitore radio ibrido RX-4MHCS
Qui, il microcontrollore deve limitarsi a gestire il ricevitore radio e il modulo GSM, oltre che la memoria esterna; il suo compito è facilitato dal fatto che, riguardo alla gestione del comando radio, non deve occuparsi della decodifica in quanto U6 non è un semplice ricevitore radio, ma qualcosa di più completo, giacché integra la decodifica.
Infatti l’RX-4MHCS è un ricevitore RF in AM a 433,92MHz ad elevata sensibilità e selettività, con decodifica HCS integrata, capace di decifrare l’algoritmo rolling-code Keeloq della Microchip, il quale prevede stringhe di trasmissione contenenti un codice base fisso e un codice variabile a 32 bit. Quindi questo ibrido sintonizza il segnale inviato dai trasmettitori compatibili (Aurel HCS-TX-1/2/3 OVO, TX1/2/3-HCS-433 HCS, TX-2/4/6 M-HCS, TX-12 CH) e provvede a confrontarne il codice contenuto con quello o quelli memorizzati (nella propria EEPROM interna, dove vengono scritte le sole parti fisse del codice di ogni TX) durante l’autoapprendimento: se tra i codici in memoria c’è quello trasmesso, il modulo attiva una delle sue quattro uscite (CH1, CH2, CH3, CH4) nella modalità impostata tramite l’apposito piedino, altrimenti nulla accade e il modulo si predispone a una nuova ricezione.
Le uscite sono open-collector e in numero di quattro perché l’ibrido può essere gestito da minitrasmettitori ad 1, 2 o 4 canali; ogni canale è attivo. a livello basso (transistor in saturazione) e a riposo a livello alto (transistor interdetto).
La sicurezza del sistema rolling-code
Trattandosi di un decoder rolling-code, è previsto un sistema di salvaguardia nel caso di pressioni a vuoto dei pulsanti, ovvero di trasmissioni fuori portata; l’utilità si spiega considerando che una volta appreso un trasmettitore, il decoder si sincronizza con il suo encoder e applicando l’algoritmo Keeloq, grazie a un contatore interno sa, ad ogni trasmissione, che codice aspettarsi; però se una o più trasmissioni vanno a vuoto, il decoder potrebbe non riuscire più a identificare il minitrasmettitore, che pure risulta appreso perché il suo codice base è stato scritto nella memoria.
Per limitare questa possibilità, il decoder ammette uno scostamento, vale a dire riconosce come valida una trasmissione purché contemplata nelle 64 possibili combinazioni che succedono all’ultima ricevuta, secondo l’algoritmo Keeloq; nel caso il codice ricevuto rientri in questo margine, al suo riconoscimento il decoder HCS si rimette in passo, cioè azzera il proprio contatore e da quel momento ripristina anche la “finestra di tolleranza” di 64 trasmissioni a vuoto.
Se invece viene superato questo limite, il minitrasmettitore non verrà più riconosciuto e occorrerà apprenderlo nuovamente.
La logica di funzionamento e la gestione degli ingressi
Ciò detto andiamo al funzionamento dell’insieme, che poi si identifica con quello del microcontrollore: dopo il power-on-reset inizializza la linea RB1 come ingresso dotato di pull-up interno per poter leggere un contatto normalmente aperto collegato a IN2; il diodo D3 protegge il microcontrollore nel caso all’input venga applicata erroneamente una tensione superiore a quella di alimentazione del PIC. Il firmware attualmente “sente” il solo IN2, che viene utilizzato come semplice ingresso attivo a zero logico, ovvero collegato a massa ad esempio mediante interruttori.
La variazione dello stato dell’ingresso IN2 genera la trasmissione di SMS o l’esecuzione di telefonate, come farebbe un qualsiasi telecontrollo GSM e può essere impiegato, ad esempio, per rilevare l’apertura della porta di casa o di una finestra o avvertire se una persona su una sedia a rotelle cade: in questo caso specifico si può applicare sotto la seduta una piastra a pulsanti come quella del progetto del Save my child, che avverte quando la persona non è più presente.
IN2 può anche essere collegato all’uscita di un sensore P.I.R. per rilevare se la persona si muove, ovvero a un interruttore reed applicato alla porta di casa; quest’ultima situazione è molto utile per monitorare persone affette dal Morbo di Alzheimer, che se escono di casa senza essere accompagnate possono smarrirsi, ma anche persone con problemi psichici che necessitano di un controllo da parte di parenti o personale sanitario.
Tornando al microcontrollore, vediamo che un altro pin inizializzato come input è RB3, sempre dotato di pull-up interno, che serve a leggere il pulsante P1 (utilizzato per forzare l’accensione del modulo cellulare, che normalmente è spento).
Sempre all’inizializzazione degli I/O, RB4 è impostato come ingresso per leggere, tramite il partitore resistivo R1 ed R2, l’accensione del circuito ad opera del doppio deviatore SW1b; il partitore serve perché il microcontrollore tollera una tensione minore di quella d’ingresso presente sul connettore di alimentazione. La funzione dell’RB4 è riservata a futuri sviluppi e si spiega considerando che il circuito può funzionare sia alimentato da un alimentatore di rete mediante la presa USB, sia mediante la batteria al litio collegata all’uscita dell’apposito regolatore di carica.
Alimentazione a batteria o da rete USB
Quando SW1 è spostato sui contatti “crocettati” nello schema elettrico, il resto del circuito è isolato dalla batteria, quindi spento; se all’ingresso di alimentazione (USB) è applicata la tensione di 5 volt funziona solamente lo stadio caricabatteria (alimentato tramite il diodo D1, che lo protegge dall’inversione di polarità). Spostando SW1 in posizione di acceso, SW1b porta la tensione d’ingresso alla linea RB4 e SW1a alimenta il microcontrollore e quant’altro con la tensione ai capi della batteria (circa 4V a piena carica…) oltre ad accendere il convertitore switching step-up siglato U3, il quale genera i 5 volt necessari al resto del circuito.
Nel funzionamento con il circuito alimentato dall’USB, SWb porta la tensione d’ingresso alla RB4, che implementandone la lettura nel firmware consente di capire se è presente l’alimentazione della rete; tale funzione è utile a realizzare l’allarme antiblackout. Invece nel funzionamento a batteria RB4 permette al microcontrollore di saperlo e attuare eventuali strategie di contenimento dei consumi (ad esempio la riduzione degli intervalli di accensione del cellulare). La linea RB4 è l’unico modo che il firmware ha per capire quando il circuito sta funzionando a batteria, perché se U1 riceve alimentazione anche quando RB4 è a zero volt significa che il circuito funziona a batteria, mentre se è alimentata sta funzionando con la tensione prelevata dall’USB.
Restando in tema di alimentazione, la linea AN0 viene utilizzata per leggere il livello della tensione, fornita dalla batteria al litio, che alimenta il microcontrollore e il resto del circuito, eccetto il ricevitore radio; se il firmware lo prevede, permette di porre in shutdown l’insieme quando la batteria si sta scaricando, ovvero al disotto di una certa soglia di tensione.
Le uscite, l’accelerometro e l’interfaccia verso il modulo GSM
Torniamo all’inizializzazione degli I/O e vediamo che le linee RC0, RE1, RE2 ed RA7 sono inizializzate come input, che sono stati provvisti di pull-up esterno e serviranno a leggere i canali del ricevitore ibrido (il pull-up è reso necessario dal fatto che gli output del modulo sono open-collector). Ogni volta che uno di questi cambierà di stato, il micro ordinerà l’invio di un SMS o di una telefonata secondo le impostazioni fatte canale per canale, come verrà spiegato più avanti.
RC3, RC4, RB0 e RD4 sono le linee assegnate all’accelerometro U4, che però è disponibile per futuri sviluppi in quanto non viene gestito dal firmware; idem per U5, che sarebbe stato gestito da RA0, RA1 e RA2.
La linea RC2 è inizializzata come output e produce una serie di impulsi digitali quando il cicalino piezoelettrico BUZ1 deve produrre la nota acustica di avviso prevista dal firmware; altri due output sono RD6 e RD7, cui è affidato il compito di accendere i LED LD1 e LD2.
L’interfaccia verso il modulo GSM SIM800C
Terminiamo l’analisi degli I/O con RD0, RD2, RD3, RC5, che insieme alle RX e TX dell’UART costituiscono l’interfaccia verso il modulo cellulare SIM800C della SIMCom, che nel circuito è montato su un’apposita scheda adattatrice da inserire nell’apposito connettore previsto sul circuito stampato. La compatta scheda contenente il cellulare GSM SIM800C dispone di un connettore d’antenna MMCX 90° e si connette allo stampato base mediante uno strip maschio 2×10 poli a passo 2 mm sul quale risultano disponibili l’alimentazione, la linea di controllo dell’accensione (PWR), tutti i segnali e le linee di comunicazione seriale da e verso il modulo GSM. La scheda viene fornita già assemblata e richiede un’antenna GSM dotata di connettore MMCX.
Il modulo scambia con il microcontrollore i dati sui messaggi trasmessi (quelli di allarme) e ricevuti (quelli di configurazione) attraverso l’UART del PIC, che serve anche per i comandi di impostazione del cellulare; il resto delle linee riguarda segnali di stato: RD2 legge l’uscita per il LED di “campo” che viene ripetuto da LD4, mentre RD3 legge il Ring Indicator, ossia il contatto del cellulare che fornisce il livello logico alto quando viene ricevuta una telefonata. La linea RD0 permette il reset del modulo e RC5 provvede all’accensione e allo spegnimento; reset e ON/OFF sono implementati dalla circuiteria a bordo della scheda su cui il SIM800C è montato.
Il caricabatteria e il convertitore step-up
Definiti gli I/O del microcontrollore, diamo uno sguardo alle due sezioni coinvolte nell’alimentazione del circuito: il caricabatteria e il DC/DC step-up.
Il caricabatteria è basato sull’integrato U2, un MCP73831T prodotto dalla Microchip che accetta in ingresso tipicamente 5 volt (il range ammesso è tra 3,75 e 6 volt), provenienti, in questo circuito, dal connettore USB e fornisce all’uscita la corrente occorrente alla carica di elementi agli ioni di litio o ai polimeri di litio (Li-Po) erogando fino a 550 milliampere. La batteria (da collegare ai contatti +/- BAT) può avere una capacità teoricamente illimitata, perché al massimo si carica in un tempo lunghissimo, tuttavia considerate che con una corrente di 550 mA un elemento da 550 mAh si carica in un’ora; siccome abbiamo scelto una cella da 500 mAh, questa si caricherà in meno di un’ora.
L’integrato funziona nella configurazione tipica, dove il diodo luminoso LD3 è pilotato dall’uscita STAT, la quale si pone a livello logico basso durante la carica, mentre rimane a livello alto a fine carica; la stessa si porta ad alta impedenza (open) quando l’MCP73831T è in shutdown o all’uscita VB non risulta collegata alcuna batteria. VB (piedino 3) è l’uscita per la batteria al litio. L’integrato effettua la carica a corrente e tensione costante. La corrente di carica (Ireg) viene impostata con la resistenza collegata al piedino 5 (R6, nel nostro caso), al cui valore è legata dalla relazione:
Ireg = 1.000/R
dove il valore della R risulta in ohm se la corrente Ireg è espressa in A. Ad esempio, con 4,7 kohm si ottiene una limitazione a 212 mA, mentre con una R di 2,2 kohm la corrente vale circa 454 mA. Se il piedino 5 viene aperto, l’integrato si porta a riposo ed assorbe appena 2 µA (shutdown); il piedino può quindi essere usato come enable.
Il convertitore boost a 5V
Terminiamo la descrizione dello schema elettrico con il convertitore elevatore che dalla tensione della batteria ricava 5V stabilizzati; lo stadio si basa su integrato MCP1640BT-I/CHY ed è del tipo boost a carica d’induttanza. Al suo interno c’è un generatore di impulsi PWM che pilota un transistor il cui collettore chiude periodicamente a massa la bobina L1 attraverso il pin SW, caricandola e lasciando che nei periodi di pausa essa restituisca l’energia immagazzinata, attraverso il piedino 5, ai condensatori di filtro C2, C3, C4, C7 e C9.
Il diodo di clamp che protegge il transistor è anch’esso all’interno, il che riduce i componenti esterni necessari al minimo indispensabile: abbiamo infatti i condensatori di filtro tra Vout e massa, l’induttanza L1 e il partitore resistivo tra Vout e FB che provvede a retroazionare il generatore PWM attraverso l’amplificatore di errore interno, stabilizzando la tensione d’uscita al valore desiderato. Modificando il rapporto tra R7 ed R8 si può quindi variare la tensione fornita dal pin Vout, ma non è nostro interesse farlo.

Elenco componenti
C1, C8, C10: 1 µF ceramico (0805) C2, C6, C7, C9 100: nF ceramico (0805) C3, C4 470: µF 6,3 VL tantalio (D) C5 4,7: µF 6,3 VL tantalio (A) R1, R2, R4, R13, R14, R15, R16: 10 kohm (0805) R3, R12: 1 kohm (0805) R5, R9, R10, R11: 470 ohm (0805) R6: 3,3 kohm (0805) R7: 470 kohm (0805) 1% R8: 150 kohm (0805) 1% R17: - U1: PIC18F46K20-I/PT U2: MCP73831T U3: MCP1640BT-I/CHY U6: Modulo Aurel RX-4MHCS U4, U5: - P1: Microswitch 90° P2: Microswitch LD1: LED 3 mm giallo LD2:, LD4, LD5 LED 3 mm verde LD3: LED 3 mm rosso D1, D2, D3: MBRA140T3G D4: MMSD4148T1G DZ1: Zener 2,7V 500mW L1: Induttanza 4,7 µH 770mA BUZ1: Buzzer Ø 12mm senza elettronica GSM: Modulo GSM (FT1308M) SW1: Deviatore slitta 2 vie USB1: Connettore micro-USB Varie: - Connettore 2x10 femmina passo 2 mm - Morsetto 2 poli 2.54mm (3 pz.) - Pin Strip maschio 6 vie - Connettore JST 2 vie passo 2 mm c.s. - Circuito stampato S1361 (85x51 mm)

Realizzazione pratica
Montaggio del circuito stampato
Bene, descritti tutti i blocchi dello schema elettrico, vediamo come costruire il sistema a partire dal circuito stampato; nell’applicazione descritta ci servono il PCB base e il modulo cellulare (che è venduto dalla Futura Elettronica con il codice 7100-FT1308M e la cui scheda viene fornita già assemblata). Il circuito stampato base è un doppia faccia che si realizza per fotoincisione partendo dalle tracce dei lati rame scaricabili dal nostro sito web www.elettronicain.it. Ottenuto il c.s. disponetevi i componenti iniziando dai passivi e dagli integrati (microcontrollore e l’MCP73831, in contenitore SOT-23,) e terminando con il cicalino, il pulsante e i connettori. A parte i LED, il cicalino, il pulsante e le morsettiere, tutti i componenti previsti sono per montaggio superficiale (compreso il connettore a 2 file per il modulo cellulare).
Gli integrati vanno saldati aiutandovi con il flussante per evitare che lo stagno unisca accidentalmente i piedini vicini tra loro (il passo è piccolissimo) e con una lente d’ingrandimento. Ricordiamo che per una buona saldatura è consigliabile operare con un saldatore da 20 o 25 watt a punta fine e filo di lega saldante del diametro di 0,5 mm o meno, stagnando le piazzole interessate e poi ricoprendole di flussante per agevolare la saldatura dei terminali; conviene altresì servirsi della lente d’ingrandimento, meglio se di quelle illuminate da tavolo, per verificare che i componenti siano centrati rispetto alle rispettive piazzole e che non vi siano baffi di stagno a creare cortocircuiti.
La disposizione e l’orientamento dei componenti polarizzati (diodi, condensatori elettrolitici, integrati ecc.) sono visibili nei disegni di montaggio e nelle foto del prototipo che trovate in queste pagine; notate che dei LED, quelli sul bordo vanno piegati ad angolo retto per farli spuntare dal retro del contenitore (Fig. 1), mentre il solo LD5 (utilizzato per le segnalazioni durante la fase di autoapprendimento dei minitrasmettitori) va montato dritto e resterà all’interno del contenitore. Quanto al modulo radioricevente, dev’essere saldato dopo averne piegati i terminali ad angolo retto, allo scopo di mantenerlo sdraiato, così da ridurre l’ingombro verticale della scheda.
Il modulo GSM, l’antenna e il ricevitore RF
Terminato il montaggio del circuito, inseritevi il modulo GSM (che doterete di apposita antenna con cavo provvisto di connettore MMCX) e verificate che ogni componente sia correttamente montato; il circuito dev’essere racchiuso in un contenitore di plastica facendo uscire l’antenna, che potrete collegare prolungando il connettore mediante un apposito cavetto maschio femmina di cui fisserete il connettore per l’antenna su una parete del contenitore. Le foto fatte al prototipo mostrano come abbiamo inscatolato la scheda: nello specifico è stato utilizzato un contenitore in plastica composto da una parte superiore una inferiore stampate in 3D con del filamento di PLA nero (Fig. 2).
Quanto al ricevitore RF, necessita anch’esso di una sua antenna, la quale può essere costituita semplicemente da uno spezzone di filo in rame rigido con guaina, lungo 17 cm, da saldare (sguainandone l’estremità quanto basta) nella piazzola che porta al piedino 3 dell’ibrido U6.
Ricordate che per poter utilizzare il telesoccorso è necessario inserire una SIM attiva nell’apposito lettore della scheda contenente il modulo GSM.


Impostazione e comandi
Completata l’installazione dovete configurare l’unità; tale operazione si effettua da SMS, quindi inserite nel portaSIM del modulo 7100-FT1308M una SIM pronta all’uso senza il PIN di sicurezza, annotatene il numero telefonico corrispondente, quindi con un cellulare impartite i comandi previsti, che sono tutti riportati nella Tabella 1.

Configurazione della lista dei numeri
Le prime cose da fare sono configurare i numeri della lista di quelli che il sistema chiamerà o cui destinerà gli SMS di allarme; per facilitare la procedura, essendo il sistema protetto da password in tale operazione, è stata prevista la modalità di Easy Setup: nel periodo immediatamente successivi all’accensione, il sistema memorizza il primo numero telefonico che gli effettua una chiamata e lo considera il primo numero della lista (il periodo di attesa dura fin quando il LED giallo lampeggia e alla ricezione della telefonata lo stesso LD1 si spegne).
Questo potrà eseguire modifiche anche senza password; comunque i comandi possono essere inviati da qualsiasi telefono purché il relativo SMS comprenda la password, anche se per velocizzare alcuni comandi abbiamo previsto che quelli inviati dai numeri in lista possano essere impartiti senza bisogno di password. Per i comandi di aggiunta e rimozione numeri dalla lista, la richiesta della password fa sì che a gestire la lista sia solo una persona abilitata a farlo.
Passiamo ora alla descrizione dei comandi e alle relative sintassi, con la premessa che il circuito accetta anche SMS contenenti più di un comando; in tal caso i comandi devono essere separati ognuno da quello successivo mediante una virgola.
Sintassi dei comandi via SMS
Il primo comando che esaminiamo è quello di modifica della password e consta di un SMS del tipo PWDxxxxx;pwd, dove al posto di xxxxx si deve scrivere la nuova password (composta cinque cifre) mentre pwd indica la password attuale. La password predefinita è 12345.
La memorizzazione di uno degli otto numeri abilitati ad inviare comandi di configurazione si effettua inviando un SMS nel cui testo sia contenuto il testo NUMx+nnnnnnnnnnnnn;pwd, dove al posto di x deve essere scritto quale dei numeri (posizione) si sta memorizzando, al posto delle n va il numero mentre pwd è l’attuale password. Il tutto va scritto senza spazi.
Sono ammessi numeri di 19 cifre ed il + è quello che, nel prefisso internazionale composto dai cellulari, sostituisce lo 00. Per esempio, l’inserimento del numero 00398911512 in terza posizione si opera con un comando del tipo: NUM3+398911512;pwd. La password è necessaria solamente quando si tenta di salvare un numero in una posizione già occupata da un altro; invece, se si deve inserire un numero in una posizione vuota basta inviare un SMS con il testo NUMx+nnnnnnnnnnnnn.
La rimozione di un numero si effettua con un SMS che contenga il testo NUMx;pwd; al posto della x va scritto il numero della posizione nella quale si trova l’indicativo da cancellare, mentre pwd è la solita password. Ad esempio, per rimuovere dalla lista memorizzata il quarto numero, occorre un messaggio che contenga: NUM4;pwd. Per richiedere la lista dei numeri memorizzati nel circuito occorre inviare un SMS con il seguente testo: NUM?;pwd. La scheda risponde al numero del telefono dal quale proviene l’interrogazione.
È possibile conoscere in ogni momento la qualità del segnale GSM inviando il comando QUAL?; il sistema risponde con un SMS contenente l’attuale situazione. Il messaggio viene inviato al telefono che ha impartito il comando.
Ingressi, notifiche e destinatari
Passiamo ai messaggi di configurazione e stato degli input: LIV? permette di conoscere lo stato dell’ingresso IN2, che in questa applicazione può funzionare solo a livello di tensione, quindi per esso viene rilevato solo se va a livello basso (a massa) o a livello alto (per esempio quando è aperto). Per l’ingresso è possibile definire un tempo di inibizione, mediante il comando INI2:mm (al posto di mm vanno messi i minuti di interdizione); l’inibizione serve a evitare continui invii di segnalazioni di allarme se l’ingresso, nella modalità a livello, rimane aperto.
Analogo è il discorso per l’input da radiocomando, per il quale si definisce sia un tempo di osservazione (ossia quanto tempo deve permanere il segnale all’uscita del ricevitore per considerarlo allarme e far partire SMS e telefonate) sia un intervallo di inibizione utile ad evitare che se il tasto del trasmettitore viene premuto ripetutamente partano sequenze di telefonate ed SMS.
Per definire quali numeri della lista debbano ricevere le telefonate, si deve inviare il messaggio VOCxxxxxxxx:ON;pwd, considerando che valgono le stesse regole della gestione dei numeri cui dirigere gli SMS di notifica.
Per la disattivazione degli SMS o delle chiamate vocali sono previsti due comandi distinti: SMSxxxxxxxx:OFF;pwd disattiva l’invio di messaggi e VOCxxxxxxxx:OFF;pwd disabilita le telefonate. Le x rappresentano le posizioni dei numeri che non devono ricevere segnalazioni di richiesta di aiuto da radiocomando o di allarme rilevato dall’ingresso a livello di tensione IN2.
Impostazioni predefinite e avviso di accensione
Adesso occorre fare una precisazione riguardo al comando di impostazione dei numeri cui dirigere le chiamate o gli SMS di allarme: per impostazione predefinita nel firmware e dopo ogni reset totale, il sistema dirige sia le chiamate, sia gli SMS, a tutti i numeri memorizzati nella lista. Ne consegue che per escluderne alcuni bisogna inviare i comandi di disattivazione: SMSxxxxxxxx:OFF;pwd oppure VOCxxxxxxxx:OFF;pwd specificando le posizioni da escludere. Questo, se si desidera escludere dei numeri,altrimenti non occorre fare alcunché.
Il sistema invia un SMS al numero telefonico che occupa il primo posto della lista ogni volta che riceve alimentazione. Tale funzione può essere disabilitata/abilitata con i comandi AVV0 (disattiva) e AVV1 (attiva); il testo predefinito è SYSTEM STARTUP.
Personalizzazione dei messaggi e ripristino
Passiamo ai comandi che permettono di memorizzare o sovrascrivere il testo degli SMS da inviare: la sintassi è del tipo TINn:xxxxxxxxx, dove n deve essere 1 per il radiocomando e 2 per l’allarme dovuto all’ingresso 2, mentre le x corrispondono al testo del messaggio, testo che deve avere una lunghezza non superiore ai 100 caratteri.
Un’impostazione indispensabile è quella del tempo di osservazione dell’IN1, che si effettua con il comando OSS1:ss, dove al posto di ss va il tempo (compreso fra 0 e 59 secondi): specifica al circuito per quanto tempo il pulsante del minitrasmettitore debba rimanere premuto per evitare la generazione di falsi allarmi dovuti a pressioni involontarie o a segnali di disturbo che potrebbero passare nei collegamenti.
Si può definire anche un tempo di osservazione per IN2, con le stesse modalità, impartendo il comando OSS2:ss; anche in questo caso il tempo serve ad evitare falsi allarmi se abbinate l’input a contatti per porte o PIR.
Da SMS potete anche richiedere i tempi attualmente impostati (comando OSS?).
Chiudiamo la panoramica sui comandi con quello che ripristina le impostazioni predefinite: è RES;pwd. Il messaggio di risposta a questo comando da SMS è “Reset eseguito”.
Il resto dei comandi è descritto nella Tabella 1, cui rimandiamo per ogni approfondimento.

Apprendimento dei trasmettitori
Passiamo adesso alla sezione dei radiocomando: per garantire la ricezione del segnale trasmesso dal minitrasmettitore portatile che la persona da proteggere indosserà, sarà necessario memorizzare nel modulo RX 4MHCS il codice di trasmissione del relativo trasmettitore.
Per eseguire questa operazione è necessario portare il trasmettitore vicino al ricevitore, ma non attaccato al modulo: tenetelo a mezzo metro di distanza. Ricordiamo che è possibile far apprendere solo i trasmettitori con Manufacturer Code Futura Elettronica, giacché encoder e decoder Keeloq hanno una parte fissa di codice che è univoca per ciascun costruttore; acquistando TX e modulo RX 4MHCS dalla Futura Elettronica il problema è già risolto.
La procedura di autoapprendimento si avvia premendo e rilasciando il pulsante di programmazione P2; l’entrata nella fase di apprendimento è segnalata dal lampeggio del LED LD5 rapidamente per 10 secondi: durante questo tempo, operando nelle vicinanze del RX 4MHCS, la pressione di un qualsiasi tasto del trasmettitore sarà appresa dal ricevitore. L’avvenuta programmazione del RX 4M-HCS viene indicata dal LED con luce fissa, dopo di che si spegne. In questo caso tutti i pulsanti disponibili nel trasmettitore sono stati codificati e la pressione di ognuno attiverà la relativa uscita. Se utilizzate un trasmettitore monocanale, che è la cosa più consigliabile, viene appreso solo quello, ma sappiate che l’apprendimento, riguardando il codice trasmesso, è valido anche se il TX è pluricanale e non va ripetuto per ciascun canale.
La procedura appena descritta va ripetuta se si desidera abbinare all’unità più di un trasmettitore, quindi per ogni ulteriore TX la si ripete pari-pari.
L’autoapprendimento di un trasmettitore ad uno, due, tre o quattro canali può essere eseguito indifferentemente tramite la pressione di un qualsiasi tasto, poiché il micro gestisce la sequenza bit standard per l’assegnazione di ogni singolo canale.
Modalità delle uscite: bistabile o monostabile
Notate che sebbene le uscite possano funzionare in modalità bistabile o impulsiva, dopo l’autoapprendimento è impostata per default quella di tipo monostabile; ciò non guasta affatto, perché il microcontrollore la predilige, in quando il firmware rileva la transizione del livello logico su una qualsiasi delle quattro uscite. Se si impostasse la modalità bistabile, in caso di attivazione del minitrasmettitore il micro riceverebbe un segnale di allarme ogni due pigiate del pulsante e ciò potrebbe limitare la possibilità, per la persona in difficoltà, di chiedere soccorso.
Cancellazione della memoria dei codici
Completiamo la descrizione dell’apprendimento con la procedura di cancellazione della memoria dei codici: per cancellare la memoria dell’ RX 4MHCS bisogna premere e rilasciare il pulsante P2 e quando LED verde LD5 inizia a lampeggiare, premere nuovamente il tasto tenendolo premuto per circa 5 secondi e comunque fino a quando il LED non smette di lampeggiare, al che occorre rilasciare P2. Cinque lampeggi del LED in sequenza indicheranno l’avvenuta cancellazione della memoria, allorché nessun trasmettitore con codifica HCS sarà riconosciuto (perché la cancellazione non è possibile selettivamente ma solo per tutti i codici appresi) e le uscite saranno impostate in modalità impulsiva.
Conclusioni
Anche questo progetto, come il Save my child, consente di realizzare con semplicità un sistema di avviso a distanza (telesoccorso, se preferite) in grado di tutelare la salute e l’incolumità delle persone più fragili, attraverso un mezzo di comunicazione efficace e diffuso come la telefonia cellulare. La disponibilità a bordo di periferiche opzionali consente di espandere le possibilità di utilizzo e di personalizzare il sistema per adattarlo a condizioni particolari, semplicemente aggiungendo accelerometro ecc. e adeguando il firmware.


