bloccare possibilità di premere più volte un pulsante

Ciao a tutti! :slight_smile: Sto muovendo i primi passi su Arduino in questi giorni e insieme ad alcuni miei compagni dobbiamo realizzare un progetto per un dispenser automatico di pillole per anziani. Brevemente l'idea è che in certi momenti della giornata, quando il paziente deve prendere la pillola, attraverso la pressione di un pulsante si attivi il meccanismo che faccia scendere il numero corretto di pillole e la tipologia giusta. Il punto è che tale pulsante dovrebbe essere attivo solamente in certe fasce orarie della giornata, in corrispondenza delle quali il paziente dovrebbe prendere la pillola. Inoltre una volta premuto il pulsante non dovrebbe esservi più possibilità di poterlo premere di nuovo fino alla successiva fascia oraria, altrimenti il meccanismo si attiverebbe 2 volte e scenderebbe un numero sbagliato di pillole. Come potrei implementare tutto ciò con Arduino?
Grazie per l'attenzione.

Essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ...

.... evvai! questa volta sono arrivato prima di Gilberto! :slight_smile: (lo conoscerai presto...!)

Poi il programma non mi pare difficile, mentre per le fasce orarie avresti bisogno di una schedina Orologio RTC tipo DS3231 (cerca su Google).

Federicoghezzi:
Sto muovendo i primi passi su Arduino in questi giorni e insieme ad alcuni miei compagni dobbiamo realizzare un progetto per un dispenser automatico di pillole per anziani.

L'idea è buona, ma ti sottolineo che non otterrai risposte se non fai prima la tua presentazione come richiede il regolamento.

steve-cr:
.... evvai! questa volta sono arrivato prima di Gilberto! :slight_smile: (lo conoscerai presto...!)

Tu stai giocando col fuoco... :smiley: 8)

docdoc:
Tu stai giocando col fuoco... :smiley: 8)

Già ...

Guglielmo (... Gu gliel mo)

questa te l'ho rubata...

steve-cr:
.... evvai! questa volta sono arrivato prima di Gilberto! :slight_smile: (lo conoscerai presto...!)

Obbuonini, che' voi ci scherzate, ma io questa malattia di scambiare i nomi la ho sul serio
se lo "scaldate" e poi a me capita di inciampare nel mio difetto, va a finire che si adira con me, povero piccolo e indifeso....

invece, tornando OT:
alcune domande:
che scriverò dopo la presentazione

... di grazia, volete ASPETTARE che si presenti e ci dica la sua preparazione?

Guglielmo

Scusate non avevo letto della presentazione nel forum, ho pubblicato adesso un post nel thread indicatomi.
In ogni caso riporto qua il fatto che non ho praticamente nessuna conoscenza di elettronica e mi sto affacciando a questo "nuovo mondo" proprio adesso. Come linguaggi di programmazione conosco solo quello di Matlab, ho fatto qualcosa di linguaggio C al primo anno di università ma davvero poco.
Ancora sono nella fase di design del progetto prima menzionato, a breve dovrò cominciare a mettere le mani su Arduino e a programmare qualcosa.
Spero di essere stato esaustivo nella mia presentazione e di ricevere comunque una risposta per il problema prima indicato.
Grazie ancora a tutti :slight_smile:

beh il problema in se è abbastanza semplice però comincia subito a pensare ad un modulino rtc (real time clock) da affiancare ad arduino altrimenti dopo i primi giorni il dispenser comincerà a funzionare alle 2 /3 di notte :smiley:

poi il resto è semplice controlli che l'orario di erogazione sia compreso tra un minimo e un massimo...

Mi limito al fatto delle fasce orarie, dovete utilizzare un RTC (DS3231 per esempio) per garantire la necessaria precisione nel tempo, per il resto sarebbe meglio dettagliare meglio il progetto e il materiale che pensate di usare e il codice che avete implementato (se già avete qualcosa)
P.S = Preceduto da Patrick_M

aggiungerei un buzzer e/o una luce per segnalare che è "l'ora della pillola"...altra cosa a cui pensare...se si deve dispensare le pillolle e la persona si dimentica di premere il pulsante e si entra in un'altra fascia oraria...il dispensatore cosa deve fare?...dare tutto..dare in parte?
Sia il caso di registrare in una SD l'ora della somministrazione!?...se ci sono stati problemi tipo "pillole finite" od "erogazione non possibile" ...altro!?

Ancora: teniamo traccia di azionamenti indebiti? Per avere idea del grado di smemoratezza?
Contiamo le erogazioni e indichiamo quando iniziano a scarseggiare le pillole?

Federicoghezzi:
in certi momenti della giornata, quando il paziente deve prendere la pillola, attraverso la pressione di un pulsante si attivi il meccanismo che faccia scendere il numero corretto di pillole e la tipologia giusta.
...
Ancora sono nella fase di design del progetto prima menzionato, a breve dovrò cominciare a mettere le mani su Arduino e a programmare qualcosa.

Allora, come per qualsiasi progetto, devi TU iniziare a definire quantomeno le specifiche di massima.

Visto che sei nella fase iniziale di design, ti suggerirei di iniziare a sperimentare sostituendo l'attuatore (diciamo un servomotore per ogni tipologia di pillola) con un LED, più il famoso pulsante.

Quindi come "lista della spesa" per il prototipo ti direi:

  • 1x Arduino UNO
  • 3x LED (assumo che tu abbia 3 tipi di pillole, se sono di più ne prevedrai di più)
  • 3x resistenze 220 Ohm (3 per i LED, 1 per il pulsante)
  • 1x pulsante (per confermare l'erogazione)
  • 1x condensatore 100nF (per debounce)
  • 1x resistenza 4.7k Ohm (per debounce)
  • 1x modulo RTC + lettore scheda SD (l'RTC per mantenere l'ora, nella SD per semplicità ti direi di impostare un semplice file con i dati della somministrazione, così per cambiare terapia o paziente ti basta sostituire la SD senza cose complicate)
  • 1x buzzer attivo
  • 1x display LCD 16x2 I2C (non è necessario ma direi utile per mostrare l'ora corrente e l'ora della prossima pillola, ed all'ora prefissata l'avviso delle pillole da erogare)
  • Alimentatore 9V per Arduino
  • Fili e cavi vari (suggerisco ovviamente l'uso di una breadboard)

Quasi tutti questi componenti li trovi dentro ad un qualsiasi starter kit Arduino UNO.

Se avrai difficoltà a realizzare il primo prototipo a LED, posta qui il codice che nel frattempo avrai iniziato a scrivere (ed una descrizione di cosa fa o non fa...) e ti possiamo aiutare.

Quando il tutto funzionerà a dovere, allora sostituirai (o meglio affiancherai) i LED con altrettanti servomotori (più la meccanica del dispenser, che devi vedere tu come realizzare, e all'inerno del software aggiungere la relativa gestione).
Ma fai un passo alla volta altrimenti diventa tutto complicato.

Adesso non vorrei fare sempre quello che SINTETIZZA, ma se ho un Arduino perché devo fare cose che può fare lui?

La pillola me la da LUI e mi chiama anche con un buzzer e un led, per cui posso essere smemorato o rincoglionito, (ma non sordo e cieco) però quando vedo che qualcosa mi chiama e mi da una pillola io la prendo !

steve-cr:
Adesso non vorrei fare sempre quello che SINTETIZZA, ma se ho un Arduino perché devo fare cose che può fare lui?

ci sono ragioni per farlo.
Una è non far perdere la cognizione del tempo al pazieente, che potrebbe essere in via di rincoglionimento, e avere bisogno di essere tenuto attivo
Un'altra sorvegliare se un paziente con ad esempio il morbo di Alzheimer, comincia a dimenticarsi di averla già presa, la medicina
Oppure sorvegliare se la compagnia di stanza alla casa di riposo è gelosa, e la vuole prendere anche lei...
Ne vedo spesso, da mamma e le sue amiche....

steve-cr:
Adesso non vorrei fare sempre quello che SINTETIZZA, ma se ho un Arduino perché devo fare cose che può fare lui? La pillola me la da LUI e mi chiama anche con un buzzer e un led, per cui posso essere smemorato o rincoglionito, (ma non sordo e cieco) però quando vedo che qualcosa mi chiama e mi da una pillola io la prendo !

Ehm, scusami ma non ho capito il punto del tuo post... :wink:
Si sta parlando proprio di questo, ossia un Arduino che ti "ricorda" di prendere le pillole: all'ora giusta suona ed emette una luce e appena premi il pulsante ti presenta in un vassoietto la/le pillola/e da prendere.
Cosa che ho cercato di sintetizzare nella "lista della spesa" del mio precedente post.
Manca solo la parte "meccanica" (a questo punto di rei la più "ostica" almeno per me) ossia oltre alla scatola che racchiude Arduino, schermo, pulsante e LED, alcuni contenitori (diciamo 3 o 4) per le pillole (chiusi ermeticamente per non far entrare umidità) che tramite un servo siano in grado di erogare ognuno la propria pillola in base alla prescrizione, precedentemente caricata su scheda SD.

Aggiungerei anche un avviso diverso per quando una delle pillole previste sta per finire, ma insomma, tutto è migliorabile.

O dimentico qualcosa?

Standardoil:
Una è non far perdere la cognizione del tempo al pazieente, che potrebbe essere in via di rincoglionimento, e avere bisogno di essere tenuto attivo

Beh la prima la immagino per terapie che riciedono più somministrazioni al giorno, di medicinali diversi. mia suocera aveva il Parkinson e doveva prendere 3 tipi di pillole diverse, in 5-6 momenti della giornata...

Un'altra sorvegliare se un paziente con ad esempio il morbo di Alzheimer, comincia a dimenticarsi di averla già presa, la medicina

In quel caso però deve essere assistito comunque, perché se ha l'Anzheimer è possibile che anche sentendo la lucina non ricordi cosa debba fare...

Dovrai gestire solo 1 dispenser o più?
Perché essendocene solo 1 faranno la fila!

Nel caso dovessi gestire tramite 1 Arduino tutti gli altri dispenser il codice si complica un po’.
Quoto il collega sopra con la lista della spesa e...

steve-cr:
La pillola me la da LUI e mi chiama anche con un buzzer e un led, per cui posso essere smemo rato o rincoglionito, (ma non sordo e cieco) però quando vedo che qualcosa mi chiama e mi da una pillola io la prendo !

... Arduino ha un buzzer integrato oppure ho compreso male la tua affermazione???

Iscrizione

Triko93:
Arduino ha un buzzer integrato oppure ho compreso male la tua affermazione???

No, se vedi nella "lista della spesa" c'è il buzzer (attivo, ossia non è un semplice altoparlantino o piezo, ma quando lo alimenti suona autonomamente, così ti basta mettere HIGH un pin di output senza dover generare tu il tono).

Dovrai gestire solo 1 dispenser o più? Perché essendocene solo 1 faranno la fila!
Nel caso dovessi gestire tramite 1 Arduino tutti gli altri dispenser il codice si complica un po’.

Intanto ti anticipo io qualcosa, in attesa dell'OP: ovviamente la cosa si può complicare per più dispanser, ma soprattutto per la parte "meccanica". Per la parte software basta pensarla "vettorialmente" e gestire 1 o 5 dispenser è quasi la stessa cosa. Poi penso sia un apparecchio "personale" ossia lo usa UNA sola persona per la SUA terapia. Quello che immagini tu forse è per una farmacia (ma esistono già apparecchi robotizzati del genere, li ho anche visto al Maker Faire a Roma...).