Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino Apple Watch

Componenten en benodigdheden

SparkFun Arduino Pro Mini 328 - 3.3V/8MHz
× 1
Adafruit Bluefruit LE - Bluetooth Low Energy (BLE 4.0) - nRF8001 Breakout - v1.0
× 1
Adafruit Monochrome 0,96" 128x64 OLED-scherm
× 1
Adafruit lithium-ion-polymeerbatterij - 3.7v 100mAh
× 1
Micro-USB-connectoren
× 1
1M Ohm 1206 SMD-weerstanden
× 3
20 mm horlogeband met sprints
× 1
USB-A naar micro-USB-kabel
× 1
2x5mm schroeven
× 4
SparkFun LiPo-oplader Basic - Micro-USB
× 1
SparkFun FTDI Basic Breakout - 3.3V
× 1
50x50mm aluminium plaat
× 1
Matrix- of stripbord
× 1

Benodigde gereedschappen en machines

Soldeerbout (algemeen)
3D-printer (algemeen)
Ander algemeen gereedschap zoals zaag, tang, schroevendraaier en messen

Apps en online services

Arduino IDE

Over dit project

Ik wilde een smartwatch die me meldingen van een iPhone liet zien, klein genoeg was om te dragen en een oplaadbare batterij had die minstens een dag meeging. Ik heb mijn eigen Apple Watch gemaakt op basis van een Arduino. Het is een smartwatch op basis van een Arduino mini pro, die via Bluetooth met de iPhone is verbonden. De USB-micropoort is verbonden met de batterij wat het opladen gemakkelijk en eenvoudig maakt. De draden aan de voorkant zijn aanraakknoppen die voelen als je je vinger erop legt, waardoor je verbinding kunt maken met het horloge.

Het horloge synchroniseert automatisch de tijd met de tijd op de iPhone wanneer een nieuwe melding wordt ontvangen. Dit maakt het horloge betrouwbaarder en minder gevoelig voor vertragingen in de Arduino. Na 10 seconden wordt het scherm uitgeschakeld om de batterij te sparen. Het scherm wordt wakker als de middelste knop wordt aangeraakt of als er een nieuwe melding wordt ontvangen.

Ik kwam de pagina van Luke Brendt tegen (http://lukeberndt.com/2014/ios-notifications-with-arduino/) en zag dat hij hetzelfde had gemaakt als ik wilde bereiken, maar ik moest het apparaat kleiner en draagbaar. Het is de ANCS Arduino-bibliotheek van Brendt die ik in dit project gebruik. ANCS staat voor Apple Notification Center Service en wordt als volgt beschreven door Apple. "Het doel van de Apple Notification Center Service (ANCS) is om Bluetooth-accessoires (die verbinding maken met iOS-apparaten via een Bluetooth-low-energy link) een eenvoudige en handige manier te geven om toegang te krijgen tot vele soorten meldingen die op iOS-apparaten worden gegenereerd."

Hieronder volgt een tutorial waarmee je deze smartwatch zelf kunt bouwen.

Stap 1:Montage van elektrische hardware

Zoals te zien is in het schakelschema, moeten er veel draden worden aangesloten en moeten alle componenten dicht bij elkaar zitten, wat een uitdaging is.

Na wat iteraties kwam ik met deze stappen om de montage gemakkelijker te maken. Ik stel voor om naar de foto's te kijken om te zien hoe ik enkele problemen met het aansluiten van draden heb opgelost.

1. Verbind de Bluefruit LE met de Arduino met flexibele draden.

2. Maak het bord voor de aanraakknoppen en bevestig de pinnen. Bevestig dit bord met flexibele draden aan de Arduino. (De pinnen zijn afgesneden van LED-diodes)

3. Pas enkele pinnen voor het OLED-scherm aan en monteer het op de Arduino.

De volgende stappen kunnen wachten totdat de code is geüpload en verificatie is uitgevoerd dat de hardware goed werkt.

4. Sluit een flexibele draad aan op aarde, maak deze lang genoeg om de achterkant van het horloge te bereiken, die contact moet maken met het lichaam. (Dit is nodig omdat capacitieve aanraking een grondreferentie nodig heeft om goed te werken)

5. Bevestig de micro-USB-connector met flexibele draden aan aarde en RAW. Kijk naar een USB-micro-pinout-diagram om te zien hoe aarde en positieve spanning moeten worden aangesloten. (Opmerking! Sluit de positieve draad van USB aan op RAW en niet op VCC).

6. Bevestig de batterij met flexibele draden aan aarde en RAW (Let op! Sluit de positieve draad van de batterij aan op RAW en niet op VCC).

Het is ook noodzakelijk om een ​​oplader voor het horloge aan te passen:

1. Knip een USB-microkabel door.

2. Sluit de rode draad in de USB-kabel aan op de rode draad van de batterijconnector en de zwarte draad in de USB-kabel op de zwarte draad van de batterijconnector.

BELANGRIJK!

Houd er rekening mee dat de smartwatch NIET rechtstreeks kan worden opgeladen met 5V vanaf een USB met een gewone USB-microkabel. In plaats daarvan is een Li-Po-oplader nodig, anders kan de batterij beschadigd raken.

Opmerkingen:

Probeer tape te gebruiken om de componenten te isoleren om kortsluiting te voorkomen.

Stap 2:Software

De volgende bibliotheken zijn gebruikt voor de smartwatch. Sommigen hadden echter een paar aanpassingen nodig om met de gebruikte hardware te werken, wat hieronder zal worden uitgelegd.

Bibliotheken:

- ANCS-bibliotheek voor Arduino (https://github.com/robotastic/ANCS-Library/tree/master)

- Bluetooth low energy SDK voor Arduino (https://github.com/NordicSemiconductor/ble-sdk-Arduino)

- U8glib voor het scherm (https://github.com/olikraus/u8glib)

- Capacitive Sensing-bibliotheek (https://playground.arduino.cc/Main/CapacitiveSensor?from=Main.CapSense)

De aangebrachte wijzigingen zijn de volgende:

1. Bibliotheek:ANCS-bibliotheek voor Arduino, bestand:notif.cpp, rij:826. Dit moet worden gewijzigd om de Bluefruit-module te laten werken.

aci_state.aci_pins.reset_pin =9; // Dit is veranderd in 9  

Om ervoor te zorgen dat de tijd correct wordt gesynchroniseerd, moeten de volgende wijzigingen worden geïmplementeerd om enkele bugs in de bibliotheek op te lossen

2. Bibliotheek: ANCS-bibliotheek voor Arduino, bestand:ancs_data_source.cpp

  • Vervang de volledige code door de code uit de ancs_data_source.cpp PDF op deze link
  • Voeg de volgende rij toe als commentaar hieronder in ancs_data_source.cpp op rij 217.
case ANCS_NOTIFICATION_ATTRIBUTE_DATE:debug_print(F(", Datum:")); // JJJJMMDDTHHMM datetime =(char*) malloc (5); //Voeg deze rij toe! strncpy(datetime, buffer, 4); 

3. Bibliotheek:ANCS-bibliotheek voor Arduino, bestand ancs_notification.h

  • Vervang de volledige code door de code uit de ancs_notification.h PDF op deze link .

De Arduino mini pro mist een on-board programmer, een externe is dus nodig. Ik gebruikte deze:Sparkfun FTDI (https://www.sparkfun.com/products/9873).

Opmerkingen:

De bijgevoegde zip-map bevat de code die op de Arduino draait, en alle benodigde bibliotheken. De bibliotheken zijn gewijzigd zoals hierboven. De Arduino-code is becommentarieerd die hopelijk de functies zal verklaren.

Ik heb een probleem ondervonden tijdens het compileren van de code met Arduino IDE 1.8.3, dit vanwege een bekende fout in de GCC-compiler. Ik heb Arduino IDE 1.0.6 gedownload en geïnstalleerd en kon de code compileren en uploaden.

Stap 3:Hoesje voor de Smartwatch

Teken een koffer die groot genoeg is om alle componenten te bevatten. In de zip-map zit het stl-bestand voor de koffer die in dit project wordt gebruikt. (Er zijn twee herhalingen van het ontwerp van de behuizing gemaakt. Daarom kan de vorm van de behuizing op sommige afbeeldingen variëren.)

De achterkant is gemaakt van een aluminium plaat uit een oude doos. Knip een stuk uit dat op de behuizing past en boor gaten voor de schroeven. Voor de behuizing en de polsband die in het project wordt gebruikt, is een opening tussen de gaten nodig. Het is goed als de achteromslag van een materiaal is dat elektrisch geleidend is, aangezien de aarde-naar-lichaam-draad op deze achteromslag wordt aangesloten. Om schone en rechte randen op de aluminiumplaat te krijgen, hield ik de plaat tussen twee houten stukken en gebruikte ik een metaalzaag.

De 3D-geprinte behuizing had wat behandeling nodig, deze stappen zijn uitgevoerd:

1. Schuur de behuizing met fijn schuurpapier.

2. Breng vulmiddel aan vanuit een spuitbus, zorg ervoor dat deze de koffer goed afdekt.

3. Schuur de behuizing opnieuw met fijn schuurpapier. (Stap 3 en 4 moeten mogelijk worden herhaald totdat een gladde afwerking is bereikt. Ik heb deze stappen drie keer herhaald.)

4. Breng verf aan uit een spuitbus, zorg ervoor dat deze de behuizing goed afdekt.

Opmerkingen:

Volg de instructies op de spuitbussen voor het beste resultaat.

Stap 4:Eindmontage

Steek eerst de pinnen van de aanraakknop door de onderste gaten in de behuizing. Buig ze terug en steek ze in de bovenste gaten in de behuizing. Druk de draden naar beneden om ze goed en soepel te laten passen.

Duw gewoon de rest van de componenten naar beneden en probeer het scherm op een goede plek te krijgen. Ik had een ernstig probleem om het scherm in de behuizing uit te lijnen. Dit hangt af van zowel de component-assemblage als het ontwerp van de behuizing. Het is de reden waarom het scherm een ​​beetje gedraaid is.

Duw de USB-microconnector door het gat in de zijkant. (Ik heb tape gebruikt om de pasvorm van de dij in het gat te krijgen, zodat de connector op zijn plaats bleef.)

Soldeer de body-to-ground draad aan de achterkant en isoleer de achterkant met tape. Bevestig de achterklep met vier schroeven.

Stap 5:Hoe de Smartwatch te gebruiken

De smartwatch is eenvoudig in gebruik. Ga gewoon naar de Bluetooth-instellingen op de iPhone, schakel Bluetooth in en zoek naar een apparaat met de naam "ANSC rusk", kies dit en selecteer koppelen. De smartwatch en de iPhone zijn nu gekoppeld en de smartwatch krijgt dezelfde meldingen die op de iPhone verschijnen.

Het horloge wordt opnieuw gestart als de middelste knop en de rechterknop tegelijkertijd worden aangeraakt. Dit is handig als er zich een probleem met de verbinding voordoet.

Om de batterij op te laden, sluit u gewoon de aangepaste USB-kabel aan en sluit u deze aan op de Li-Po-oplader.

Code

  • Arduino Apple Watch.zip
Arduino Apple Watch.zipArduino
In het zip-bestand zijn alle gewijzigde bibliotheken en codes beschikbaar.
Geen voorbeeld (alleen downloaden).

Aangepaste onderdelen en behuizingen

Case voor de smartwatch die op alle componenten past.

Schema's

Sluit de componenten aan zoals te zien in het schakelschema

Productieproces

  1. Bekijken
  2. Eenvoudige wandklok met Adafruit 1/4 60 Ring Neopixel
  3. Arduino Spybot
  4. FlickMote
  5. Zelfgemaakte tv B-Gone
  6. UnifiedWater v1
  7. Hoofdklok
  8. Vind mij
  9. Arduino Power
  10. Intel Arduino 101 BLE Blynk Tank
  11. Tech-TicTacToe