God ettermiddag, i dag vil jeg dele instruksjoner om hvordan du lager klokker basert på Attiny 85 med en Oled-skjerm. Funksjonene på klokken min er ikke begrenset til klokken min. De kan også brukes som desktop, og du kan også knuse en digital temperatursensor.
For å lage hjemmelaget vi trenger:
- Syntetisk stropp (hvilken som helst farge)
- Borrelås for klær
- Digispark Attiny85
- Oljet skjerm med en oppløsning på 128x64, I2C
- ds18b20 - digital temperatursensor (valgfritt)
- Motstand 4.7 Kom 0,25 W
- Arduino Digispark Attiny85 firmware board (ISP-programmerer)
- Ark av tynn plast
- Fargede ledninger
- Dupont 2,54 mm “kvinnelige” kontakter
- Knapper 2 stk.
- Lite kretskort eller et lite stykke kretskort
- Loddejern, lodde, kolofonium
- Tråd, nål, saks
- geistlig kniv
- Varm limpistol
- Varmt lim
- Dobbeltsidig tape
Trinn 1 Forberede beltet.
Du kan kjøpe en stropp i enhver butikk. Velg en stropp 25 mm bred. Enhver farge. Vi trenger en stripe på ca 50 cm. Brett stroppen vår i to og sy langs kantene. Så midt på stroppen lager vi en spalte, men bare i en av delene. Sy borrelås fra endene av stroppen.
Sett tråden med nålen til siden og ta loddebolt.
Trinn 2 Forbered brettet og OLED-skjermen.
"Hjernen" på klokken vår vil være Digispark Attiny85-kontrolleren. De er tilgjengelige i flere versjoner. Du bør kjøpe et brett med en Micro USB-kontakt. Andre versjoner av brettet vil ikke passe inn i klokkesaken.
Hvis du kjøpte et brett med loddede kontakter, bør du først løse loddet. Så tar vi ledninger i forskjellige farger, vi trenger 9 forskjellige farger. Klipp av ca 15 cm fra hver ledning, strip den og lodd til Attiny85. Umiddelbart er det verdt å skrive ned hvilken ledning til hvilken pinne som er loddet for ikke å bli forvirret senere.
I mitt tilfelle ser ledningene etter farger slik ut:
PB0 MOSI - Gul
PB1 MISO - Blå
PB2 CSK - Blå
PB3 - Lilla
PB4 - Hvit
PB5 NRES - Grå
GND - svart
+5 - rød
Vin - Orange
Fargene på ledningene kan variere, det viktigste er å skrive dem ned.
La oss gå videre til skjermen. Vi bruker en oled-skjerm. Skjermoppløsning 128x64, fungerer på I2C-bussen. Til salgs er det skjermer i forskjellige farger: hvit, blå, blå med gul. Vær forsiktig! Ordet “tofarger” i beskrivelsen og tittelen på dette skjermbildet indikerer tilstedeværelsen av en fargestripe som er forskjellig fra den viktigste øverst på skjermen, og ikke muligheten til å vise to farger med denne skjermen! Alle skjermer av denne typen viser bare en farge, eller øverst en stripe med en farge, nederst i en annen. Jeg likte den blå skjermen, med en gul stolpe øverst. Farge spiller ikke en spesiell rolle. Velg hvilken du vil. Som med Attiny85, hvis du kjøpte en skjerm med loddede kontakter, bør du først lodde dem løs.
På baksiden av skjermen bør du lodde små ledninger. Det er bedre å bruke ledninger i samme farger som med Attiny85, for ikke å forvirre dem senere. I mitt tilfelle lodder jeg den gule ledningen til SDA på skjermen, til SCL - blå, GND - svart, VCC - rød.
På et tosidig bånd fester vi Attiny85 på baksiden av Oled-skjermen. Attiny85 skal ikke gå utover Oled-skjermkortet.
Vi lodder Attiny85 og Oled sammen.
PB0 MOSI Attiny85 - Gul - SDA Oled
PB2 CSK Attiny85 - Blå - SCL Oled
GND Attiny85 - Svart - GND Oled
+5 Attiny85 - Rød - VCC Oled
Vi samler alle ledningene på en rad, slik at vi får en sløyfe. Vi slynger den med elektrisk tape flere steder slik at den ikke faller fra hverandre.
Gå til kraften i klokkene våre. For å gjøre dette, ta et lite litiumbatteri. Lodd ledningene til den.
Hvis det ikke er noe batteri, kan et batteri av typen A27 eller A23 brukes.
Vi legger akkumulatoren eller batteriet i det fjerneste hjørnet av lommen som er dannet av stroppen som er brettet i to. Hvis du bruker et batteri, må du ha et spor for å erstatte det.
I hullet som er laget midt på stroppen, stikker vi kabelen fra ledningene.
Og vi strekker dem til enden av stroppen, slik at de stikker ut, og klokken er nøyaktig over sporet, slik at sporet lukkes i flere timer.
Vi kutter av overflødige og krymper alle ledningene til Dupont 2,54 mm “mor” -kontakter. Vi setter den inn i plastkasser og pakk den inn med elektrisk tape, slik at vi får en pen kontakt, med alle Attiny85-kablene. Her er det også verdt å skrive, eller enda bedre tegne, alle kontaktene til den resulterende kontakten. GND Attiny, GND Oled og minus på batteriet kan umiddelbart kobles til og krympes i en kontakt. For ytterligere utfylling av skissen og tilkobling av tillegg, er det mest praktisk å arrangere kontaktene som følger:
PB0 | PB1 | PB2 | PB5 | +5 ATTINY | GND ATTINY
PB3 | PB4 | VCC OLED | GND OLED | Vin ATTINY | + BAT
Nå er det på tide å gå videre til skroget.
Trinn 3 Saker saken.
For kroppen trenger du tynn plast. Det kan kjøpes i nettbutikken. Eller du kan kjøpe en mappe med et tykt plastdeksel i brevpapirbutikken og lage en sak ut av dekselet. På plasten markerer vi feien på klokken. Solide linjer er kuttede linjer, stiplede linjer - bøy.
Skjær forsiktig ut vinduet med en klerikalskniv. Vi bøyer alle stiplede linjer. Det skal være slik:
Og på baksiden:
Vi legger en spalte på skjermen vår, bøyer kantene og monterer kroppen vår med smeltlim. Det er også verdt å lime saken på stroppen, helst inni, slik at limet ikke går ut.
Trinn 4 Forberede programmeringsmiljøet.
For å jobbe med firmware (eller skisse) vil vi bruke Arduino IDE. Last ned arkivet eller installasjonsprogrammet fra det offisielle nettstedet Arduino IDE.
I tillegg må vi legge til Attiny-støtte til Arduino IDE. For å gjøre dette, kjør Arduino IDE, deretter Fil - Innstillinger - i feltet "Flere styrer-URL-adresser", sett inn lenken:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
Klikk OK (du kan legge inn flere lenker atskilt med komma i dette feltet). Gå deretter til Tools - Board - Boards Manager i filterfeltet, skriv inn Attiny og velg "attiny by David A. Mellis". Klikk på Installer og vent til nedlastingen er fullført.
Du trenger også et bibliotek for å jobbe med Oled-skjermen. Det er mange av dem, jeg likte det, og jeg anbefaler å bruke TinyOzOLED. Det er praktisk, og viktigst, passer i minnet:
I fremtiden kan du utvide funksjonaliteten til klokken ved å legge til en temperatursensor. Legg til et bibliotek for denne sensoren umiddelbart. OneWire-bibliotek.
Installer disse bibliotekene. For å gjøre dette, kan du direkte i Arduino IDE-programmeringsmiljøet, uten å pakke ut de nedlastede arkivene, velge Sketch - Connect Library-menyen. Øverst på nedtrekkslisten velger du elementet "Legg til. Zip-bibliotek". I dialogboksen som vises, velger du biblioteket du vil legge til, i dette tilfellet to nedlastede. Åpne menyen Sketch - Connect Library igjen. Helt nederst i nedtrekkslisten skal du se nye biblioteker. Fra nå av kan biblioteker brukes i programmer. Etter alt dette, start Arduino IDE på nytt. Du kan også ganske enkelt pakke den ut fra "biblioteker" -mappen som ligger i mappen med Arduino IDE installert.
Trinn 5 Forberede programmereren.
Digispark Attiny85 kan programmeres via micro USB-kontakten på brettet ved hjelp av Arduino IDE. Imidlertid må du ofre 2 KB på 8 KB Flash-minne for startlasteren.Klokkeskissen passer ikke med bootloader, så du må bruke ISP-programmerer, og dermed slette bootloader. Hvis du ikke har en ISP-programmerer tilgjengelig (som min), kan du bruke Arduino-styret i stedet. Jeg vil bruke Arduino Uno. Men du kan bruke hvilket som helst annet brett. Så, vi kobler Arduino Uno til datamaskinen. Start Arduino IDE, åpen fil - eksempler - Arduino ISP. Velg i menyen Verktøy - Brett - Arduino Uno. Vi velger porten den er koblet til, Arduino og klikker nedlasting. Skissen starter med et hint om hvordan du kobler Arduino til den programmerbare kontrolleren.
// 10: tilbakestilling av slave
// 11: MOSI
// 12: MISO
// 13: SCK
Tilkoblingsskjema til Digispark Attiny85:
Arduino UNO - Digispark Attiny85
D11 - P0
D12 - P1
D13 - P2
D10 - P5
Trinn 6 Forbered ledningen for å legge skissen.
Det er flere alternativer for skissen, og bare for enkelhets skyld å laste ned, vil vi produsere en ledning som forbinder Arduino Uno (som en ISP-programmerer) og klokken vår. Her anbefaler jeg også å bruke fargede ledninger som samsvarer med fargen som vi allerede har brukt. På den ene siden skal det være en blokk:
PB0 Gul | PB1 Blå | PB2 Blå | PB5 Grå | +5 Rød | GND Svart
Denne blokken kobles til klokken, øverst i klokken.
På den annen side er det to puter for tilkobling til Arduino Uno:
Pin 10 Grey | Pin 11 Yellow | Pin 12 Blue | Pin 13 Blue
+5 Rød | GND Svart
Det skal se slik ut:
Trinn 7 Firmware.
Så jeg skrev noen skissealternativer for klokkene våre. Jeg vil skrive senere hva som er forskjellene og legge ut alt. For å fylle skissen, kjør Arduino IDE, velg Verktøy-menyen, angi følgende parametere:
Styret - Attiny 25/45/85
Prosessor - Attiny 85
Klokke - intern 16
Velg serieporten som ISP-programmereren eller Arduino er koblet til som programmerer. I Verktøy - Programmer-menyen velger du også "Arduino som ISP". Velg nå Sketch - Last ned via programmereren. Det gjenstår å vente på at nedlastingen er fullført.
Trinn 8 Skisser.
Det første alternativet er en klokke med en dato. For å stille inn klokkeslettet, må du koble til knapper, noe som dette:
For å pinne PB1, PB3, PB4.
Det andre alternativet er bare en klokke. For å stille inn tiden du trenger for å bruke USB-TTL.
Og det tredje alternativet, en skrivebordsklokke med en dato og et termometer.
Trinn 9 Lansering.
Hvis du bruker et litiumbatteri, må du installere en jumper i blokken mellom kontaktene BAT, +5 og VCC. Du kan bruke et lite stykke tynn ledning. Hvis du har et batteri, trenger du to hoppere, legg den første mellom BAT og Vin, den andre - + 5 og VCC.