Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Meduino - przypominacz o wzięciu leków na Arduino

ghost666 20 Sty 2019 13:52 3426 16
  • Meduino - przypominacz o wzięciu leków na Arduino
    Każdy z nas czasami przyjmuje jakieś leki. Niektórzy niestety zmuszeni są regularnie zażywać lekarstwa. Łatwo jest zapomnieć, szczególnie osobom starszym, o terminowym ich wzięciu. Niektóre leki, takie nawet jak często używane antybiotyki, przyjmować trzeba w równych odstępach czasu.

    Tak właśnie powstała idea Meduino - prostego urządzenia wykorzystującego Arduino do regularnego przypominaniu o konieczności wzięcia leków. Autor prezentowanej poniżej konstrukcji złożył ją z myślą o swojej mamie. Teraz każdy z nas może skonstruować takie coś dla swoich rodziców, dziadków etc.



    Krok 1: potrzebne elementy

    * Moduł Arduino Pro Mini,
    * Buzzer,
    * Oporniki 220, 330 lub 1000 Ohm,
    * Diodę LED,
    * Płytkę uniwersalną

    Krok 2: zasada działania

    Układ jest bardzo prosty. Aby zminimalizować liczbę potrzebnych elementów autor zrezygnował z wykorzystania zegara czasu rzeczywistego (RTC). Zamiast tego wykorzystał wbudowaną w Arduino funkcję delay. To najprostszy możliwy sposób odliczania ustalonego z góry czasu. Stoją za tym bardzo proste wyliczenia. Autor chciał, aby Arduino przypominało o wzięciu leków co 24 godziny:

    24 godziny = 24 * 60 minut = 24 * 60 * 60 sekund = 24 * 60 * 60 * 1000 milisekund = 86400000 ms.

    Teraz wystarczy tylko kazać odczekać programowi dokładnie taką liczbę milisekund, a podłączony do układu buzzer będzie dzwonił co 24 godziny. Jeśli potrzebujecie innego czasu pomiędzy alarmami, to zmieńcie ustawioną w kodzie wartości opóźnienia.

    Alarm włączy się i będzie dzwonił tak długo, aż nie zresetujemy Arduino. Dzięki temu ciężko go przegapić i o nim zapomnieć. Po resecie układ odliczy kolejne 24h zanim zadzwoni.

    Meduino - przypominacz o wzięciu leków na Arduino
    Krok 3: podłączenie Arduino

    Schemat połączeń poszczególnych elementów jest bardzo prosty. Pokazano go na rysunku po prawej stronie. Poszczególne elementy podłączyć można do Arduino kabelkami lub zlutować całe urządzenie na płytce uniwersalnej, tak jak zrobił to autor projektu.

    Krok 4: kod programu

    Tak jak opisano powyżej, program jest bardzo prosty. Szkic Arduino wygląda tak:

    Kod: c
    Zaloguj się, aby zobaczyć kod



    Aby go wgrać, musimy podłączyć się do Arduino. W przypadku wykorzystanego w tym projekcie Pro Mini nie jest to takie trywialne, gdyż moduł nie posiada konwertera USB-UART ani złącza USB. Aby zaprogramować to Arduino musimy posiadać zewnętrzny konwerter tego rodzaju, który podłączam do modułu w sposób opisany poniżej.

    Jako konwerter z USB na UART TTL wykorzystać możemy, np. moduł Arduino UNO, wystarczy, że poszczególne linie połączymy w następujący sposób:

    UNO ---> Pro Mini
    5 V ---> VCC
    GND ---> GND
    TX ---> TX
    RX ---> RX
    Reset ---> RST



    Następnie, korzystając z powyższych instrukcji możemy załadować nasz szkic do Arduino poprzez IDE.

    Krok 5: wszystko gotowe

    W końcu nasz moduł jest gotowy. Ostatnie co nam pozostało to zainstalowanie go na przykład na pojemniku z lekami, aby przypominał właśnie o ich wzięciu. W tym celu wykorzystać możemy dowolny pojemnik lub dedykowany pojemnik do leków, np. taki z przegródkami na konkretne godziny lub dni tygodnia.

    Źródło: https://www.instructables.com/id/MeDuino-Automatic-Medicine-Reminder-/

    Od redaktora:

    Tłumacząc powyższy projekt początkowo zaciekawił mnie sam pomysł - moduł, który przypominać ma o wzięciu leków to dla wielu osób mających problem z pamięcią bardzo praktyczne urządzenie. Jakkolwiek można go zastąpić smartfonem to po pierwsze - jaki odsetek starszych osób smartfony posiada i obsługuje na tyle dobrze? a po drugie - taki moduł można przymocować bezpośrednio do skrzynki z lekami. Jednak ten cel, pomimo iż szczytny, nie jest zasadniczym powodem, dla którego pozwoliłem sobie wrzucić ten projekt na Forum.

    Oprócz fajnego pomysłu, powyższe Meduino jest przykładem dramatycznie złego projektu. Jest tutaj szereg rzeczy, które zrobione mogłyby być lepiej, jest też szereg takich, które zrobione są bardzo źle. Mimo wszystko układ działa. Pytanie teraz do forumowiczów - czy jesteście w stanie wychwycić, co można by poprawić? Co zrobić lepiej? Wspólnymi siłami zaprojektujmy wirtualnie Meduino 2.0 - nowe, lepsze i bardziej przydatne urządzenie niż to, co widzimy powyżej.

    P.S. Użycie Arduino nie jest błędem ;)

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    ghost666
    Tłumacz Redaktor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 napisał 9538 postów o ocenie 7598, pomógł 157 razy. Mieszka w mieście Warszawa. Jest z nami od 2003 roku.
  • #2
    mr_grabarz
    Poziom 19  
    Jak dla mnie to przede wszystkim zamiast deley() wykorzystać jakiś zew. zegar RTC
    usypiać procka i wybudzać przerwaniem z RTC
  • #3
    krzbor
    Poziom 18  
    No cóż , mój budzik (cyfrowy) też dzwoni co 24h i to jeszcze o określonej godzinie z dokładnością 1s na milion lat (DCF77). Ma przycisk drzemki - tu niepotrzebny, oaz przycisk (nie wyłącznik) wyłączenia alarmu na 24h, który realizuje opisaną tu funkcjonalność, a do tego na jednym "paluszku" działa ponad rok :)
  • #4
    japko1024
    Poziom 17  
    mr_grabarz napisał:
    Jak dla mnie to przede wszystkim zamiast deley() wykorzystać jakiś zew. zegar RTC
    usypiać procka i wybudzać przerwaniem z RTC
    Nie trzeba używać zewnętrznego RTC - wystarczy podłączyć kwarc i użyć przerwania z wewnętrznego timera. Nie wiem, jak w przypadku Arduino, ale zastosowany w nim mikrokontroler to chyba ATmega8, więc jest taka możliwość (o ile da się przylutować kwarc i kondensatory). Zaprogramować można też zwykłym USBasp.
  • #5
    LChucki
    Poziom 31  
    Delay będzie żenująco niedokładny. Procek pożera zasilanie nawet gdy pozornie nic nie robi (delay). Powstaje też problem
    ghost666 napisał:
    szczególnie osobom starszym
    zmienić czas na inny.
    Poza poprawkami, które zostały już opisane (RTC, usypianie) trzeba dodać jakiś mechanizm wyboru czasu alarmu np przełącznik. Wskazane byłoby pokazywanie czasu jaki pozostał do alarmu (wyświetlacz LCD) przycisk wyłączający alarm. Alarm (czas jego trwania powinien być regulowany) nie powinien trwać w nieskończoność (szkoda np baterii) ponadto w tym czasie powinien być odliczany kolejny odcinek czasu, czego w tym projekcie nie ma.

    ghost666 napisał:
    powyższe Meduino jest przykładem dramatycznie złego projektu.

    Faktycznie z tego projektu, to można wykorzystać tylko pomysł, zresztą nie nowy. Temat od lat przewija się w czasopismach elektronicznych tak jak kiedyś wzmacniacze audio i zegarki.
  • #6
    SylwekK
    Poziom 30  
    Klikając w temat liczyłem, że zobaczę tu jakąś, np. karuzele z lekami i szufladkę otwieraną o odpowiedniej godzinie z już przydzielonymi farmaceutykami. Tak to widzę.

    A i jeszcze jedno... Właśnie przez takie głupkowate projekty mdli mnie na samą myśl o "arduino".
  • #7
    Krzysztof Kamienski
    Poziom 43  
    SylwekK napisał:
    Właśnie przez takie głupkowate projekty mdli mnie na samą myśl o "arduino".
    Własnie. :cry: A można by dodać wyświetlacz z nazwą leku np. Dozownik karuzelowy z silniczkiem krokowym....
  • #8
    goldenik
    Poziom 11  
    każdy z nas nosi w kieszeni gotowe urządzenie ... wystarczy ustawić przypomnienie w kalendarzu.
  • #9
    karolark
    Poziom 41  
    SylwekK napisał:
    Klikając w temat liczyłem, że zobaczę tu jakąś, np. karuzele z lekami i szufladkę otwieraną o odpowiedniej godzinie z już przydzielonymi farmaceutykami. Tak to widzę.

    A i jeszcze jedno... Właśnie przez takie głupkowate projekty mdli mnie na samą myśl o "arduino".

    \
    Zgadza się przerost formy nad treścią -są prostsze i skuteczne powiadamiania :cry:
  • #10
    .:KoSik:.
    Poziom 18  
    Masakra jakaś. Jak widzę na tych filmikach subskrybuj to... Szkoda gadać. Po pierwsze wykonanie to jakaś masakra. Bateria chyba na dwa dni bo bez usypiania procesora to długo toto nie podziała. Program z 3 linijek ale subskrybuj bo takie fajne coś wymyśliłem. Żeby to jeszcze chociaż czujnik do wieczka miało to nie trzeba by było resetować przyciskiem...
  • #11
    zbigniewsk
    Poziom 15  
    Dobry wieczór.
    Poczytałem o tym rozwiązaniu i mam kilka uwag. A co będzie jeśli rozładuje się bateria/akumulator prosi się o następne urządzenie do przypominania o tym. Takie rozwiązanie to chyba jest bardziej potrzebne młodym aniżeli starszym do których to też się zaliczam. Wiem ile razy muszę przypominać swoim wnukom o czymś co mieli zrobić a nie zrobili. Lepszy będzie chyba zwykły budzik nakręcany, na sprężynę bo jak już dopadnie demencja starcza to nie pomoże ani Arudino ani inny procesor wtedy jest dom opieki i liczenie na to że młoda obsługa będzie pamiętać co ma robić swoim pensjonariuszom w zakresie opieki i serwowania leków.
  • #13
    SylwekK
    Poziom 30  
    szeryf3 napisał:
    ...projekt rozwojowy i za jakiś czas zostanie bardziej rozbudowany.

    Chyba o drugą migającą diodę led...

    Przepraszam nie mogłem się powstrzymać, ale tu nie ma co rozbudowywać.
  • #14
    karolark
    Poziom 41  
    SylwekK napisał:
    szeryf3 napisał:
    ...projekt rozwojowy i za jakiś czas zostanie bardziej rozbudowany.

    Chyba o drugą migającą diodę led...

    Przepraszam nie mogłem się powstrzymać, ale tu nie ma co rozbudowywać.


    A nie zgadzam się drugi LED i to może RGB spowoduje że urządzenie nabierze wartości i wyglądu :D
  • #15
    MadRussianHacker
    Poziom 3  
    Arduiono do tak małego projektu to nieco overkill, nie wspominając już o tym, że kod programu jest beznadziejny. Takie coś można zrobić spokojnie na jakimś attiny.
  • #17
    bestboy21
    Poziom 39  
    Dla starszych ludzi to porażka niestety.
    Mam za to inny pomysł, do zwykłego budzika dodać układ ISD który będzie gadał do dziadziusia/babusi głosem wnuczka.
    Można bez arduino? Można.
    Tryb uśpienia 1-3µA