Goedemiddag, vandaag wil ik instructies delen over het maken van horloges op basis van Attiny 85 met een Oled-display. De kenmerken van mijn horloge zijn niet beperkt tot mijn horloge. Ze kunnen ook als desktop worden gebruikt en u kunt ook een digitale temperatuursensor verpletteren.
Om te maken zelfgemaakt we hebben nodig:
- Synthetische band (elke kleur)
- Klittenband voor kleding
- Digispark Attiny85
- Oled-scherm met een resolutie van 128x64, I2C
- ds18b20 - digitale temperatuursensor (optioneel)
- Weerstand 4.7 Kom 0.25 W
- Arduino Digispark Attiny85 firmwarekaart (ISP-programmeur)
- Vel dun plastic
- Gekleurde draden
- Dupont 2,54 mm “vrouwelijke” connectoren
- Knopen 2 stuks.
- Kleine printplaat of een klein stukje printplaat
- Soldeerbout, soldeer, hars
- Draad, naald, schaar
- administratief mes
- Heet lijmpistool
- Hete lijm
- Dubbelzijdige tape
Stap 1 De riem voorbereiden.
Je kunt een riem kopen bij elke handwerkwinkel. Kies een band van 25 mm breed. Elke kleur. We hebben een strook van ongeveer 50 cm nodig, vouw onze riem dubbel en naai langs de randen. Vervolgens maken we in het midden van de riem een gleuf, maar alleen in een van de onderdelen. Naai klittenband aan de uiteinden van de riem.
Leg de draad met de naald opzij en neem de soldeerbout.
Stap 2 Bereid het bord en het OLED-display voor.
Het 'brein' van ons horloge wordt de Digispark Attiny85-controller. Ze zijn verkrijgbaar in verschillende versies. Je moet een bord kopen met een Micro USB-connector. Andere versies van het bord passen niet in de horlogekast.
Als je een board met gesoldeerde contacten hebt gekocht, moet je ze eerst solderen. Vervolgens nemen we draden van verschillende kleuren, we hebben 9 verschillende kleuren nodig. Knip ongeveer 15 cm van elke draad af, strip deze en soldeer aan Attiny85. Het is meteen de moeite waard om op te schrijven welke draad aan welke pin is gesoldeerd om later niet in de war te raken.
In mijn geval zien de draden door kleuren er als volgt uit:
PB0 MOSI - Geel
PB1 MISO - Blauw
PB2 CSK - Blauw
PB3 - Paars
PB4 - Wit
PB5 NRES - Grijs
GND - zwart
+5 - rood
Vin - Sinaasappel
Uw kleuren van de draden kunnen variëren, het belangrijkste is om ze op te schrijven.
Laten we naar het scherm gaan. We zullen een oled-display gebruiken. Schermresolutie 128x64, werkt op de I2C-bus. Te koop zijn er schermen van verschillende kleuren: wit, blauw, blauw met geel. Wees voorzichtig! Het woord "tweekleurig" in de beschrijving en titel van dit scherm geeft de aanwezigheid aan van een andere kleurstrook dan de hoofdstrook bovenaan het scherm, en niet de mogelijkheid om met dit scherm twee kleuren weer te geven! Alle schermen van dit type geven slechts één kleur weer, of bovenaan een strook van één kleur, onderaan een andere. Ik vond het blauwe scherm leuk, met een gele balk bovenaan. Kleur speelt geen speciale rol, kies welke je leuk vindt. Net als bij Attiny85, als je een scherm met gesoldeerde contacten hebt gekocht, moet je ze eerst solderen.
Op de achterkant van het scherm moet je kleine draadjes solderen. Het is beter om draden van dezelfde kleuren te gebruiken als bij Attiny85, om ze later niet te verwarren. In mijn geval soldeer ik de gele draad aan de SDA van het scherm, aan de SCL - blauw, GND - zwart, VCC - rood.
Op een dubbelzijdige tape bevestigen we Attiny85 aan de achterkant van het Oled-scherm. Attiny85 mag niet verder gaan dan het Oled-schermbord.
We solderen Attiny85 en Oled samen.
PB0 MOSI Attiny85 - Geel - SDA Oled
PB2 CSK Attiny85 - Blauw - SCL Oled
GND Attiny85 - Zwart - GND Oled
+5 Attiny85 - Rood - VCC Oled
We verzamelen alle draden op één rij, zodat we een lus krijgen. We winden het op verschillende plaatsen met isolatietape zodat het niet uit elkaar valt.
Ga naar de kracht van onze horloges. Neem hiervoor een kleine lithiumbatterij. Soldeer de draden eraan.
Als er geen batterij is, kan een batterij van het type A27 of A23 worden gebruikt.
We plaatsen de accu of de batterij in de verste hoek van de zak die wordt gevormd door de riem die in twee is gevouwen. Als u een batterij gebruikt, zorg dan voor een sleuf om deze te vervangen.
In het gat in het midden van de riem steken we onze kabel van de draden.
En we strekken ze uit tot het einde van de band, zodat ze uitsteken, en het horloge zit precies boven de gleuf, zodat de gleuf urenlang sluit.
We snijden de overtollige af en krimpen alle draden van de Dupont 2,54 mm "moeder" connectoren. We steken het in plastic koffers en wikkelen het met elektrische tape, zodat we een nette connector krijgen, met alle Attiny85-kabels. Hier is het ook de moeite waard om alle contacten van de resulterende connector te schrijven of nog beter te schetsen. GND Attiny, GND Oled en de minus van de batterij kunnen onmiddellijk worden aangesloten en in één contact worden gekrompen. Voor het verder invullen van de schets en het aansluiten van add-ons is het het handigst om de contacten als volgt te ordenen:
PB0 | PB1 | PB2 | PB5 | +5 ATTINY | GND ATTINY
PB3 | PB4 | VCC OLED | GND OLED | Vin ATTINY | + BBT
Nu is het tijd om verder te gaan naar de romp.
Stap 3 De zaak maken.
Voor het lichaam heb je dun plastic nodig. Het kan worden gekocht in de online winkel. Of u kunt een map met een dikke plastic hoes kopen in de kantoorboekhandel en er een hoesje van maken. Op het plastic markeren we de sweep van het horloge. Ononderbroken lijnen zijn gesneden lijnen, onderbroken lijnen - buigen.
Snijd met een administratief mes voorzichtig het raam in het midden uit. We buigen alle stippellijnen. Het zou zo moeten zijn:
En aan de andere kant:
We plaatsen een gleuf op ons scherm, buigen de randen en assembleren ons lichaam met behulp van smeltlijm. Het is ook de moeite waard om de kast aan de riem te lijmen, bij voorkeur aan de binnenkant, zodat de lijm niet naar buiten komt.
Stap 4 De programmeeromgeving voorbereiden.
Om met de firmware (of schets) te werken gebruiken we de Arduino IDE. Download het archief of installatieprogramma van de officiële site Arduino IDE.
Daarnaast moeten we Attiny-ondersteuning toevoegen aan de Arduino IDE. Om dit te doen, voert u de Arduino IDE uit en vervolgens Bestand - Instellingen - in het veld "Extra Boards Manager URL's", voegt u de link in:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
Klik op OK (u kunt in dit veld verschillende links invoeren, gescheiden door een komma). Ga dan naar Tools - Board - Boards Manager in het filterveld, voer Attiny in en selecteer "attiny door David A. Mellis". Klik op Installeren en wacht tot de download is voltooid.
Je hebt ook een bibliotheek nodig om met het Oled-scherm te werken. Er zijn er veel, ik vond het leuk en ik raad aan om TinyOzOLED te gebruiken. Het is handig en vooral past in het geheugen:
In de toekomst kun je de functionaliteit van het horloge uitbreiden door een temperatuursensor toe te voegen. Voeg onmiddellijk een bibliotheek voor deze sensor toe. OneWire-bibliotheek.
Installeer deze bibliotheken. Om dit te doen, kunt u rechtstreeks in de Arduino IDE-programmeeromgeving, zonder de gedownloade archieven uit te pakken, het Sketch - Connect Library-menu selecteren. Selecteer helemaal bovenaan de vervolgkeuzelijst het item ".Zip-bibliotheek toevoegen". Selecteer in het dialoogvenster dat verschijnt de bibliotheek die u wilt toevoegen, in dit geval twee gedownloade. Open nu opnieuw het Sketch - Connect Library menu. Helemaal onderaan de vervolgkeuzelijst zou u nieuwe bibliotheken moeten zien. Vanaf nu kunnen bibliotheken worden gebruikt in programma's. Start hierna de Arduino IDE opnieuw op. U kunt het ook eenvoudig uitpakken naar de map "libraries" in de map met de Arduino IDE geïnstalleerd.
Stap 5 De programmeur voorbereiden.
Digispark Attiny85 kan worden geprogrammeerd via de micro-USB-connector op het bord met behulp van de Arduino IDE. Je moet echter 2 KB of 8 KB Flash-geheugen opofferen voor de bootloader.De horlogeschets past niet bij de bootloader, dus je moet de ISP-programmeur gebruiken en daarmee de bootloader wissen. Als je geen ISP-programmeur bij de hand hebt (zoals de mijne), kun je in plaats daarvan het Arduino-bord gebruiken. Ik zal Arduino Uno gebruiken. Maar je kunt elk ander bord gebruiken. Dus verbinden we Arduino Uno met de computer. Start Arduino IDE, open Bestand - Voorbeelden - Arduino ISP. Selecteer in het menu Tools - Board - Arduino Uno. We selecteren de poort waarmee het is verbonden, Arduino, en klikt op downloaden. De schets begint met een hint over hoe je de Arduino op de programmeerbare controller kunt aansluiten.
// 10: slave reset
// 11: MOSI
// 12: MISO
// 13: SCK
Verbindingsschema met Digispark Attiny85:
Arduino UNO - Digispark Attiny85
D11 - P0
D12 - P1
D13 - P2
D10 - P5
Stap 6 Bereid de draad voor op het laden van de schets.
Er zijn verschillende opties voor de schets en alleen voor het gemak van downloaden zullen we een draad maken die de Arduino Uno (als ISP-programmeur) verbindt met ons horloge. Hier raad ik ook aan om gekleurde draden te gebruiken die overeenkomen met de kleur die we al hebben gebruikt. Enerzijds moet er een blok zijn:
PB0 Geel | PB1 Blauw | PB2 Blauw | PB5 Grijs | +5 Rood | GND Zwart
Dit blok sluit aan op het horloge, bovenaan het horloge blok.
Aan de andere kant zijn er twee pads om verbinding te maken met de Arduino Uno:
Pin 10 grijs | Pin 11 Geel | Pin 12 Blauw | Pin 13 Blauw
+5 Rood | GND Zwart
Het zou er ongeveer zo uit moeten zien:
Stap 7 Firmware.
Dus schreef ik enkele schetsopties voor onze horloges. Ik zal later schrijven wat de verschillen zijn en alles uitleggen. Om de schets te vullen, voer je de Arduino IDE uit, selecteer je het menu Extra en stel je de volgende parameters in:
Bestuur - Attiny 25/45/85
Processor - Attiny 85
Klok - intern 16
Selecteer de seriële poort waarop de ISP-programmeur of Arduino is aangesloten als programmeur. Selecteer in het menu Extra - Programmeur ook "Arduino als ISP". Selecteer nu Sketch - Download via de programmeur. Het blijft wachten tot de download is voltooid.
Stap 8 Schetsen.
De eerste optie is een horloge met een datum. Om de tijd in te stellen, moet je knoppen aansluiten, zoiets als dit:
Voor het vastzetten van PB1, PB3, PB4.
De tweede optie is slechts een horloge. Om de tijd in te stellen, moet u USB-TTL gebruiken.
En de derde optie, een bureauklok met een datum en een thermometer.
Stap 9 Start.
Om de klok te starten, als u een lithiumbatterij gebruikt, moet u een jumper installeren in het blok tussen de contacten BAT, +5 en VCC. Je kunt een klein stukje dun draad gebruiken. Als je een batterij hebt, heb je twee jumpers nodig, de eerste tussen BAT en Vin, de tweede - + 5 en VCC.