Arduino Apple Watch
Komponenten und Verbrauchsmaterialien
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 1 | ||||
![]() |
| × | 1 | |||
| × | 4 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 |
Notwendige Werkzeuge und Maschinen
![]() |
| |||
![]() |
| |||
|
Apps und Onlinedienste
![]() |
|
Über dieses Projekt
Ich wollte eine Smartwatch, die mir Benachrichtigungen von einem iPhone anzeigt, klein genug zum Tragen ist und einen Akku hat, der mindestens einen Tag hält. Ich habe meine eigene Apple Watch basierend auf einem Arduino erstellt. Es handelt sich um eine Smartwatch auf Basis eines Arduino mini pro, die über Bluetooth mit dem iPhone verbunden ist. Der USB-Micro-Port wird mit dem Akku verbunden, was das Aufladen einfach und unkompliziert macht. Die Drähte auf der Vorderseite sind Touch-Tasten, die erkennen, wenn Sie Ihren Finger darauf legen, sodass Sie mit der Uhr kommunizieren können.
Die Uhr synchronisiert die Uhrzeit automatisch mit der Uhrzeit auf dem iPhone, wenn eine neue Benachrichtigung eingeht. Dies macht die Uhr zuverlässiger und unempfindlicher für Verzögerungen im Arduino. Nach 10 Sekunden wird der Bildschirm ausgeschaltet, um Batterie zu sparen. Der Bildschirm wacht auf, wenn die mittlere Taste berührt wird oder wenn eine neue Benachrichtigung eingeht.
Ich stieß auf Luke Brendts Seite (http://lukeberndt.com/2014/ios-notifications-with-arduino/) und sah, dass er das gleiche geschaffen hatte, was ich erreichen wollte, aber ich brauchte das Gerät kleiner und tragbar. Es ist Brendts ANCS Arduino Library, die ich in diesem Projekt verwende. ANCS steht für Apple Notification Center Service, der von Apple wie folgt beschrieben wird. „Der Zweck des Apple Notification Center Service (ANCS) besteht darin, Bluetooth-Zubehör (das über eine Bluetooth-Low-Energy-Verbindung mit iOS-Geräten verbunden wird) eine einfache und bequeme Möglichkeit zu bieten, auf viele Arten von Benachrichtigungen zuzugreifen, die auf iOS-Geräten generiert werden.“



Im Folgenden finden Sie ein Tutorial, damit Sie diese Smartwatch selbst bauen können.
Schritt 1:Montage der elektrischen Hardware
Wie im Schaltplan zu sehen ist, müssen viele Drähte angeschlossen werden, und alle Komponenten sollten eng beieinander liegen, was eine Herausforderung darstellt.
Nach einigen Iterationen habe ich mir diese Schritte ausgedacht, um den Zusammenbau zu erleichtern. Ich schlage vor, sich die Bilder anzusehen, um zu sehen, wie ich einige Probleme mit dem Anschluss von Drähten gelöst habe.
1. Verbinden Sie den Bluefruit LE mit flexiblen Drähten mit dem Arduino.
2. Erstellen Sie die Platine für die Touch-Buttons und bringen Sie die Pins an. Befestigen Sie diese Platine mit flexiblen Drähten am Arduino. (Die Pins sind von LED-Dioden abgeschnitten)
3. Ändern Sie einige Pins für das OLED-Display und bauen Sie es mit dem Arduino zusammen.
Die folgenden Schritte können warten, bis der Code hochgeladen und überprüft wurde, ob die Hardware ordnungsgemäß funktioniert.
4. Schließen Sie ein flexibles Kabel an Masse an, und machen Sie es lang genug, um die Rückseite der Uhr zu erreichen, die mit dem Körper in Kontakt sein muss. (Dies ist erforderlich, da kapazitive Berührungen eine Erdungsreferenz benötigen, um richtig zu funktionieren)
5. Verbinden Sie den Micro-USB-Anschluss mit flexiblen Drähten mit Masse und RAW. Sehen Sie sich ein USB-Mikro-Pinbelegungsdiagramm an, um zu sehen, wie Masse und positive Spannung verbunden werden sollten. (Hinweis! Verbinden Sie das positive Kabel von USB mit RAW und nicht mit VCC).
6. Befestigen Sie die Batterie mit flexiblen Drähten an Masse und RAW (Hinweis! Schließen Sie das Pluskabel von der Batterie an RAW und nicht an VCC an).
Außerdem muss ein Ladegerät für die Uhr angepasst werden:
1. Schneiden Sie ein USB-Mikrokabel ab.
2. Verbinden Sie das rote Kabel des USB-Kabels mit dem roten Kabel vom Batterieanschluss und das schwarze Kabel des USB-Kabels mit dem schwarzen Kabel vom Batterieanschluss.









WICHTIG!
Beachten Sie, dass die Smartwatch NICHT direkt mit 5V von einem USB mit einem normalen USB-Mikrokabel aufgeladen werden kann. Stattdessen wird ein Li-Po-Ladegerät benötigt, sonst kann der Akku beschädigt werden.
Kommentare:
Versuchen Sie, die Komponenten mit Klebeband zu isolieren, um Kurzschlüsse zu vermeiden.
Schritt 2:Software
Die folgenden Bibliotheken wurden für die Smartwatch verwendet. Bei einigen waren jedoch einige Modifikationen erforderlich, um mit der verwendeten Hardware zu arbeiten, die im Folgenden erläutert werden.
Bibliotheken:
- ANCS-Bibliothek für Arduino (https://github.com/robotastic/ANCS-Library/tree/master)
- Bluetooth Low Energy SDK für Arduino (https://github.com/NordicSemiconductor/ble-sdk-Arduino)
- U8glib für den Bildschirm (https://github.com/olikraus/u8glib)
- Bibliothek für kapazitive Sensorik (https://playground.arduino.cc/Main/CapacitiveSensor?from=Main.CapSense)
Die vorgenommenen Änderungen sind die folgenden:
1. Bibliothek:ANCS-Bibliothek für Arduino, Datei:notif.cpp, Zeile:826. Dies muss geändert werden, damit das Bluefruit-Modul funktioniert.
aci_state.aci_pins.reset_pin =9; // Dies wurde auf 9 geändert
Damit die Zeit richtig synchronisiert werden kann, müssen folgende Änderungen vorgenommen werden, um einige Fehler in der Bibliothek zu beheben
2. Bibliothek: ANCS-Bibliothek für Arduino, Datei:ancs_data_source.cpp
- Ersetzen Sie hier den gesamten Code durch den Code aus dem ancs_data_source.cpp PDF Link
- Fügen Sie die folgende unten kommentierte Zeile in ancs_data_source.cpp in Zeile 217 hinzu.
case ANCS_NOTIFICATION_ATTRIBUTE_DATE:debug_print(F(", Datum:")); // YYYYMMDDTHHMM datetime =(char*)malloc(5); //Diese Zeile hinzufügen! strncpy(datetime, buffer, 4);
3. Bibliothek:ANCS-Bibliothek für Arduino, Datei ancs_notification.h
- Ersetzen Sie hier den gesamten Code durch den Code aus der ancs_notification.h PDF Link .
Dem Arduino mini pro fehlt ein On-Board-Programmierer, daher wird ein externer benötigt. Ich habe diesen verwendet:Sparkfun FTDI (https://www.sparkfun.com/products/9873).


Kommentare:
Der angehängte Zip-Ordner enthält den Code, der auf dem Arduino läuft, und alle benötigten Bibliotheken. Die Bibliotheken werden wie oben geändert. Der Arduino-Code wird kommentiert, was hoffentlich die Funktionen erklärt.
Ich bin beim Versuch, den Code mit Arduino IDE 1.8.3 zu kompilieren, auf ein Problem gestoßen, dies aufgrund eines bekannten Fehlers im GCC-Compiler. Ich habe Arduino IDE 1.0.6 heruntergeladen und installiert und konnte den Code kompilieren und hochladen.
Schritt 3:Hülle für die Smartwatch
Zeichnen Sie einen Koffer, der groß genug ist, um alle Komponenten aufzunehmen. Im Zip-Ordner befindet sich die stl-Datei für den in diesem Projekt verwendeten Koffer. (Das Gehäusedesign wurde in zwei Iterationen ausgeführt. Aus diesem Grund kann die Form des Gehäuses in einigen Bildern variieren.)
Die hintere Abdeckung besteht aus einem Aluminiumblech aus einer alten Kiste. Schneiden Sie ein auf das Gehäuse passendes Stück aus und bohren Sie Löcher für die Schrauben. Für das im Projekt verwendete Gehäuse und das Armband wird eine Lücke zwischen den Löchern benötigt. Es ist gut, wenn die Rückabdeckung aus einem elektrisch leitfähigen Material besteht, da das Masse-zu-Körper-Kabel mit dieser Rückabdeckung verbunden wird. Um saubere und gerade Kanten auf dem Aluminiumblech zu erhalten, halte ich das Blech zwischen zwei Holzstücken und benutzte eine Metallsäge.
Das 3D-gedruckte Gehäuse benötigte eine gewisse Behandlung, diese Schritte wurden durchgeführt:
1. Schleifen Sie das Gehäuse mit einem feinen Schleifpapier.
2. Tragen Sie Füller aus einer Spraydose auf und stellen Sie sicher, dass das Gehäuse gut bedeckt ist.
3. Schleifen Sie das Gehäuse erneut mit einem feinen Schleifpapier. (Schritt 3 und 4 müssen möglicherweise wiederholt werden, bis ein glattes Finish erreicht ist. Ich habe diese Schritte dreimal wiederholt.)
4. Tragen Sie Farbe aus einer Sprühdose auf und stellen Sie sicher, dass sie das Gehäuse gut bedeckt.








Kommentare:
Befolgen Sie die Anweisungen auf den Spraydosen, um die besten Ergebnisse zu erzielen.
Schritt 4:Endmontage





Stecken Sie zuerst die Touch-Button-Pins durch die unteren Löcher im Gehäuse. Biegen Sie sie zurück und stecken Sie sie in die oberen Löcher im Gehäuse. Drücken Sie die Drähte nach unten, damit sie gut und glatt passen.
Drücken Sie einfach die restlichen Komponenten nach unten und versuchen Sie, den Bildschirm an eine gute Position zu bringen. Ich hatte ein ernstes Problem, den Bildschirm im Gehäuse auszurichten. Dies hängt sowohl von der Komponentenbestückung als auch vom Gehäusedesign ab. Aus diesem Grund ist der Bildschirm etwas gedreht.
Schieben Sie den USB-Mikrostecker durch das Loch an der Seite. (Ich habe Klebeband verwendet, um den Oberschenkel in das Loch zu passen, damit der Verbinder an Ort und Stelle bleiben kann.)
Löten Sie das Massekabel an die Rückabdeckung und isolieren Sie die Rückabdeckung mit Klebeband. Befestigen Sie die hintere Abdeckung mit vier Schrauben.
Schritt 5:So verwenden Sie die Smartwatch
Die Smartwatch ist einfach zu bedienen. Gehen Sie einfach zu den Bluetooth-Einstellungen auf dem iPhone, aktivieren Sie Bluetooth und suchen Sie nach einem Gerät namens "ANSC rusk", wählen Sie dieses aus und wählen Sie das Pairing aus. Die Smartwatch und das iPhone sind nun gekoppelt und die Smartwatch erhält dieselben Benachrichtigungen, die auf dem iPhone angezeigt werden.
Die Uhr wird neu gestartet, wenn die mittlere Taste und die rechte Taste gleichzeitig berührt werden. Dies ist nützlich, wenn ein Problem mit der Verbindung auftritt.
Um den Akku aufzuladen, stecken Sie einfach das modifizierte USB-Kabel ein und verbinden es mit dem Li-Po-Ladegerät.



Code
- Arduino Apple Watch.zip
Arduino Apple Watch.zipArduino
In der Zip-Datei sind alle modifizierten Bibliotheken und Codes verfügbar.Keine Vorschau (nur Download).
Kundenspezifische Teile und Gehäuse
Etui für die Smartwatch, in das alle Komponenten passen.Schaltpläne
Verbinden Sie die Komponenten wie im Schaltplan dargestellt
Herstellungsprozess