Innholdsfortegnelse:

Arduino Oled Dice: 10 trinn (med bilder)
Arduino Oled Dice: 10 trinn (med bilder)

Video: Arduino Oled Dice: 10 trinn (med bilder)

Video: Arduino Oled Dice: 10 trinn (med bilder)
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, November
Anonim
Image
Image
Terningfunksjoner
Terningfunksjoner

Denne instruksen handler om hvordan du kan bygge en veldig fin elektronisk terning ved hjelp av en oled -skjerm og en Arduino uno eller lignende. Helt i begynnelsen av dette prosjektet bestemte jeg meg for at etter at prototypen var ferdig ville jeg bygge en skreddersydd versjon, så i denne ugjennomtrengelige er det beskrivelser av hvordan du bygger prototypeversjonen og nyttige tips hvis du vil bygge din egen tilpassede versjon.

Videoen viser den endelige skreddersydde terningversjonen og funksjonene.

Trinn 1: Terningfunksjoner

Terningene har en valgbryter for å velge mellom 1 eller 2 terninger. Den har også et piezo -element for å generere lyd når terningene går gjennom tilfeldige tall og når den stopper. Så lenge rullebryteren holdes inne, løper terningene og viser tilfeldige tall på displayet. Når knappen slippes begynner den å bremse et tilfeldig antall ganger til den endelig stopper og viser resultatene. Dette er for å simulere oppførselen til en ekte terningkast.

Terningen har en automatisk avstengningskrets for å spare batterier.

Hvis du ikke bruker terningen i 60 sekunder, slår strømmen seg automatisk av.

I programvaren er det en funksjon for å slå lyden på eller av ved å holde valgbryteren nede i mer enn ett sekund.

Trinn 2: Funksjonen for automatisk avslåing

Funksjonen for automatisk avslåing
Funksjonen for automatisk avslåing

Terningen har en funksjon for å slå av seg selv når den ikke brukes til å spare batterier, se skjemaene for kretsen for automatisk avslåing.

Slik fungerer det:

Kretsen består av en P FET -transistor som fungerer som en bryter. Porten på transistoren styres av en standard kortvarig trykknapp (S1). Når bryteren trykkes, faller spenningen på porten og strømmen begynner å strømme gjennom transistoren. På porten er det en annen transistor parallelt med bryteren til bakken. Transistoren holder spenningen lav på FET -porten så lenge spenningen på basen er høy. Basisspenningen påføres fra mikrokontrolleren, og en av de første tingene skissen gjør når kontrolleren får strøm er å sette den digitale pinnen 8 til Høy og ved at programvaren låser kretsen. 7805 spenningsregulator stabiliserer spenningen til 5V og de to dioder forhindrer 9 volt fra batteriet til å nå mikrokontrolleren. Den samme bryteren brukes også til å kontrollere den digitale inngangen på kontrolleren, (pin 7).

I skissen måler vi tiden som har gått siden knappen ble trykket og sammenligner den med den bestemte ON -tiden.

Før strømmen går av begynner terningene/ terningene å blinke og et varselsignal sendes ut fra piezoen, slik at brukeren rekker å trykke på bryteren igjen for å tilbakestille timeren.

Like før strømmen går av, lagrer mikrokontrolleren det siste nummeret i EEPROM -minnet sammen med det valgte antallet terninger/terninger og lydtilstanden. Disse verdiene tilbakekalles ved neste terningstart.

Trinn 3: Prototypen

prototypen
prototypen

Nå er det på tide å begynne å bygge.

Du trenger:

  • 1 loddefritt brødbrett
  • 1 Arduino Uno
  • 1 OLED -skjerm 128x64 i2c
  • 2 kondensatorer 10uF
  • 1 kondensator 100nF
  • 2 motstander 10Kohm
  • 2 Motstand 100Kohm
  • 2 dioder 1n4148
  • 1 Transistor NPN BC547b
  • 1 MosFET IRF9640
  • 1 Spenningsregulator L7805
  • 2 mometary Switch
  • 1 Piezo
  • Jumper Wire
  • 9 V batteri

Det er det.

Følg fritzingbildet ovenfor nøye

Vær ekstra oppmerksom på dioden bak spenningsregulatoren på bildet (vanskelig å se), D1 i skjematisk. Anodesiden av dioden bør kobles til kollektoren til BC547 -transitoren.

Piezo er koblet til pin 6, Roll -knapp til pin 7, Select -knapp til pin 10 og Power_ON -kontrollen til pin 8.

Ikke glem å drive Arduino Uno gjennom 5V -pinnen og jordpinnen på Arduino -brettet og ikke gjennom DC -jakken på siden.

Skissen bruker U8g2lib.h for displayet, du finner den her, https://github.com/olikraus/u8g2/, last ned og installer før du kompilerer koden.

Hvordan installere biblioteker? Https: //www.arduino.cc/en/Guide/Libraries

Kopier koden og lim den inn i Arduino IDE og last opp skissen.

Ikke glem å fjerne USB -kabelen fra Arduino når du er ferdig, ellers fungerer ikke automatisk avslåingsfunksjon fordi USB/datamaskinen driver kontrolleren.

Trinn 4: Den tilpassede versjonen

Den tilpassede versjonen
Den tilpassede versjonen
Den tilpassede versjonen
Den tilpassede versjonen
Den tilpassede versjonen
Den tilpassede versjonen
Den tilpassede versjonen
Den tilpassede versjonen

Resten av denne instruksen handler om tips og trix, hvis du vil konvertere den til en mer nyttig og tilpasset versjon.

For å tegne den komplette skjematikken for den tilpassede versjonen brukte jeg gratis skjematisk og PCB -programvare EASYEDA Du finner den her

Når du bestiller komponentene må du være sikker på at mikrokontrolleren har Arduino bootloader på brikken, hvis ikke må du først forberede brikken. Det er mye opplæring på nettet om hvordan du gjør det.

Jeg la til ekstra komponenter som ikke brukes i dette prosjektet, men som er der for fremtidige prosjekter. U4, U5, R4, S2.

PGM Header i skjemaene brukes til å programmere brikken. Hvis du vil programmere brikken med PGM -porten, trenger du en USB -til -serie -adapter.

USB til serielle UART -kort

Du kan selvfølgelig laste opp skissen til kontrolleren ved hjelp av Arduino -kortet og deretter flytte brikken til PCB i stedet.

EASYEDA gir også en funksjon for å lage PCB for deg.

Før jeg begynte å konvertere skjemaet til PCB -oppsettet, valgte jeg en boks som har riktig størrelse og plass til et 9 volt batteri som kan endres utenfra.

Grunnen til det var at jeg trengte dimensjonene og hvor jeg skulle plassere hullet på PCB for skruene før jeg begynte å gjøre oppsettet, så den siste PCB -en vil passe perfekt inn i esken.

Jeg måler den interne dimensjonen av esken veldig nøye og konverterer deretter designet til det egendefinerte størrelsen ved hjelp av den samme programvaren, og klikker deretter på fabrikasjonsknappen og la inn en bestilling.

Trinn 5: Lodding

Lodding
Lodding
Lodding
Lodding

Fordi jeg må bestille mer enn én PCB for å få en rimelig pris, designer jeg den for å være allsidig, slik at jeg kan bruke det samme brettet og esken til fremtidige prosjekter. Jeg la til ekstra pins for analoge og digitale porter sammen med ekstra knapper. I dette prosjektet bruker jeg S1 til å slå på kretsen og kaste terningene, og S3 som Select. Når du mottok kretskortet, er det på tide å lodde alle komponentene på rett sted. På min PCB er skjermen og knappene montert på baksiden for å krympe størrelsen og være tilgjengelig fra utsiden.

Da jeg bygde terningene mine innså jeg at det ville være fint hvis du bare kunne riste boksen for å slå den på og kaste terningene. Hvis du vil ha den funksjonen, må du gjøre en liten modifikasjon av kretsen.

Modifikasjon:

Endret rullebryteren (S1) til en vippebryter -sensor og legg til en 100uF kondensator parallelt med bryteren for å holde nivået på FET -porten lav nok til at mikrokontrolleren får tid til å starte og sette den digitale ut -porten HØY og lås "strøm på" kretsen.

Du må montere tilt -sensoren på forlengelsestappene, slik at du kan bøye den og justere vinkelen slik at bryteren er av når esken ligger på bordet.

Tiltsensor

Trinn 6: Klipp ut hullene som trengs i esken

Klipp ut hullene som trengs i esken
Klipp ut hullene som trengs i esken
Klipp ut hullene som trengs i esken
Klipp ut hullene som trengs i esken

Når du er ferdig med kretskortet, er det på tide å bore hullene i esken. For å kutte det firkantede hullet for displayet brukte jeg en mikrofreser, men du kan selvfølgelig bruke en liten pilkesag eller lignende.

Trinn 7: Frontpanelet

Frontpanelet
Frontpanelet
Frontpanelet
Frontpanelet

Da trenger du et fint frontpanel. Jeg tegnet panelet i "smart-draw-programvare", men du kan bruke nesten hvilken som helst tegneprogramvare du liker.

Når du er ferdig med tegningen, skriver du den ut på en standard fargelaserskriver eller lignende, men på litt tykkere papir enn normalt. Ta et plastark som har lim på begge sider. Fjern beskyttelsesarket på den ene siden og lim forsiktig inn panelet. Du finner denne plastfilmen i de fleste papirbutikker.

Trinn 8: Skjære hull i panelet

Skjære hull i panelet
Skjære hull i panelet
Skjære hull i panelet
Skjære hull i panelet
Skjære hull i panelet
Skjære hull i panelet
Skjære hull i panelet
Skjære hull i panelet

Skjær hullene i panelet med en skarp papirkniv. Bruk et hull for de runde knapphullene. Nå ser panelet ut som et vanlig klistremerke, men før du limer det på esken må du spraye det med et beskyttende lakklag. Når panelet har tørket, lim det forsiktig på esken.

Trinn 9: Prosjektets slutt

Slutten på prosjektet
Slutten på prosjektet
Slutten på prosjektet
Slutten på prosjektet

Da jeg nådde slutten av dette prosjektet, oppdager jeg dessverre at terningen noen ganger fryser når jeg rister den og må startes på nytt.

Jeg har aldri hatt dette problemet under prototyping, så jeg var litt forvirret, men jeg fant ut at dette skyldtes støy som projiseres på SDA, SCL -pins på skjermen.

Løsningen var å legge til ekstra motstander 1k på hver pin til 5V som pull-up, se bildet. Etter det fungerer terningene perfekt som forventet.

Trinn 10: Rist og rull

Ha det gøy.

Anbefalt: