

Liste over hva vi trenger:
- Digispark Attiny85
- Oljet skjerm 128x64 I2C
- ds18b20 temperatursensor
- Motstand 4.7 Kom 0,25 W
- ISP-programmerer eller Arduino Digispark Attiny85 firmware board
- Plasttablett med binders eller ark tynn plast
- ledninger
- Dupont 2,54 mm “kvinnelige” kontakter
- Knapper 2 stk.
- Lite kretskort eller liten trim
- loddejern
- Lodd, kolofonium
- saks
- geistlig kniv
- Varm limpistol
- Varmt lim
Trinn 1 Valg av komponenter.
Som hovedkontroller vil vi bruke Digispark Attiny85. Det er flere typer av dem. Vi trenger et brett med en micro USB-kontakt. Resten vil ikke passe i klokkesaken.
For å vise trenger vi en Oled 128x64 I2C-skjerm. De kommer i forskjellige farger: hvit, blå, blå med gul. Jeg trekker oppmerksomheten! Begrepet "tofarger" i beskrivelsen eller tittelen på dette skjermbildet betyr en stripe med en farge øverst på skjermen og den andre fargen på hele den gjenværende 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 - en annen. Som for eksempel den jeg skal bruke. Linjen over er gul, resten av skjermen er blå. Du kan velge hvilken som helst farge du liker.
Vi trenger også den integrerte temperatursensoren DS18B20. Det ble ikke valgt ved en tilfeldighet. Først kommuniserer DS18B20 med mikrokontrolleren via en entrådig kommunikasjonslinje ved bruk av 1-Wire grensesnittprotokoll. I vårt tilfelle er dette viktig, siden konklusjonene til Attiny85 uten sensor er få. For det andre er denne sensoren et siffer, det vil si at den tar alle målingene i seg selv og overfører ganske enkelt temperaturdata uten å bruke databehandlingsressursene til Attiny85.
Når det gjelder resten, tror jeg det ikke vil være noen spørsmål, så la oss gå videre til å produsere saken.
Trinn 2 Montering av huset.
Uretui vil være laget av tynn plast. Jeg hadde en plastbrett med binders på hendene. Den er tøff nok til å holde formen, og samtidig kan den klippes med vanlig saks og en kontorkniv. Han kom perfekt opp.Hvis det ikke er for hånden, kan du kjøpe et nettbrett i en kontorrekvisita butikk eller finne riktig plast for å erstatte nettbrettet. Vi lager markeringer på plast i henhold til ordningen:

Skjær ut alle de solide linjene. Prikket - litt kuttet med en geistlig kniv. Stiplede linjer er brettelinjer. Som du allerede har forstått, er dette den vanlige terningen. Deretter må du lodde ledningene til skjermen, det er best å ta flerfarget og skrive ned som fører til hva. Lim skjermen på smeltlimet i midten, slik at frontsiden kommer ut fra baksiden. Som du kan se, har vi lukket skjermstiften. Derfor var det nødvendig å skrive dem ned. Jeg overleverte litt til kniven, og klippet derved av den nedre delen av kroppen. Det er ikke noe galt med det, alt kan limes. Men det er bedre å ikke gjenta feilene mine.


Resultatet skal være slik:

På denne saken er klar. Du kan fremdeles kutte bakdekselet av samme plast, men dette er valgfritt.
Trinn 3 Vi lodder.
Vår sak er liten, og vi må stappe mye der. Derfor tar vi et stykke av kretskortet som ikke er større enn 2,8 x 2,8 mm og lodder i to knapper, en ds18b20-sensor, en motstand og flere kontakter. I henhold til følgende ordning:
Det er ikke nødvendig å lodde ledninger direkte til Attiny, siden det er nødvendig å koble fra alt for firmware. Resultatet skal være noe som dette:


Knapper er nødvendige for å stille inn klokkeslettet. Strøm kan tas fra USB-porten på datamaskinen. Kombinere henholdsvis pluss og minus:

Hvis du vil klare deg uten ledninger, må du finne et lite litium-ion-batteri. Her er en, for eksempel:

Dette batteriet passer inn i saken. Det er bare nødvendig å gi konklusjoner for batteriladingen.
Trinn 4 Forberede programmereren.
Digispark Attiny85 kan programmeres gjennom mikro-USB-kontakten på brettet, og bruker Arduino IDE som programmeringsmiljø. Men samtidig må du ofre 2 KB minne for startlasteren. Attiny 85 har totalt 8 KB Flash. Skissen min passer ikke med bootloader, så jeg trenger å programmere gjennom ISP-programmereren. Jeg har ikke en slik programmerer, men det er et Arduino Uno-brett, som jeg vil bruke som programmerer. Hvis du har en ISB-programmerer, kan du hoppe over dette elementet. Åpne Arduino IDE og fyll ut skissen vår som heter ArduinoISP i vår Arduino Uno. Du kan finne den slik fil - Eksempler - Arduino ISP. Skissen starter med et hint om hvordan du kobler Arduino til den programmerbare kontrolleren. I stedet for Arduino Uno, kan det være noe annet Arduino-styre.
// 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 5 Forberede programmeringsmiljøet.
For å redigere firmware og fylle skissen i Attiny 85, må du forberede ikke bare programmereren, men også selve programmeringsmiljøet. For å gjøre dette, installer Arduino IDE fra det offisielle nettstedet Arduino.cc, og installer også Attiny-tillegget for mikrokontrollere gjennom Boards Manager.
Start Arduino IDE, deretter Fil - Innstillinger - i feltet URL for tilleggsforvaltningsadministratorer, lim inn lenken:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
klikk på OK (du kan legge inn flere lenker atskilt med komma i dette feltet). Neste verktøy - Board - Boards Manager i filterfeltet, skriv inn Attiny og klikk på "attiny by David A. Mellis". Klikk på Installer og vent til nedlastingen er fullført. I Verktøy-menyen velger du:
Styret - Attiny 25/45/85
Prosessor - Attiny 85
Klokke - intern 16
og velg den serielle porten som ISP-programmereren eller Arduino er koblet til som programmereren.
Jeg prøvde mange forskjellige biblioteker for å jobbe med skjermen. Etter min mening den mest praktiske og arbeider på Attiny85: TinyOzOLED.
En temperatursensor trenger OneWire-biblioteket.
Installer disse to bibliotekene. Du kan installere tredjepartsbiblioteker direkte i programmeringsmiljøet. Uten å pakke ut de nedlastede arkivene, i Arduino IDE, velg menyen Sketch - Connect Library. Øverst på rullegardinlisten velger du Legg til .Zip-biblioteket. I biblioteket som vises, velger du biblioteket du vil legge til. Åpne Sketch - Connect Library-menyen igjen. Helt nederst i nedtrekkslisten skal du se et nytt bibliotek. Nå kan biblioteket brukes i programmer. Ikke glem å starte Arduino IDE på nytt etter alt dette.Hvis det ikke hjelper, bare pakker du arkivene i mappen "biblioteker" som ligger i mappen med Arduino IDE installert.
Trinn 6 Rediger og fyll skissen.
Temperatursensoren fungerer i henhold til One Wire-protokollen og har en unik adresse for hver enhet - en 64-biters kode. Rettferdige ressurser er ikke nok til å se etter denne koden hver gang. Derfor må du først koble sensoren til et hvilket som helst Arduino-kort, fylle ut skissen som ligger i filen - Eksempler - Dallas temperatur - OneWireSearch-menyen. Kjør deretter Tools - Port Monitor. Arduino skal finne sensoren vår, skrive sin adresse og gjeldende temperaturavlesninger. Vi kopierer eller skriver ganske enkelt ned adressen til sensoren vår. Åpne skissen Attiny85_Oled_SPI_Term_2, se etter linjen:
byte addr [8] = {0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63};
Vi skriver ned adressen til sensoren din mellom seler, og erstatter adressen til sensoren min. Etter det, koble Attiny til programmereren eller Arduino som programmerer (dette er beskrevet i trinn 4) og fyll ut skissen. Det gjenstår å koble programmereren og koble alt i henhold til skjemaet i tre trinn. Forsamlingen viser seg slik:

Skjermen er liten, det er umulig å sette både tid og temperatur slik at den er synlig. Derfor endrer klokken tiden med en temperaturavlesning hvert 10. sekund.
