Inhoudsopgave:

Arduino Oled dobbelstenen - Ajarnpa
Arduino Oled dobbelstenen - Ajarnpa

Video: Arduino Oled dobbelstenen - Ajarnpa

Video: Arduino Oled dobbelstenen - Ajarnpa
Video: Arduino Oled snake dice || ARDUINO Tutorials|| projects with mani 2024, November
Anonim
Image
Image
Dobbelstenen Functies
Dobbelstenen Functies

Deze instructable gaat over hoe je een heel mooi ogende elektronische dobbelsteen kunt bouwen met behulp van een oled-display en een Arduino uno of iets dergelijks. Helemaal aan het begin van dit project besloot ik dat nadat het prototype klaar was, ik een op maat gemaakte versie wilde bouwen, dus in dit ondoorgrondelijke is er beschrijvingen hoe u de prototypeversie kunt bouwen en handige tips als u uw eigen aangepaste versie wilt bouwen.

De video toont de uiteindelijke op maat gemaakte dobbelsteenversie en functies.

Stap 1: dobbelstenen functies

De dobbelstenen hebben een keuzeschakelaar om te kiezen tussen 1 of 2 dobbelstenen, het heeft ook een piëzo-element om geluid te genereren wanneer de dobbelsteen door willekeurige getallen loopt en wanneer deze stopt. Zolang de rolschakelaar ingedrukt wordt gehouden, lopen de dobbelstenen en worden willekeurige getallen weergegeven op het display. Wanneer de knop wordt losgelaten, begint het een willekeurig aantal keren te vertragen totdat het uiteindelijk stopt en de resultaten worden weergegeven. Dit is om het gedrag van een echte dobbelsteen te simuleren.

De Dice heeft een Auto Power Off-circuit om batterijen te sparen.

Als u de dobbelsteen 60 seconden niet gebruikt, wordt de stroom automatisch uitgeschakeld.

In de software zit een functie om het geluid aan of uit te zetten door de keuzeschakelaar langer dan een seconde ingedrukt te houden.

Stap 2: De automatische uitschakelfunctie

De automatische uitschakelfunctie
De automatische uitschakelfunctie

De dobbelsteen heeft een functie om zichzelf uit te schakelen als hij niet wordt gebruikt om batterijen te sparen, zie de schema's voor het auto power off circuit.

Dit is hoe het werkt:

Het circuit bestaat uit een P FET-transistor die werkt als een schakelaar. De poort op de transistor wordt bestuurd door een standaard drukknop (S1). Wanneer de schakelaar wordt ingedrukt, daalt de spanning op de poort en begint de stroom door de transistor te vloeien. Op de poort is er een andere transistor parallel met de schakelaar naar aarde. De transistor houdt de spanning op de FET-poort laag zolang de spanning op de basis hoog is. De basisspanning wordt toegepast vanaf de microcontroller en een van de eerste dingen die de schets doet wanneer de controller wordt gevoed, is om de digitale pin 8 op Hoog te zetten en door de software het circuit te vergrendelen. De spanningsregelaar 7805 stabiliseert de spanning op 5V en de twee diodes voorkomen dat de 9 volt van de batterij de microcontroller bereikt. Dezelfde schakelaar wordt ook gebruikt om de digitale ingang op de controller te bedienen (pin 7).

In de schets meten we de tijd die is verstreken sinds de knop werd ingedrukt en vergelijken deze met de vastgestelde AAN-tijd.

Voordat de stroom uitvalt, beginnen de dobbelstenen/ dobbelstenen te knipperen en wordt er een waarschuwingssignaal uitgezonden door de piëzo, zodat de gebruiker de tijd heeft om nogmaals op de schakelaar te drukken om de timer te resetten.

Net voordat de stroom uitvalt, slaat de microcontroller het laatste nummer op in het EEPROM-geheugen, samen met het geselecteerde aantal dobbelstenen/dobbelstenen en de geluidsstatus. Die waarden worden opgeroepen bij de volgende start van de dobbelstenen.

Stap 3: Het prototype

het prototype
het prototype

Nu is het tijd om te gaan bouwen.

Jij hebt nodig:

  • 1 soldeerloze broodplank
  • 1 Arduino Uno
  • 1 OLED-scherm 128x64 i2c
  • 2 condensatoren 10uF
  • 1 condensator 100nF
  • 2 weerstanden 10Kohm
  • 2 Weerstand 100Kohm
  • 2 Diodes 1n4148
  • 1 Transistor NPN BC547b
  • 1 MosFET IRF9640
  • 1 Spanningsregelaar L7805
  • 2 tijdelijke schakelaar
  • 1 piëzo
  • Doorverbindingsdraad
  • 9 V batterij

Dat is het.

Volg de fritzing foto hierboven zorgvuldig

Let extra op de diode achter de spanningsregelaar op de foto (moeilijk te zien), D1 in het schema. De anodezijde van de diode moet worden aangesloten op de collector van de BC547-transistor.

De Piezo is aangesloten op pin 6, Roll-knop op pin 7, Select-knop op pin 10 en de Power_ON-regelaar op pin 8.

Vergeet niet je Arduino Uno van stroom te voorzien via de 5V-pin en de grondpin op het Arduino-bord en niet via de dc-mantel aan de zijkant.

De schets gebruikt de U8g2lib.h voor de weergave, u vindt deze hier, https://github.com/olikraus/u8g2/, download en installeer voordat u de code compileert.

Hoe bibliotheken te installeren?https://www.arduino.cc/en/Guide/Libraries

Kopieer de code en plak deze in Arduino IDE en upload de schets.

Vergeet niet om de USB-kabel van de Arduino te verwijderen wanneer u klaar bent, anders werkt de automatische uitschakelfunctie niet omdat de USB/computer de controller van stroom voorziet.

Stap 4: De aangepaste versie

De aangepaste versie
De aangepaste versie
De aangepaste versie
De aangepaste versie
De aangepaste versie
De aangepaste versie
De aangepaste versie
De aangepaste versie

De rest van dit instructable gaat over tips en trix, als je het wilt converteren naar een meer bruikbare en aangepaste versie.

Om het volledige schema voor de aangepaste versie te tekenen, heb ik het gratis online schema en de PCB-software EASYEDA gebruikt. Je vindt het hier

Bij het bestellen van de componenten moet je er zeker van zijn dat de microcontroller de Arduino-bootloader op de chip heeft, zo niet, dan moet je eerst de chip voorbereiden. Het is veel tutorial op het web hoe het te doen.

Ik heb extra componenten toegevoegd die niet in dit project worden gebruikt, maar die er wel zijn voor toekomstige projecten. U4, U5, R4, S2.

De PGM Header in het schema wordt gebruikt voor het programmeren van de chip. Als u de chip wilt programmeren met behulp van de PGM-poort, heeft u een USB-naar-serieel-adapter nodig.

USB naar seriële UART-kaarten

Je kunt de schets natuurlijk uploaden naar de controller met behulp van je Arduino-bord en vervolgens de chip in plaats daarvan naar de PCB verplaatsen.

EASYEDA biedt ook een functie om de printplaat voor u te fabriceren.

Voordat ik begon met het omzetten van het schema naar de printlay-out, koos ik een doos met de juiste maat en ruimte voor een 9 volt batterij die van buitenaf verwisselbaar is.

De reden daarvoor was dat ik de afmetingen nodig had en waar ik het gat op de print voor de schroeven moest plaatsen voordat ik aan de lay-out begon, zodat de uiteindelijke print perfect in de doos past.

Ik meet de interne afmeting van de doos heel zorgvuldig en converteer het ontwerp vervolgens naar het aangepaste formaat bord met dezelfde software en klik vervolgens op de fabricate-knop en plaatste een bestelling.

Stap 5: Solderen

Solderen
Solderen
Solderen
Solderen

Omdat ik meer dan één PCB moet bestellen om een redelijke prijs te krijgen, ontwerp ik het om veelzijdig te zijn, zodat ik hetzelfde bord en dezelfde doos voor toekomstige projecten kan gebruiken. Ik heb extra pinnen voor analoge en digitale poorten toegevoegd, samen met extra knoppen. In dit project gebruik ik de S1 om het circuit op te starten en de dobbelstenen te gooien, en S3 als Select. Na ontvangst van de print is het tijd om alle componenten op de juiste plaats te solderen. Op mijn PCB zijn het display en de knoppen aan de achterkant gemonteerd om het formaat te verkleinen en van buitenaf bereikbaar te zijn.

Toen ik mijn dobbelstenen aan het bouwen was, realiseerde ik me dat het leuk zou zijn als je de doos gewoon zou kunnen schudden om hem aan te zetten en de dobbelstenen te werpen. Als je die functie wilt, moet je een kleine aanpassing aan het circuit doen.

Wijziging:

Veranderde de rolschakelaar (S1) in een kantelschakelaarsensor en voeg een 100uF-condensator parallel aan de schakelaar toe om het niveau op de FET-poort lang genoeg laag te houden zodat de microcontroller tijd heeft om te starten en de digitale uit-poort HOOG in te stellen en vergrendel het "power on" -circuit.

U moet de kantelsensor op verlengpennen monteren, zodat u deze kunt buigen en de hoek kunt aanpassen zodat de schakelaar uit is wanneer de doos op tafel ligt.

Kantel sensor

Stap 6: Knip de benodigde gaten in de doos uit

Knip de gaten uit die nodig zijn in de doos
Knip de gaten uit die nodig zijn in de doos
Knip de gaten uit die nodig zijn in de doos
Knip de gaten uit die nodig zijn in de doos

Als je klaar bent met de print is het tijd om de gaten in de doos te boren. Om het vierkante gat voor het display te zagen heb ik een microfrees gebruikt, maar je kunt natuurlijk ook een kleine decoupeerzaag of iets dergelijks gebruiken.

Stap 7: Het frontpaneel

Het voorpaneel
Het voorpaneel
Het voorpaneel
Het voorpaneel

Dan heb je een mooi frontpaneel nodig. Ik was het paneel aan het tekenen in "smart-draw-software", maar je kunt bijna elke tekensoftware gebruiken die je leuk vindt.

Als je klaar bent met de tekening, print je deze uit op een standaard kleurenlaserprinter of iets dergelijks, maar op een iets dikker papier dan normaal. Neem een plastic vel met aan beide kanten lijm. Verwijder het beschermvel van één zijde en plak het paneel voorzichtig vast. je vindt deze plastic folie in de meeste papierwinkels.

Stap 8: Gaten in het paneel snijden

Gaten snijden in het paneel
Gaten snijden in het paneel
Gaten snijden in het paneel
Gaten snijden in het paneel
Gaten snijden in het paneel
Gaten snijden in het paneel
Gaten snijden in het paneel
Gaten snijden in het paneel

Knip de gaatjes in het paneel uit met een scherp papiermes. Gebruik voor de ronde knoopsgaten een perforator. Nu ziet het paneel eruit als een gewone sticker, maar voordat je het op de doos plakt, moet je het voorzien van een beschermende laklaag. Als het paneel is opgedroogd, plak je het voorzichtig op de doos.

Stap 9: Het einde van het project

Het einde van het project
Het einde van het project
Het einde van het project
Het einde van het project

Toen ik het einde van dit project bereikte, merkte ik helaas dat de dobbelsteen soms bevriest als ik ermee schud en opnieuw moest worden gestart.

Ik heb dit probleem nooit gehad tijdens het maken van prototypes, dus ik was een beetje in de war, maar ik ontdekte dat dit te wijten was aan ruis die werd geprojecteerd op de SDA-, SCL-pinnen van het scherm.

De oplossing was om extra weerstanden van 1k op elke pin toe te voegen aan 5V als pull-up, zie de afbeelding. Daarna werken de dobbelstenen perfect zoals verwacht.

Stap 10: Schud en rol

Veel plezier.

Aanbevolen: