Een magische bal maken op basis van de Arduino Pro Mini

Ik keek naar een film waarin een van de personages een magische bal had die vragen beantwoordde. Toen bedacht ik dat het leuk zou zijn om dezelfde te maken, maar dan digitaal. Ik doorzocht mijn voorraad elektronische componenten en keek of ik had wat ik nodig had om zo'n bal te bouwen. Tijdens de pandemie wilde ik niets bestellen tenzij het absoluut noodzakelijk was. Als resultaat ontdekte ik een versnellingsmeter met drie assen, een display voor de Nokia 5110, een Arduino Pro Mini-bord en nog wat andere kleine dingen. Dit had voor mij genoeg moeten zijn en ik ging aan de slag.

Een magische bal maken op basis van de Arduino Pro Mini

Hardware onderdeel van het project

Hier is een lijst met componenten waaruit mijn project bestaat:

  • Arduino Pro Mini-bord.
  • GX-12-connector (mannelijk).
  • Drie-assige versnellingsmeter MMA7660.
  • Beeldscherm PCD8544 voor Nokia 5110/3310.
  • Oplader voor lithium-polymeerbatterijen TP4056.
  • Converter DD0505MD.
  • Lithium-polymeerbatterij, maat 14500.

tonen

Het scherm dat ik besloot te gebruiken in dit project is al een hele tijd in mijn bezit. Toen ik het ontdekte, vroeg ik me meteen af ​​waarom ik het nog nergens eerder had gebruikt. Ik vond een bibliotheek om ermee te werken en sloot er stroom op aan. Daarna vond ik meteen het antwoord op mijn vraag. Het probleem was het contrast en het feit dat er extra componenten nodig waren voor de werking ervan. ik vond deze bibliotheek voor het werken met het display en leerde dat je een potentiometer op een analoog contact kunt aansluiten. Ik besloot de versnellingsmeter te gebruiken om het displaycontrast aan te passen. Als u namelijk naar het instellingenmenu gaat, leidt het naar links kantelen van het apparaat tot een verlaging van de overeenkomstige waarde, en naar rechts kantelen leidt tot een verhoging. Ik heb een knop aan het apparaat toegevoegd. Wanneer ik erop druk, worden de huidige contrastinstellingen opgeslagen in de EEPROM.

Accelerometergestuurd menu

Ik vond het navigeren door menu's met knoppen te saai. Dus besloot ik een gyroscoop te gebruiken om met het menu te werken. Dit interactieschema met het menu bleek zeer succesvol. Als u het apparaat dus naar links kantelt, wordt het menu met contrastinstellingen geopend. Hierdoor kunt u ook naar dit menu gaan als het displaycontrast sterk afwijkt van de norm. Ik gebruikte de versnellingsmeter ook om de verschillende apps te selecteren die ik had gemaakt. Hier bibliotheek die ik in dit project heb gebruikt.

Apps

In eerste instantie wilde ik iets maken dat als een magische bal kon fungeren. Maar toen besloot ik dat ik wat ik had kon uitrusten met extra mogelijkheden die verschillende applicaties bieden. Ik heb bijvoorbeeld een programma geschreven dat het gooien van een dobbelsteen simuleerde en willekeurig een getal van 1 tot en met 6 produceerde. Een ander programma van mij kon de vragen 'Ja' en 'Nee' beantwoorden als erom werd gevraagd. Het helpt bij het nemen van beslissingen in moeilijke situaties. U kunt andere applicaties aan mijn apparaat toevoegen.

batterij

Het probleem met mijn projecten is dat ik er altijd niet-verwijderbare lithium-polymeerbatterijen in gebruik. En als deze projecten dan een tijdje worden vergeten, kan er iets ergs met de batterijen gebeuren. Deze keer besloot ik het anders aan te pakken en ervoor te zorgen dat de batterij indien nodig uit het toestel verwijderd kon worden. Het kan bijvoorbeeld nuttig zijn bij een nieuw project. Tegen die tijd had ik al een behuizing voor de batterij ontworpen, maar ik moest deze afmaken door hem uit te rusten met een deur. De eerste exemplaren van de zaak bleken onredelijk complex en omslachtig. Dus heb ik het opnieuw ontworpen. Het kan nuttig zijn in mijn andere projecten.

Een magische bal maken op basis van de Arduino Pro Mini
Batterijbehuizing

Ik wilde de casecover in eerste instantie met een magneet vastzetten, maar ik hou er echt niet van om allerlei extra componenten te gebruiken waar ik het zonder kan. Dus besloot ik een deksel met een sluiting te maken. Wat ik in eerste instantie bedacht was niet erg geschikt voor XNUMXD-printen. Daarom heb ik het deksel opnieuw ontworpen. Hierdoor kon het goed gedrukt worden.

Een magische bal maken op basis van de Arduino Pro Mini
Deksel batterijbehuizing

Ik was tevreden met het resultaat, maar het gebruik van een dergelijk batterijcompartiment in mijn projecten beperkt mijn ontwerpmogelijkheden, omdat het deksel van het compartiment zich aan de bovenkant van het apparaat moet bevinden. Ik heb geprobeerd het batterijcompartiment in de behuizing van het apparaat te bouwen, zodat de cover aan de zijkant van de behuizing zou uitsteken, maar er kwam niets goeds uit.

Een magische bal maken op basis van de Arduino Pro Mini
Afdrukken van de batterijhouder

Een magische bal maken op basis van de Arduino Pro Mini
Het batterijklepje bevindt zich aan de bovenkant van het apparaat

Het aanpakken van voedingsproblemen

Ik wilde geen elementen op het moederbord aansluiten om het apparaat van stroom te voorzien, omdat dit de omvang ervan zou vergroten en de kosten van het project zou verhogen. Ik dacht dat het ideaal zou zijn als ik de TP4056-oplader en de DD0505MD-converter die ik al had in het project kon integreren. Op deze manier hoefde ik geen geld uit te geven aan extra componenten.

Een magische bal maken op basis van de Arduino Pro Mini
Stroomproblemen met apparaten oplossen

Ik heb het gedaan. De planken kwamen terecht waar ze moesten zijn, ik verbond ze door middel van solderen met korte stijve draden, waardoor het mogelijk werd om de resulterende structuur zeer compact te maken. Een soortgelijk ontwerp kan in mijn andere projecten worden ingebouwd.

Een magische bal maken op basis van de Arduino Pro Mini
Het binnenste gedeelte van de behuizing met ruimte voor elementen die het apparaat van stroom voorzien

Afronding van het project en de gevolgen van het niet succesvol plaatsen van componenten in de koffer

Terwijl hij aan het project werkte, overkwam hem iets onaangenaams. Nadat ik alles had verzameld, liet ik het apparaat op de grond vallen. Hierna werkte het display niet meer. Ik dacht eerst dat het aan het beeldscherm lag. Dus heb ik hem opnieuw aangesloten, maar dat loste niets op. Het probleem met dit project was de slechte plaatsing van de componenten. Om ruimte te besparen heb ik het display namelijk boven de Arduino gemonteerd. Om bij de Arduino te komen, moest ik het display losmaken. Maar het opnieuw solderen van het display loste het probleem niet op. In dit project heb ik een nieuw Arduino-bord gebruikt. Ik heb nog zo'n bord dat ik gebruik voor breadboard-experimenten. Toen ik het scherm erop aansloot, werkte alles. Omdat ik oppervlaktemontage gebruikte, moest ik de pinnen van dit bord losmaken. Door de pinnen van het bord te verwijderen, heb ik kortsluiting veroorzaakt door de VCC- en GND-pinnen aan te sluiten. Het enige wat ik kon doen was een nieuw bord bestellen. Maar daar had ik geen tijd voor. Toen besloot ik de chip van het bord waarop de kortsluiting optrad te nemen en naar het "dode" bord te verplaatsen. Ik heb dit probleem opgelost met behulp van een heteluchtsoldeerstation. Tot mijn verbazing werkte alles. Ik hoefde alleen maar de pin te gebruiken die het bord reset.

Een magische bal maken op basis van de Arduino Pro Mini
Bord met chip verwijderd

Onder normale omstandigheden zou ik niet tot zulke extremen zijn gegaan. Maar mijn Arduino-bord was nog maar een week oud. Daarom ging ik voor dit experiment. Misschien heeft de pandemie mij meer bereid om te experimenteren en inventiever gemaakt.

Lanyard-bevestiging

Ik rust mijn projecten uit met lanyard-bevestigingen. Je weet immers nooit van tevoren wanneer en waar je ze gaat gebruiken.

Resultaten van


Zo ziet het eruit om met de resulterende magische bal te werken.

Hier u kunt bestanden vinden voor het 3D-printen van de behuizing. Hier je kunt een kijkje nemen om de code te zien.

Gebruikt u Arduino Pro Mini in uw projecten?

Een magische bal maken op basis van de Arduino Pro Mini

Een magische bal maken op basis van de Arduino Pro Mini

Bron: www.habr.com

Voeg een reactie