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

DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer

Onderdelen en benodigdheden

Onderdeel Aantal
SparkFun Arduino Pro Mini 328 - 3.3V/8MHz 1
Adafruit Bluefruit LE - Bluetooth Low Energy (BLE 4.0) - nRF8001 Breakout - v1.0 1
Adafruit Monochroom 0.96" 128x64 OLED-display 1
Adafruit Lithium-Ion Polymer-batterij - 3.7v 100mAh 1
Micro-USB-connectors 1
1M Ohm 1206 SMD Weerstanden 3
20mm Horloge Band met Sprinten 1
USB-A naar Micro-USB-kabel 1
2x5mm Schroeven 4
SparkFun LiPo-lader Basic - Micro-USB 1
SparkFun FTDI Basic Breakout - 3.3V 1
50x50mm Aluminiumvel 1
Matrix of Strip board 1

Benodigde tools en machines

  • Solderbout (standaard)
  • 3D-printer (standaard)
  • Andere gangbare tools als zaag, tang, schroevendraaier en messen

Apps en online diensten

  • Arduino IDE

Over dit project

Ik wilde een smartwatch die me notificaties van een iPhone toonde, klein genoeg was om te dragen, en een herlaadbare batterij had die tenminste een dag meeging. Ik maakte mijn eigen Apple Watch gebaseerd op een Arduino. Het is een smartwatch gebaseerd op een Arduino Pro Mini, die verbonden is met de iPhone via Bluetooth. De USB-micro-poort is verbonden met de batterij wat het laden makkelijk en simpel maakt. De draden aan de voorkant zijn aanraakknoppen die voelen of je je vinger erop legt, wat je in staat stelt om te interageren met de horloge.

De horloge zal de tijd automatisch synchroniseren met de tijd op de iPhone wanneer een nieuwe notificatie wordt ontvangen. Dit maakt de horloge betrouwbaarder en minder gevoelig voor vertragingen in de Arduino. Na 10 seconden wordt het scherm uitgezet ten behoeve van batterijbesparing. Het scherm gaat aan als de middelste knop wordt aangeraakt of als een nieuwe notificatie wordt ontvangen.

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

DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer

Hier volgt een tutorial om deze smartwatch zelf te bouwen.

Stap 1: Elektrische hardware-assemblage

Zoals te zien is in het schakelingsschema zijn er veel draden te verbinden, en alle componenten moeten dicht bij elkaar zitten wat een uitdaging maakt.

Na enkele iteraties kwam ik op deze stappen om de assemblage makkelijker te maken. Ik stel voor om naar de foto's te kijken om te zien hoe ik sommige problemen met het verbinden van draden oploste.

  1. 1. Verbinden de Bluefruit LE met de Arduino met flexibele draden.
  2. 2. Maak het printplaatje voor de aanraakknoppen en bevestig de pinnen. Bevestig dit printplaatje aan de Arduino met flexibele draden. (De pinnen zijn afgeknipt van led-diodes)
  3. 3. Wijzig enkele pinnen voor het OLED-display, en monteer het aan de Arduino.
  4. De volgende stappen kunnen wachten tot de code is geüpload en verificatie dat de hardware correct functioneert is gedaan.
  5. 4. Verbinden een flexibele draad met grond, maak deze lang genoeg om de achterkant van de horloge te bereiken, die in contact moet zijn met het lichaam. (Dit is nodig omdat capacitieve touch een grondreferentie nodig heeft om correct te werken)
  6. 5. Bevestig de micro-USB-connector met flexibele draden aan grond en RAW. Kijk naar een USB-micro-pinout-diagram om te zien hoe grond en positieve spanning verbonden moeten worden. (Let op! Verbind positieve draad van USB naar RAW en niet VCC).
  7. 6. Bevestig de batterij met flexibele draden aan grond en RAW (Let op! Verbind positieve draad van batterij naar RAW en niet VCC).

Ook is het nodig om een lader voor de horloge aan te passen:

  1. 1. Knip een USB-micro-kabel.
  2. 2. Bevestig rode draad in USB-kabel aan rode draad van de batterijconnector, en zwarte draad in USB-kabel aan zwarte draad van de batterijconnector.
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer

BELANGRIJK!

Let op dat de smartwatch NIET direct geladen kan worden met 5V van een USB met een gewone USB-micro-kabel. Een Li-Po-lader is nodig, anders kan de batterij beschadigd raken.

Opmerkingen:

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

Stap 2: Software

De volgende bibliotheken werden gebruikt voor de smartwatch. Sommige hadden een paar aanpassingen nodig om met de gebruikte hardware te werken, wat hieronder wordt uitgelegd.

Bibliotheken:

De gemaakte aanpassingen zijn de volgende:

  1. Bibliotheek: ANCS Library for Arduino, Bestand: notif.cpp, Regel: 826. Dit moet gewijzigd worden voor de Bluefruit-module om te werken.
    aci_state.aci_pins.reset_pin = 9; // Dit werd gewijzigd naar 9
    
  2. Voor correcte tijdsynchronisatie moeten de volgende wijzigingen worden geïmplementeerd om enkele bugs in de bibliotheek te verhelpen:
    • Bibliotheek: ANCS Library for Arduino, Bestand: ancs_data_source.cpp
    • Vervang de gehele code door de code uit het ancs_data_source.cpp PDF op deze link.
    • Voeg de volgende regel toe (gecommentarieerd hieronder) in ancs_data_source.cpp op regel 217.
    case ANCS_NOTIFICATION_ATTRIBUTE_DATE: debug_print(F(", Date: ")); // YYYYMMDDTHHMM
    datetime = (char*)malloc(5); // Voeg deze regel toe!
    strncpy(datetime, buffer, 4);
    
  3. Bibliotheek: ANCS Library for Arduino, Bestand ancs_notification.h
    • Vervang de gehele code door de code uit het ancs_notification.h PDF op deze link.

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

DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer

Opmerkingen:

De bijgevoegde zip-map bevat de code die op de Arduino draait, en alle benodigde bibliotheken. De bibliotheken zijn aangepast zoals hierboven. De Arduino-code is gecommentarieerd wat hopelijk de functies uitlegt.

Ik liep tegen een probleem aan tijdens het compileren van de code met Arduino IDE 1.8.3, dit door een bekende fout in de GCC-compiler. Ik downloadde en installeerde Arduino IDE 1.0.6, en kon de code compileren en uploaden.

Stap 3: Behuizing voor de Smartwatch

Teken een behuizing die groot genoeg is om alle componenten te houden, in de zip-map zit het stl-bestand voor de behuizing die in dit project gebruikt werd. (Twee iteraties van het behuizingsontwerp werden gemaakt. Daarom kan de vorm van de behuizing in sommige foto's variëren.)

De achterkap is gemaakt van een aluminiumvel uit een oude doos. Knip een stuk uit dat op de behuizing past en boor gaten voor de schroeven. Voor de behuizing en het polsband dat in het project gebruikt wordt, is een tussenruimte tussen de gaten nodig. Het is goed als de achterkap van een materiaal is dat elektrisch geleidend is, aangezien de grond-naar-lichaam-draad hieraan verbonden zal worden. Om schone en rechte randen op het aluminiumvel te krijgen, hield ik het vel tussen twee houten stukken, en gebruikte een metalszaag.

De 3D-geprinte behuizing had enige behandeling nodig, deze stappen werden gedaan:

  1. Schuur de behuizing met fijn schuurpapier.
  2. Breng vulmiddel uit een spuitbus aan, zorg dat het de behuizing goed bedekt.
  3. Schuur de behuizing opnieuw met fijn schuurpapier. (Stap 3 en 4 moeten misschien herhaald worden tot een gladde afwerking bereikt is. Ik herhaalde deze stappen drie keer.)
  4. Breng verf uit een spuitbus aan, zorg dat het de behuizing goed bedekt.
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer

Opmerkingen:

Volg de instructies op de spuitbussen voor de beste resultaten.

Stap 4: Finale assemblage

DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer

Eerst de aanraakknop-pinnen door de onderste gaten in de behuizing steken. Buig ze terug en steek ze in de bovenste gaten in de behuizing. Duw de draden naar beneden om ze goed en glad te laten passen.

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

Duw de micro-USB-connector door het gat in de zijkant. (Ik gebruikte tape om een strakke pasvorm in het gat te krijgen, zodat de connector op zijn plaats blijft.)

Solder de lichaam-naar-grond-draad aan de achterkap, en isoleer de achterkap met tape. Bevestig de achterkap met vier schroeven.

Stap 5: Hoe de Smartwatch te gebruiken

De smartwatch is simpel te gebruiken. Ga gewoon in Bluetooth-instellingen op de iPhone, schakel Bluetooth in, en zoek naar een apparaat genaamd "ANSC rusk" kies dit en selecteer koppelen. De smartwatch en de iPhone zijn nu gekoppeld en de smartwatch ontvangt dezelfde notificaties die op de iPhone verschijnen.

De horloge wordt herstart als de middelste knop en de rechterknop tegelijkertijd worden aangeraakt. Dit is nuttig als er een verbindingsprobleem optreedt.

Om de batterij op te laden, steek gewoon de aangepaste USB-kabel in en verbind het met de Li-Po-lader.

DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer

Code

Arduino Apple Watch.zip

Arduino

In het zip-bestand zijn alle aangepaste bibliotheken en codes beschikbaar.

Geen preview (alleen downloaden).

Aangepaste onderdelen en behuizingen

Behuizing voor de smartwatch die alle componenten past.

Schema's

Verbind de componenten zoals te zien in het schakelingsschema

DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer

Productieproces

  1. De evolutie van tijdmeting: van zonnewijzers tot precisie kwarts horloges
  2. Een stijlvolle wandklok bouwen met Adafruit 60-LED Neopixel Ring & Arduino
  3. Bluetooth-gecontroleerde Arduino Spybot bouwen
  4. FlickMote: Gebarengecontroleerde IR-afstandsbediening voor Slimme Huizen
  5. DIY Arduino TV-B-Gone: Universele TV-uit-schakelaar
  6. UnifiedWater v1 – Complete Arduino Waterkwaliteit Sensor Kit
  7. Bouw een Aangepaste LED Hoofdklok met Alarm – Zichtbaar vanaf 12 Meter
  8. Find Me: Slimme Item Locator met Arduino en Bluetooth
  9. Geoptimaliseerde Voedingsoplossingen voor Arduino Projecten
  10. Arduino 101 BLE + Blynk: DIY Bluetooth-gestuurde Tank Robot
  11. Arduino Boter-Kaas-Eieren met MAX7219 LED Matrix en Kartonnen Behuizing