Distribuidor inteligente de pílulas
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 4 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 4 | ||||
| × | 4 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Ferramentas e máquinas necessárias
| ||||
| ||||
|
Aplicativos e serviços online
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
|
Sobre este projeto
Por que este projeto?
Atualmente existem no mercado dois tipos de dispensadores de comprimidos:os não elétricos e os automáticos. Embora a maioria deles possua mecanismo de lembrete (nem sempre adequado para pessoas com deficiência visual ou sensorial), ambos os tipos normalmente requerem uma pessoa que organize os comprimidos diariamente ou semanalmente em diferentes compartimentos, tornando o paciente uma pessoa dependente. Hoje em dia, devido ao Covid-19, os familiares ou auxiliares de idosos têm mais dificuldades para cuidar de pessoas dependentes.
É por isso que vimos a necessidade de criar um dispensador de pílulas inteligente que não precise de uma organização de pílulas feita à mão, acessível a pessoas com deficiência e que tenha a capacidade de ajudar os pacientes a serem mais independentes.
Aqui abaixo, mostramos os 10 melhores dispensadores de pílulas de 2020:
Como você pode ver, há muito a melhorar no mundo das casamatas. E é exatamente isso que o SmartPill vai resolver.
Como funciona?
O sistema SmartPill é composto por 2 subsistemas:
- Distribuidor Smartpill: Dispositivo físico que irá organizar, armazenar e dispensar os comprimidos. Ele atuará como a interface principal para o paciente.
- Smartpill Web App: Interface de usuário da web que permitirá ao médico ou pessoa responsável pelo paciente configurar e rastrear as entradas do paciente.
Com a ajuda do aplicativo da web com uma interface de usuário amigável e agradável, o médico pode configurar até 4 comprimidos diferentes para cada Dispensador Smartpill e selecionar até 3 doses por dia para cada comprimido. Isso permite que o médico altere a dosagem remotamente sempre que necessário, sem a intervenção do próprio paciente.
O sistema SmartPill foi projetado levando em consideração as dificuldades que um paciente com demência senil, Alzheimer ou deficiência visual ou auditiva pode ter. Por isso, o dispensador possui uma tela de grande formato que permitirá ao paciente encher os comprimidos de forma confortável e também um feedback sonoro e leve que o lembrará de tomar os comprimidos na hora certa.
O usuário não precisa se preocupar com onde ou como os diferentes comprimidos devem ser colocados. Isso porque existe um mecanismo inteligente que distribui os comprimidos dentro do dispensador de comprimidos e dispensa a dose necessária na hora certa.
O SmartPill Dispenser tem uma conexão de Internet sem fio com a nuvem AWS graças à conexão WiFi da placa Microchip AVR-IoT, de forma que pode ser monitorado remotamente e configurado através do aplicativo web.
O aplicativo também mostrará quando os comprimidos foram tomados e notificará o membro da família se o comprimido não for tomado.
Dispensador SmartPill
Sistema de dispensação
Você pode estar se perguntando, como funciona o sistema de dispensação? Esta seção mostra todas as diferentes partes e explica sua funcionalidade.
Devemos esclarecer que além da tela, tudo foi impresso em 3D com PLA Plastic. Você também pode verificar o arquivo .STL de todo o dispensador disponível abaixo.
1 Base :Suporta o resto do dispensador. Possui dois orifícios para tornar o sensor de movimento funcional. Ele contém uma aba que leva os comprimidos para o copo.
2. Slider :A parte superior do controle deslizante suporta os recipientes de comprimidos. Embaixo, há uma inclinação em que os comprimidos descem até a aba. Na parte inferior há uma lacuna preparada para colocar toda a eletrônica nela.
3. Partes laterais :Usado para proteger o hardware e os comprimidos de umidade, temperaturas, sujeira e poeira.
4. Nextion NX8048T070 :Tela usada como interface entre o dispensador e o usuário.
5. Partes principais :
- Usado para proteger o hardware e os comprimidos de umidade, temperaturas, sujeira e poeira (parte superior).
- Separa o tambor dos recipientes de pílulas (parte inferior).
6. Parallax Servo 900-0005 :Motor elétrico 360º que coloca na posição correta peça número 7.
7. Tambor :Tubo de conexão entre o exterior e os recipientes de comprimidos. Ele gira para chegar ao recipiente certo.
8. Porta dos fundos :Necessário para entrar e sair dos recipientes de comprimidos com o controle deslizante.
9. Alto-falantes :Eles comunicarão ao usuário todas as informações necessárias.
10. Sensor ultrassônico - HC SR04 :Este dispositivo detectará se o copo foi movido para longe.
11. Recipientes para comprimidos :Contêm os comprimidos e dispensam-nos no momento certo e na quantidade certa. Como um protótipo, projetamos o dispensador de pílulas com 4 recipientes. No entanto, pode ser adaptado para uma capacidade maior.
Você quer seu próprio Dispensador SmartPill? Faça o download dos arquivos STL na parte inferior e imprima todas as peças com sua impressora 3D! O projeto é totalmente de código aberto.
Na próxima seção, explicaremos passo a passo como montar o sistema de dispensação.
Montagem
- Para imprimir em 3D o Slider (Parte 2 - Desenho geral) nós o dividimos em três partes. Então, antes de mais nada, nós o montamos. Escolha as nozes ( 2.3.2 - Desenho deslizante ) e encaixá-los no Slider ( 2.2 - Desenho deslizante ) com um soldador. Em seguida, aparafuse ambas as partes ( 2.3.1 e 2.2 - Desenho deslizante ) Espere para colocar o limite (2.4 - Desenho do controle deslizante) até que o eletrônico esteja conectado.
- Coloque os componentes eletrônicos dentro da lacuna do controle deslizante, incluindo o Sensor Ultrassônico - HC SR4 (Parte 10 - Desenho Geral) e aparafuse a tampa do controle deslizante (2.4).
- Monte os recipientes para pílulas (veja o Desenho dos recipientes para pílulas ) com um servo SG90 cada. Primeiro junte a Parte 1 com a Parte 7 e aparafuse o SG90 à Parte 7 . Em seguida, junte a Parte 3 com a Parte 4 (rolamento da roda) e, finalmente, adicione a Parte 2. Em seguida, aparafuse os recipientes de pílulas no topo do Slider (Parte 2 - Desenho geral) .
- Dane-se a tela (Parte 4 - Desenho geral). na parte lateral adequada e encaixe o plugue. E, em seguida, encaixe as peças do Sider (Parte 3 - Desenho geral) para a base até clicarem.
- Existem duas partes principais ( (Parte 5 - Desenho geral) . Nós os montamos pegando novamente as porcas e encaixando-as nas peças. Desta vez, nenhum soldador é necessário. Encaixe o Tambor (Parte 7 - Desenho geral) e o Parallax Servo (Parte 6- Desenho geral) entre eles e aparafusamos as duas partes superiores.
- Finalmente aparafuse a porta traseira (Parte 8 - Desenho geral) para a montagem da parte superior.
Eletrônicos
O principal cérebro eletrônico é um Arduino Mega que se encarregará de controlar os servo motores que dispensam os comprimidos, além da tela touchscreen do Nextion, do Real-Time Clock (RTC), dos efeitos sonoros e da placa de comunicação AVR-IoT.
- AVR-IoT é conectado ao Arduino Mega por meio de uma conexão UART serial.
- Servo motores são controlados por PWM.
- RTC está conectado ao Arduino Mega por I2C.
- O sensor de barreira IR para detectar os comprimidos está conectado aos pinos analógicos da placa Arduino.
Para replicar o projeto, você deve fazer todas as conexões conforme descrito no esquema com a ajuda de um protoboard ou PCB feito pelo próprio. Recomendamos enfaticamente a montagem do circuito em uma espécie de placa de madeira conforme a figura acima.
O esquema pode ser encontrado no final da página.
SmartPill Web App
O SmartPill Web App visa facilitar a experiência que envolve configurar um dispositivo eletrônico e controlar a medicação de outra pessoa.
- Um dispensador SmartPill fácil de configurar, com as informações do paciente, os comprimidos que devem ser tomados, a dosagem necessária e o intervalo de tempo.
- Monitoramento da ingestão de comprimidos.
Como foi desenvolvido?
Para desenvolver uma web desde o início, você trabalha com as áreas fundamentais da programação:back-end e front-end. O Smartpill WebApp foi criado com:
- Back-end. AWS API Gateway (HTTT API Rest).
- Frontend. Iônico e angular. Para desenvolver uma web desde o início, você trabalha com as áreas fundamentais da programação:back-end e front-end.
Ionic é um framework NodeJS totalmente gratuito e de código aberto baseado em AngularJS, que fornece elementos de interface do usuário específicos da plataforma por meio de uma biblioteca de componentes nativos para iOS e Android. Ele usa tecnologias front-end como HTML, CSS, JavaScript e Angular para o desenvolvimento de aplicativos. O Ionic pode usar o Angular CLI (Command-Line Interface) para criar aplicativos móveis totalmente funcionais.
Lembre-se de que antes de iniciar sua web com o Ionic, o Node.js deve ser instalado para funcionar, já que o Ionic faz parte de um grande ecossistema JavaScript.
A página de documentação do Ionic Framework pode guiá-lo sem problemas no início de seu aplicativo. No entanto, vou mencionar brevemente as primeiras etapas seguidas para a criação do aplicativo Smartpill:
1. Vá para a linha de comando do seu editor de código e instale o ionic CLI com npm:
$ npm install -g @ ionic / cli
2. Crie um novo aplicativo:
$ ionic start smartpill-webui em branco
3. Vá para a pasta do seu front-end e execute-o:
$ cd smartpill-webui
$ ionic serve
Executar seu aplicativo significa que você pode testá-lo no navegador do seu dispositivo. Esta função Ionic é essencial para depuração e teste.
Estrutura básica do Smartpill Web App.
O Smartpill Web App é organizado de forma simples, para simplificar a navegação. Dentro das pastas do aplicativo, podemos encontrar o módulo de roteamento do aplicativo, os arquivos de componentes do aplicativo, uma pasta “serviços” e uma pasta para cada rota.
Se você nunca tocou em tecnologias de front-end, notará na visão geral deste código como as diferentes linguagens interagem entre si. Mas se fôssemos descrever brevemente como funciona, a parte da web que você verá é o arquivo html da pasta, enquanto o arquivo typescript são as funções que são executadas quando o usuário interage com a página. Os modules.ts são para fins de roteamento.
Os arquivos mais essenciais do aplicativo Smartpill são:
- app-routing.module.ts. Ele permite que o usuário navegue por todas as diferentes rotas disponíveis. Certos caminhos permitem que o desenvolvedor da web transporte variáveis de uma rota para outra.
const routes:Routes =[
{
path:'',
redirectTo:'page-login',
pathMatch:'full'
},
{
caminho:'page-config',
loadChildren:() => import ('./ page-config / page-config.module'). then (m => m.PageConfigPageModule)
},
{
caminho:'page-status',
loadChildren:() => import ('./ page-status / page- status.module '). then (m => m.PageStatusPageModule)
},
...
- post.service.ts. Ele se comunica com a API. Aqui são definidas as principais interfaces (Post, Dep e Log), juntamente com a classe PostService. PostService possui as principais funções básicas para se comunicar com a API:função get, para receber informações da API; post, para criar um novo artigo na API; excluir, para excluir um artigo; e colocar, para editar um artigo existente na interface, mas excluindo os dados anteriores que ele continha.
getPosts () {
return this.http.get (this.API);
}
getDeposit () {
return this.http.get (this.DEPOSIT);
}
getLogs () {
return this.http.get (this.LOGS);
}
createPost (comprimido:string, depósito:string, peso:string, manhã:booleano, tarde:booleano, noite:booleano) {
retornar this.http.post (this.API, {
pílula,
depósito,
peso,
manhã,
tarde,
noite,
});
}
removePost (id:string) {
return this.http.delete (` $ {this.API} / $ {id} `);
}
...
Configuração e edição da página da pílula.
O Smartpill possui um percurso dedicado a mostrar todos os posts programados denominado “page-config”. Para criar um novo post para configurar os comprimidos, o usuário deve pressionar um botão no canto inferior direito que os redirecionará para a página de edição “page-edit-pill”. Porém, se eles não quiserem criar, mas editar, ao clicar no botão editar de um post já criado, a web também os redirecionará para a “página-edit-pill” mas com o id do post. Essas duas declarações são definidas da seguinte forma:
- Crie um novo botão de postagem
- Botão Editar postagem
Editar
A página “page-edit-pill” reconhece se o usuário entrou na rota com ou sem um id e executa as funções correspondentes com a ajuda de ifs simples.
- Caminho com Id definido no módulo de rota
{
path:'pill / edit /:postId',
loadChildren :() => import ('./ page-edit-pill / page-edit-pill.module ') .então (m => m.PageEditPillPageModule)
},
- Lendo se a rota possui um ID
ngOnInit () {
this.actiavtedRoute.paramMap.subscribe ((paramMap) => {
if (ParamMap.get ("postId")) {
this. postService
.getPostById (paramMap.get ("postId"))
.subscribe ((res) => {
this.post =res;
this.editing =true;
});
}
});
}
- Se exibir exemplo
{{editando?
'Atualize seu':
'Crie seu'
}} Depósito
- Exemplo de botão If
{{editando? 'Atualizar':'Enviar'}}
A “edit-pill-page” interage com o usuário com componentes de IU iônicos, como entradas e seleções, que serão enviadas posteriormente para a API:
- Seleção múltipla de tempo
Clique aqui para escolher a hora do dia.
cancelText ="Cancel" okText ="Submit">
Manhã
Tarde
Night
- Introdução de pílulas
Nome do comprimido:
A “página de configuração” foi programada com Ciclo de Vida Angular, então quando você retornar da “página-editar-pílula” ou de qualquer outra, a página será atualizada e os posts recarregarão, atualizando as alterações automaticamente.
- Carregar função Post
loadPosts () {
this.postService.getPosts (). subscribe (
(res) => {
this.posts =res;
},
(err) => console.log (err)
);
this.postService.getDeposit (). subscribe (
(res) => {
this .dep =res;
console.log (this.dep);
};
(err) => console.log (err)
);
A “página de configuração” também possui um botão que permite ao usuário deletar qualquer comprimido. É uma função assíncrona que exibe uma mensagem de alarme para verificar se eles têm certeza dessa ação.
- Excluindo uma postagem
async removePost (id:string) {
const alert =await this.alertController.create ({
header:"Alert",
subHeader:"Tem certeza que você deseja deletar este depósito? ",
mensagem:" Não será possível recuperá-lo. ",
botões:[
" Cancelar ",
{
texto:"Sim",
manipulador:() => {
this.postService.removePost (id) .subscribe (
(res) => {
console.log (res);
this.loadPosts ();
},
(err) => console.log (err)
);
},
},
],
});
aguarde alert.present ();
}
Página de registros
A página de registros obtém as informações dos comprimidos dispensados e as exibe como um registro na rota do histórico. Funciona de forma semelhante a “config-page”, mas carrega apenas as informações localizadas na API:
- Obtendo registros
loadPosts () {
this.postService.getLogs (). subscribe (
(res) => {
this.log =res;
console. log (this.log);
},
(err) => console.log (err)
);
}
ngOnInit () {
this.loadPosts ();
}
ionViewWillEnter () {
this.loadPosts ();
}
- Exibindo registros
{{log.date | data:'dd / MM / aaaa'}} - {{log.date | data:'HH_mm'}} h
{{log.patient_name}}
{{log.pills}}
Amazon Web Services
A AWS é o provedor de serviços escolhido para implantar o sistema SmartPill, pois oferece uma ampla gama de serviços dentro do mesmo ecossistema, permitindo-nos optar por uma abordagem totalmente sem servidor. Isso permite que o aplicativo se adapte às necessidades do usuário e pague apenas pelo que for usado.
Smartpill Arquitetura em nuvem
O sistema Smartpill usa uma arquitetura totalmente sem servidor usando Amazon Web Services. Isso permite que o aplicativo aumente ou diminua para ser adaptado às necessidades do usuário. A arquitetura é descrita no diagrama abaixo:
O Smartpill Dispenser usa uma placa Microchip AVR-IoT com recursos WiFi para se comunicar com o ecossistema AWS. AVR-IoT é conectado por meio do AWS IoT Core pelo protocolo MQTT. Isso permite conectividade bidirecional entre o ecossistema da nuvem e o próprio hardware. Essa comunicação é usada para enviar a mensagem de dispensa para o dispensador, bem como os eventos de confirmação do dispensador para a nuvem.
O front-end do aplicativo da web desenvolvido com a estrutura Ionic Angular NodeJS é compilado e seus arquivos estáticos são carregados para o serviço de armazenamento AWS S3. O backend do aplicativo da web é um serviço HTTT API Rest desenvolvido com AWS API Gateway que chama funções Lambda. Essas funções do Lambda se comunicam com o banco de dados DynamoDB que armazena a configuração dos comprimidos e os registros de ingestão.
A ponte de eventos da AWS é usada como um agendador para acionar os eventos de dispensa no horário correto. Este evento aciona uma função Lambda que pesquisará no banco de dados os comprimidos necessários em cada ingestão e enviará essas informações ao Dispensador SmartPill por meio do IoT Core.
AWS-IoT Core
A primeira coisa que você precisa fazer para começar a operar a placa AVR-IoT com AWS IoT Core é conectar a placa à sua conta AWS. Este processo é descrito pela Microchip nos Guias do Desenvolvedor de IoT para AWS
Com isso, você terá sua placa AVR-IoT pronta para usar em sua conta da AWS. Você pode ver isso no AWS IoT Core em Gerenciar → Guia Coisas.
Em seguida, certifique-se de que sua placa AVR-IoT tenha acesso à Internet, configurando-a com suas credenciais WiFi, conforme descrito no Guia de primeiros passos:
AWS DynamoDB
Então você vai querer configurar o aplicativo web, para isso, a primeira coisa que você precisa fazer é registrar as tabelas do DynamoDB que o aplicativo web precisa:
- smartpill-history:irá armazenar todos os registros de comprimidos tomados
- smartpill-pills:irá armazenar seus comprimidos configurados
Clique em criar tabela:
Dê a ele o nome exato e selecione "id" como a chave primária.
AWS Lambda
Certifique-se de ter AmazonDynamicDBFullAccess anexado. Para que a função Lambda possa ler / gravar no banco de dados DynamoDB. Para isso, vá até a guia Permissões:
E clique em Nome da função. Isso irá redirecioná-lo para a função de execução para esta função Lambda. Recomendamos que cada função Lambda tenha sua própria Função de Execução.
AmazonDynamoDBFullAccess deve aparecer, se não, clique em Anexar políticas e Pesquisar por "dynamodb":
Fornecer à função Lambda acesso total ao DynamoDB é seguro apenas para o propósito deste tutorial, e não deve ser feito para um ambiente de produção.
Agora vá para a configuração e adicione o código de função do repositório Github (link abaixo):
Repita isso para todas as funções do Lambda no repositório.
Em seguida, iremos configurar as integrações entre Lambda e IoT Core para que a função adequada seja executada quando a mensagem for enviada pela placa.
Vamos configurar a confirmação da mensagem de dispensação enviada pelo AVR-IoT para que a entrada de log e a notificação correspondentes possam ser geradas no banco de dados.
Vamos para AWS-IoT Core, clique em Add and Rules para configurar uma regra:
Clique em Criar nova regra e dê um nome:smartpill_confirmationpill e uma breve descrição
Em seguida, insira a seguinte instrução de consulta:
SELECT * FROM 'confirmationpill'
e configurar uma ação 'Enviar uma mensagem para uma função Lambda' para apontar para o 'smartpill-confirmationpill' criado anteriormente:
Você está pronto para ir para a próxima parte.
Ponte de eventos AWS
O Event Bridge se encarregará de lançar a função lambda que enviará a mensagem ao Dispensador SmartPill para dispensar a pílula no momento correto. Iremos configurar 3 eventos programados de gatilho para fazer isso. Uma para a manhã, uma para a tarde e uma para a noite.
Acesse o serviço AWS Event Bridge e clique em "Criar uma regra".
Dê a ele um nome e configure o padrão de evento Schedule como uma expressão cron:
NOTA:Leve em consideração que essas expressões cron estão no horário UTC.
Selecione a função Lambda 'smartpill-dispensepill' como um alvo:
Esta função Lambda será executada no horário definido.
Defina mais duas regras para o horário desejado nas entradas de manhã, tarde e noite.
AWS API Gateway
Vá para AWS API Gateway e clique em Create API. Escolha HTTP API e clique em Build:
Dê a ele "smartpill-webui" como um nome (ou o que você quiser, isso não importa muito)
E configure todas as funções do Lambda como Integrações:
Clique em Avançar e configure todas as rotas conforme especificado na tabela abaixo:
Finalmente, implante a API para obter um ponto de extremidade HTTP.
Alternativamente, você pode importar o arquivo JSON 'smartpill-api.json' no repositório abaixo.
AWS S3
O serviço de armazenamento AWS S3 é feito para armazenar arquivos, mas também pode atuar como um servidor da web estático, por exemplo, uma página da web. Para fazer isso, primeiro você precisa criar um Bucket.
Vá para S3 e clique em "Create a Bucket":
Dê um nome amigável (este será o seu DNS).
Agora você terá que ativar o recurso de hospedagem de sites estáticos. Vá para propriedades e vá direto para o fundo. Você encontrará isto:
Click on "Edit" and Enable the Static website hosting feature and select 'index.html' as your index and error document:
Then upload your website static files that Angular has compiled and access your DNS. You are ready to go!
AVR-IoT Board
AVR-IoT board from Microchip is used as a communication interface in order to provide connectivity to the Cloud to the Dispenser. It is connected to the Main Arduino Board by means of a Serial interface.
Firmware for the AVR-IoT WA Development Board based on the original example
The already implemented CLI have been extended including the command "pill" , its corresponding callback pill_command() that parses the message and sends th confirmation JSON by MQTT to the topic "confirmationpill". Also, the message in case of unknown message is customized as well as in the callback in case of incorrect parameter.
The original CLI used the USART2, which is connected to the debugger by the PCB but is not accessible. For this version, the CLI structure and the funtionality printf() are now implemented on the USART1, which is avaliable with the pin conectors RX and TX . This alows us to use this CLI with any external device, taking into account the following configuration:
We have also managed to add a custom MQTT topic subscription with a JSON parser. On the aplication_manager.c could be found the modified version of subscribeToCloud() to subscribe to "dispensepill" custom topic and how it is linked to a custom callback receiveddispenseFromCloud() in which the data from the JSON is extracted.
On IoTPill.h header are defined the main structures used to control the data received and sent.
In order to enable communication between the Main Arduino board and the AVR-IoT we have developed a simple communication bidirectional protocol that has two messages.
- dispensepill: Will be triggered by AWS Event Bridge at the right time and will send the event to the Dispenser to dispense a pill
- confirmationpill :Will be send by the AVR-IoT board when the pill has been correctly dispensed in order to announce it to the AWS, which will log into the database.
'dispensepill' message (AWS → IoT Board → Arduino)
Event Bridge will trigger the smartpill-dispensepill Lambda function to send by MQTT to IoT Board a JSON formated string that has this fields:
{
"cmd":"dispensepill",
"npills":2,
"intake":{
"time":"morning"
},
"pills":{
"1":{
"pill":"Ibuprofeno",
"qty":1,
"deposit":1,
"weight":200
},
"2":{
"pill":"Paracetamol",
"qty":2,
"deposit":2,
"weight":500
}
}
}
and the IoT board will send by USART to the Arduino:
D Ibuprofeno 1 1 200 D Paracetamol 2 2 500 \n
'confirmationpill' messageArduino → IoT Board → AWS
The arduino will send to the command "pill " and, if the delivery was incorrect or correct, it will add a ' 1 ' if it was okay:
pill 1
This message will be processed by the custom CLI of the IoT Board taking into account the intake previusly send ( specifying the corresponding "time") and it will send the following JSON to AWS:
{
"time":"morning",
"state":"ok"
}
AWS will send the log with Lambda functions triggered to the Web service
Alguma pergunta? Leave a comment below and we will do our best to help you!
Código
Smartpill Web Application
Frontend code for the webapp user interfacehttps://github.com/makers-upv/smartpill-webuiSmartpill Backend Lambda functions
https://github.com/makers-upv/smartpill-lambdaSmartpill AVR-IoT Code
https://github.com/makers-upv/smartpill-avriotSmartpill Arduino Code
https://github.com/makers-upv/smartpill-arduinofwPeças personalizadas e gabinetes
Thingiverse Repository
Thingiverse Repository for SmartPill DispenserCAD file on thingiverse.com Pill Dispenser Mechanism that will take care of dispensing the correct quantity of pills. It is controlled by a servo.SmartPill Dispenser enclousureThe full assembly of the project. It's in STEP format so it can be modified by everyone. smartpill_full_assembly_ybV7DD7ehX.stepEsquemas
SmartPill Electronics HW connectionsProcesso de manufatura