Arduino Apple Watch
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 4 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Ferramentas e máquinas necessárias
| ||||
| ||||
|
Aplicativos e serviços online
|
Sobre este projeto
Eu queria um smartwatch que me mostrasse notificações de um iPhone, fosse pequeno o suficiente para ser usado e tivesse uma bateria recarregável que durasse pelo menos um dia. Criei meu próprio relógio Apple baseado em um Arduino. É um smartwatch baseado em um Arduino mini pro, que é conectado ao iPhone por Bluetooth. A porta USB-micro é conectada à bateria, o que torna o carregamento fácil e simples. Os fios na frente são botões sensíveis ao toque que detectam se você coloca o dedo neles, o que permite a interface com o relógio.
O relógio sincronizará automaticamente a hora com a hora do iPhone quando uma nova notificação for recebida. Isso torna o relógio mais confiável e menos sensível a atrasos no Arduino. Após 10 segundos, a tela será desligada com o propósito de economizar bateria. A tela desperta se o botão do meio for tocado ou se uma nova notificação for recebida.
Me deparei com a página de Luke Brendt (http://lukeberndt.com/2014/ios-notifications-with-arduino/) e vi que ele havia criado a mesma coisa que eu queria alcançar, mas eu precisava que o dispositivo fosse menor e vestível. É a biblioteca ANCS Arduino de Brendt que estou usando neste projeto. ANCS significa Apple Notification Center Service, que é descrito da Apple como segue. “O objetivo do Apple Notification Center Service (ANCS) é fornecer aos acessórios Bluetooth (que se conectam a dispositivos iOS por meio de um link Bluetooth de baixa energia) uma maneira simples e conveniente de acessar muitos tipos de notificações geradas em dispositivos iOS.”
A seguir está um tutorial para que você possa construir este smartwatch por conta própria.
Etapa 1:montagem do hardware elétrico
Como visto no diagrama de circuito, há muitos fios a serem conectados e todos os componentes devem estar próximos, o que representa um desafio.
Depois de algumas iterações, criei essas etapas para tornar a montagem mais fácil. Sugiro olhar as fotos para ver como resolvi alguns problemas com a conexão dos fios.
1. Conecte o Bluefruit LE ao Arduino com fios flexíveis.
2. Crie a placa para os botões de toque e prenda os pinos. Conecte esta placa ao Arduino com fios flexíveis. (Os pinos são cortados dos diodos LED)
3. Modifique alguns pinos do display OLED e monte-o no Arduino.
As etapas a seguir podem esperar até que o código seja carregado e a verificação de que as funções do hardware sejam realizadas corretamente.
4. Conecte um fio flexível ao aterramento, faça-o longo o suficiente para alcançar a parte de trás do relógio, que precisa estar em contato com o corpo. (Isso é necessário porque o toque capacitivo precisa de uma referência de aterramento para funcionar corretamente)
5. Conecte o conector micro USB com fios flexíveis ao aterramento e RAW. Observe um diagrama de micro pinagem USB para ver como o aterramento e a tensão positiva devem ser conectados. (Nota! Conecte o fio positivo do USB ao RAW e não ao VCC).
6. Conecte a bateria com fios flexíveis ao aterramento e RAW (Observação! Conecte o fio positivo da bateria ao RAW e não ao VCC).
Além disso, é necessário personalizar um carregador para o relógio:
1. Corte um micro cabo USB.
2. Conecte o fio vermelho do cabo USB ao fio vermelho do conector da bateria e o fio preto do cabo USB ao fio preto do conector da bateria.
IMPORTANTE!
Observe que o smartwatch NÃO PODE ser carregado diretamente com 5 V de um USB com um micro cabo USB comum. Em vez disso, é necessário um carregador Li-Po, caso contrário, a bateria pode ser danificada.
Comentários:
Tente usar fita adesiva para isolar os componentes para evitar curto-circuito.
Etapa 2:Software
As seguintes bibliotecas foram usadas para o smartwatch. No entanto, alguns precisaram de algumas modificações para funcionar com o hardware usado, o que será explicado a seguir.
Bibliotecas:
- Biblioteca ANCS para Arduino (https://github.com/robotastic/ANCS-Library/tree/master)
- SDK Bluetooth de baixa energia para Arduino (https://github.com/NordicSemiconductor/ble-sdk-Arduino)
- U8glib para a tela (https://github.com/olikraus/u8glib)
- Biblioteca de detecção capacitiva (https://playground.arduino.cc/Main/CapacitiveSensor?from=Main.CapSense)
As modificações feitas são as seguintes:
1. Biblioteca: Biblioteca ANCS para Arduino, Arquivo:notif.cpp, Linha:826. Isso precisa ser alterado para que o módulo Bluefruit funcione.
aci_state.aci_pins.reset_pin =9; // Isso foi alterado para 9
Para que o tempo seja sincronizado corretamente, as mudanças a seguir precisam ser implementadas para corrigir alguns bugs na biblioteca
2. Biblioteca: Biblioteca ANCS para Arduino, Arquivo:ancs_data_source.cpp
- Substitua o código inteiro pelo código do PDF ancs_data_source.cpp neste link
- Adicione a seguinte linha comentada abaixo em ancs_data_source.cpp na linha 217.
case ANCS_NOTIFICATION_ATTRIBUTE_DATE:debug_print (F (", Data:")); // AAAAMMDDTHHMM datetime =(char *) malloc (5); // Adicione esta linha! strncpy (datetime, buffer, 4);
3. Biblioteca: Biblioteca ANCS para Arduino, Arquivo ancs_notification.h
- Substitua o código inteiro pelo código do PDF ancs_notification.h neste link .
O Arduino mini pro não tem um programador integrado, portanto, é necessário um externo. Eu usei este:Sparkfun FTDI (https://www.sparkfun.com/products/9873).
Comentários:
A pasta zip anexada contém o código em execução no Arduino e todas as bibliotecas necessárias. As bibliotecas são modificadas como acima. O código do Arduino é comentado, o que esperançosamente explicará as funções.
Eu encontrei um problema ao tentar compilar o código com Arduino IDE 1.8.3, isso devido a um erro conhecido no compilador GCC. Baixei e instalei o Arduino IDE 1.0.6 e consegui compilar e fazer upload do código.
Etapa 3:estojo para smartwatch
Desenhe um caso que seja grande o suficiente para conter todos os componentes, anexado na pasta zip está o arquivo stl para o caso usado neste projeto. (Duas iterações do design da caixa foram feitas. É por isso que a forma da caixa pode variar em algumas das fotos.)
A tampa traseira é feita de uma folha de alumínio de uma caixa velha. Recorte um pedaço que caiba na caixa e faça orifícios para os parafusos. Para a caixa e a pulseira usada no projeto é necessário um espaço entre os orifícios. É bom que a tampa traseira seja de um material eletricamente condutor, já que o fio terra-corpo será conectado a essa tampa traseira. Para obter bordas limpas e retas na folha de alumínio, segurei a folha entre duas peças de madeira e usei uma serra de metal.
A caixa impressa em 3D precisava de algum tratamento, estas etapas foram cumpridas:
1. Lixe a caixa com uma lixa fina.
2. Aplique o enchimento de uma lata de spray, certifique-se de que cobre bem a caixa.
3. Lixe novamente a caixa com uma lixa fina. (As etapas 3 e 4 podem precisar ser repetidas até que um acabamento uniforme seja alcançado. Repeti essas etapas três vezes.)
4. Aplique tinta de uma lata de spray, certifique-se de que cobre bem a caixa.
Comentários:
Siga as instruções nas latas de spray para obter os melhores resultados.
Etapa 4:montagem final
Em primeiro lugar, insira os pinos do botão de toque nos orifícios inferiores da caixa. Dobre-os para trás e insira-os nos orifícios superiores da caixa. Pressione os fios para baixo para que se encaixem bem e suavemente.
Basta empurrar o resto dos componentes para baixo e tentar colocar a tela em uma boa localização. Tive um grave problema para alinhar a tela no case. Isso depende da montagem do componente e também do projeto da caixa. É por isso que a tela está um pouco girada.
Empurre o conector micro USB através do orifício na lateral. (Usei fita adesiva para fazer o encaixe da coxa no orifício, para permitir que o conector ficasse no lugar.)
Solde o fio corpo-terra à tampa traseira e isole a tampa traseira com fita adesiva. Prenda a tampa traseira com quatro parafusos.
Etapa 5:como usar o Smartwatch
O smartwatch é simples de usar. Basta acessar as configurações do Bluetooth no iPhone, habilitar o Bluetooth e procurar por um dispositivo chamado “ANSC rusk”, escolher este e selecionar o par. O smartwatch e o iPhone agora estão pareados e o smartwatch receberá as mesmas notificações que aparecem no iPhone.
O relógio será reiniciado se o botão do meio e o botão direito forem tocados ao mesmo tempo. Isso é útil se ocorrer um problema com a conexão.
Para carregar a bateria, basta conectar o cabo USB modificado e conectá-lo ao carregador Li-Po.
Código
- Arduino Apple Watch.zip
Arduino Apple Watch.zip Arduino
No arquivo zip, todas as bibliotecas e códigos modificados estão disponíveis.Sem visualização (somente download).
Peças personalizadas e gabinetes
Estojo para o smartwatch que caberá em todos os componentes.Esquemas
Conecte os componentes conforme visto no diagrama de circuitoProcesso de manufatura