Go Down

Topic: Arduo Memory Reminder Medicine (Read 19040 times) previous topic - next topic

Giuseppe G.

:smiley-roll:
Ciao tuxduino,
Quote
Colgo l'occasione per segnalarti che nell'ottica di inserire un RTC, i pin A4 e A5 sarebbero occupati dalla trasmissione I2C. Ora sono utilizzati uno per un led e l'altro per il suono, se non ricordo male.


l'idea di utilizzare i pin A4 e A5, può andare bene, ma bisogna risolvere prima il problema per la segnalazione delle 8 medicine che si perderebbero, utilizzandoli per I2C.
Implementare un integrato di basso costo come driver led, può avere effetto, mentre implementare un LCD seriale che come minimo costa 20-30 euro, un po meno.
Conosco 74LS138 che converte da 3 a 8 bit singoli (3 to 8 line decoder), che, rivedendo il circuito, ed usandolo in combinazione con con altri 3 pin di arduino, si riuscirebbe a risparmiare 2 pin ed avere 64 led a disposizione polarizzati direttamente (8 linee x 8 righe).
Poi servirebbe una NOT per comandare il catodo delle 8 linee o righe, tipo un 40106.
Il problema è che il 78LS138 è ormai obsoleto e credo non si trovi più, in compenso ci dovrebbe essere l'Hitachi HD74HCT238, ma non capisco quanta corrente può supportare nel pin out sia verso GND che verso la VCC.
Questo invece potrebbe fare al caso nostro MC74HC259ADG, con +/-25mA output, e costa meno di 50 cent., naturalmente in internet.

Qualcuno ha idee a riguardo?

Un saluto a tutta la comunità.
Giuseppe G.

tuxduino

In alternativa si potrebbe usare una tastiera analogica (vedi ad esempio lo shield lcd+keypad di nuelectronics). Con un unico pin analogico si implementano facilmente 5 o 6 tasti. Non ho controllato bene lo schema, ma mi pare che questo permetterebbe di guadagnare 2 pin.

Giuseppe G.

:*
Ciao BrainBooster,
utilizzare le fotoresistenze, potrebbe essere molto semplice, ma hai idea di quanti ingressi analogici occorrono? Come per i diodi!
Occorre trovare una soluzione per comandate il sensore, e leggerne lo stato, sempre con un multiplex, magari lo stesso dei led, ma con una logica specifica per controllarne la risposta.
Ad esempio, nel caso dei diodi led o fotodiodi, una volta polarizzati, si potrebbe leggere lo stato traminte un pin analogico.
Bisogna lavorarci un pò, per restare alla UNO, altrimenti, questa opzione, si dovrà implementare solo quando si passerà alla DUE o al MEGA.
I riferimenti che hai postato, indicano che per ogni fotodiodo, c'è dedicato un ingresso ed in questo caso ne avremmo bisogno di ben 32!!!!!

Per le prove, prenderemo comunque in considerazione le modalità di utilizzo dei diodi.

Pensa..... se hai compreso il funzionamento del circuito, quando il led della medicina si accende, ed in parallelo a questo, colleghiamo un diodo emitter, dall'altra parte ci sarà bisogno solo di un controllo in ingresso, perchè il led  e quindi la medicina presa in considerazione sarà solo quella attivata.
Se ricevo il segnale nel fotodiodo ricevitore, la medicina non è presente, quindi eseguo una sub che ne segnala la mancanza, se non lo ricevo, la medicina si trova al suo posto, quindi attivo solo la chiamata al paziente per l'assunzione. ;)

Per quanto riguarda la libreria "TimeAlarm", ho voluto tener separata la possibilità di settare gli allarmi in modo indipendente, senza alcun vincolo, in maniera che le variabili possano essere gestite senza alcun problema.

Ciao.
Un saluto a tutta la comunità.
Giuseppe G.

Giuseppe G.

:P
Si tuxduino, ho usato lo stesso sistema su arduoalarm ed effettivamente mi sembra la soluzione meno invasiva, anzi si guadagnano 2 o 3 pulsanti in più, che possono far comodo alla programmazione.
L'idea di usare i driver per pilotare più led, al momento mettiamola da parte.
Potrà tornarci utile, nel caso servano altri pin, come ad esempio il feedbak per i fotodiodi presenza medicina. ;)
Un saluto a tutta la comunità.
Giuseppe G.

tuxduino

Ecco a proposito dei tasti... nella versione attual dell'hw io mi trovo un po' in difficoltà nel programmare le pagine di impostazione dei parametri con così pochi pulsanti... :)

L'hw a mia disposizione attualmente include questo benedetto sheild della nuelectronics (che probabilmente avrò già nominato 100 volte... :) ) in cui ci sono 5 tasti, disposti così:

Code: [Select]

       [·]
[·] [·]   [·]
       [·]


Se non si preme nulla, A0 legge 1023, se si preme un pulsante, il valore è inferiore grazie ad una resistenza. I vari pulsanti connettono altre res. in serie, producendo letture sempre più basse, fino all'ultimo che produce circa 0 (in realtà è poco preciso, ma bastano soglie "a maglie larghe" per discriminare con affidabilità i tasti).
Un limite è che non puoi premere due tasti contemporaneamente.

Propongo di dare questo significato:

Code: [Select]

           SU
ENTER/OK SX  DX
           GIU


Vista l'importanza della funzione e l'utenza prevista, lascierei comunque l'ACK come un bel pulsantone su un pin digitale (pin permettendo).

L'idea sarebbe di usare SX e DX per spostarsi tra le varie schermate, SU GIU per scorrere eventuali elenchi (es. allarmi), ENTER per entrare in modalità modifica (il cursore lampeggia), e a quel punto SX, DX per spostarsi tra i campi e SU GIU per modificare il valore del campo selezionato.
Di nuovo ENTER per salvare i valori ed uscire dalla modalità modifica.
Se abbiamo anche ACK si potrebbe pensare di usarlo come tasto ANNULLA (ACK/ESC), cioè farebbe uscire dalla modalità modifica ricaricando però i valori precedenti alle variazioni fatte con SU/GIU.

Qui c'è lo schema elettrico, le soglie, ecc.:

http://www.nuelectronics.com/estore/index.php?main_page=project_lcd

BrainBooster

Ma quanti slot per medicinali contiene la scatola?

Giuseppe G.

:smiley-mr-green: BrainBooster
Sono un totale di 32 medicine, 16 per paziente al momento.



Un saluto a tutta la comunità.
Giuseppe G.

Giuseppe G.

:smiley-roll: tuxduino
Dunque, si usano 3 pin digitali dedicati ai pulsanti.
Se si usano 2 per la I2C (pin 2 e 3 di arduino), il terzo lo si usa per la colonna 4 dei led, che al momento occupa A0, che a sua volta verrà utilizzato per l'igresso analogico dei tasti. Dobbiamo spostare anche ACK/Enter su in analog, eventualmente collegandolo in parallelo al tasto select/enter.
Il fatto di non spostare i pin A5 e A6 per usare la I2C, garantisce una maggiore impedenza per evitare che i led si accendano involontariamente o comunque tendano ad eccendersi quando attiviamo la riga collegata ai 4 led polarizzati.(vedi schema)
Appena posso integro la libreria AnalogButtons per liberare i pin e modifico lo schema.
Un saluto a tutta la comunità.
Giuseppe G.

Giuseppe G.

:smiley-eek:
Sorry! Mi correggo da solo!
Quote
Il fatto di non spostare i pin A5 e A6 per usare la I2C, garantisce una maggiore impedenza per evitare che i led si accendano involontariamente o comunque tendano ad eccendersi quando attiviamo la riga collegata ai 4 led polarizzati.(vedi schema)
Appena posso integro la libreria AnalogButtons per liberare i pin e modifico lo schema.


Occorre rivedere il circuito con una certa logica per poter liberare i pin A4 e A5 da dedicare alla comunicazione I2C ed A0 da dedicare all'ingresso analogico dei pulsanti.

GGGRRRANDE CASINEN !!!!!!....... ma cerco di sistemarlo, così si può implementare eventualmente anche una eprom esterna tipo 24C64 nel caso ci sia la necessità. "questo era un consiglio che qualcuno aveva già postato in precedenza"

A questo punto, sposto anche l'uscita dell' altoparlante in una uscita digitale se è il caso.


Un saluto a tutti. :*
Un saluto a tutta la comunità.
Giuseppe G.

tuxduino

La eeprom esterna mi sembra non prioritaria... 1k dovrebbe ssere più che sufficiente se non si inseriscono nomi di pazienti e nomi di medicine...

BrainBooster

azz! 32 slot significa che vi ci vuole un mux/demux (o un mega)

tuxduino


azz! 32 slot significa che vi ci vuole un mux/demux (o un mega)


Ma no, sono 16 celle con due led... è una 4x4, consuma 8 pin.

Giuseppe G.

:) Ecco la nuova versione del circuito del device con l'iserimento di un RTC ed una eprom esterna per memorizzare il report delle assunzioni dei medicinali.

Il circuito è stato postato anche nel sito ufficiale del FABLAB Torino.

Ciao
Un saluto a tutta la comunità.
Giuseppe G.

Brunello

a questo punto aggiungici anche un PCF8574 e ti liberi i 6 pin che usa l'LCD.
Oltretutto la libreria usa gli stessi comandi

Giuseppe G.

Quote
a questo punto aggiungici anche un PCF8574 e ti liberi i 6 pin che usa l'LCD.
Oltretutto la libreria usa gli stessi comandi


:smiley-eek:

Ciao brunello,

buona idea !!! Se non ricordo male lo avevi già consigliato qualche giorno fà !

Credo proprio che questa soluzione faccia al caso nostro.

Sai mica dove reperire gli integrati ?
Un saluto a tutta la comunità.
Giuseppe G.

Go Up