Inhoudsopgave:

Poets je tanden!: 5 stappen (met afbeeldingen)
Poets je tanden!: 5 stappen (met afbeeldingen)

Video: Poets je tanden!: 5 stappen (met afbeeldingen)

Video: Poets je tanden!: 5 stappen (met afbeeldingen)
Video: Tandenpoetsen - Jokie Muziekclip - Efteling 2024, December
Anonim
Poets je tanden!
Poets je tanden!
Poets je tanden!
Poets je tanden!
Poets je tanden!
Poets je tanden!

Mijn 5-jarige zoon houdt er niet van, zoals veel 5-jarige kinderen, zijn tanden poetsen …

Ik kwam erachter dat de grootste belemmering eigenlijk niet het tandenpoetsen op zich is, maar de tijd die eraan wordt besteed.

Ik deed een experiment met het aftellen van mijn mobiele telefoon om hem de tijd te laten bijhouden die hij aan elke tandengroep doorbrengt (linksonder, rechtsonder, linksboven, rechtsboven, vooraan). Wat ik van dit experiment heb geleerd, is dat het deze taak veel gemakkelijker voor hem maakt. Daarna vroeg hij er echt om en poetste hij zijn tanden zonder te klagen!

Dus ik dacht: ik ga een klein aftelartefact maken dat hij alleen kan gebruiken, zodat hij onafhankelijker wordt en hopelijk zijn tanden vaker en voorzichtiger poetst.

Ik weet dat er een aantal andere doe-het-zelf-projecten en commerciële producten zijn die precies dit doen, maar ik wilde een beetje sleutelen en mijn eigen ontwerp maken.

Dit zijn de criteria voor mijn ontwerp:

  • Zo compact mogelijk
  • Display 2-cijferige nummers en tekens
  • Zend een geluid uit aan het begin van elke tandengroep
  • Oplaadbaar
  • Zo eenvoudig mogelijk te gebruiken

In deze Ible laat ik je zien hoe ik het heb ontworpen en gemaakt.

Genieten van!

Benodigdheden

  • 1 x Arduino pro mini
  • 2 x 7 segmenten display
  • 1 x drukknop
  • 1 x autotransformator
  • 1 x piëzo-zoemer
  • 2 x 470Ω weerstanden
  • 1 x li-ion-oplader/boostermodule
  • 1 x 17360 li-ion batterij (op de foto zie je een 18650 en zijn houder maar om het compacter te maken ben ik later van gedachten veranderd)
  • een perfboard
  • sommige draden
  • wat dubbelzijdig foamtape
  • een behuizing (ik heb een houten gemaakt, kan 3D worden geprint)
  • 4 x rubberen voetjes
  • wat CI-lijm

Stap 1: Soldeer de componenten

Soldeer de componenten
Soldeer de componenten
Soldeer de componenten
Soldeer de componenten
Soldeer de componenten
Soldeer de componenten

Ik had eerder een proof of concept gemaakt met een Arduino Uno en een protoboard, zodat ik de code kon schrijven en kon beslissen welke componenten ik moest gebruiken. Ik zal dat deel van het proces niet delen, omdat het erg saai is en niet veel zou opleveren.

Schema's

De schema's zijn beschikbaar in Tinkercad: https://www.tinkercad.com/things/77jwLqAcCNo-migh… het is niet compleet omdat sommige componenten niet beschikbaar zijn in de bibliotheek en de code niet kan worden uitgevoerd omdat het een specifieke bibliotheek nodig heeft. Desalniettemin toont het vrij nauwkeurig het algemene idee achter de eenvoudige schakelingen.

In de volgende beschrijvingen vermeld ik nooit welke pin opzettelijk met wat is verbonden. Ik denk dat de pintoewijzing afhangt van hoe je je componenten indeelt. In de volgende stap vindt u eenvoudig waar u de pintoewijzing kunt instellen door de Arduino-code te bewerken

Lay-out

Ik legde eerst op het perfboard waar ik wilde dat de cijfers van 7 segmenten betrekking hadden op de positie van de Arduino. Het komt voor dat dit specifieke perfboard erg handig is: het is ongeveer ontworpen als een protoboard met handige aansluitingen en het is dubbelzijdig bedrukt. Als ik de segmenten aan de ene kant en de Arduino aan de andere kant instel, kan ik de meeste cijferpinnen laten matchen met I / O-pinnen en krijg ik een zeer compacte lay-out!

Als je een manier hebt om je eigen borden te (maken) af te drukken, dan is het misschien het beste om je eigen borden te ontwerpen.

cijfers

Ik kwam erachter dat de eenvoudigste manier om tweecijferige getallen en symbolen weer te geven, is door LED-cijfers met 7 segmenten te gebruiken.

Hoe 7 segmenten cijfers werken in relatie met de Arduino

Een cijfer met 7 segmenten heeft 10 pinnen: één voor elk segment, één voor de punt/punt en twee voor de gemeenschappelijke anode/kathode (later A/K genoemd) (intern met elkaar verbonden). Om het aantal pinnen dat door de segmenten met de Arduino wordt gebruikt te verminderen, zijn alle segmenten en puntpinnen met elkaar verbonden en met een I/O-pin, wat neerkomt op 8 gebruikte I/O-pinnen. Vervolgens wordt een van de A/K-pinnen van elk segment verbonden met een andere I/O-pin. In het geval van een display met 2 segmenten komt dit neer op 10 I/O-pinnengebruik (7 segmenten + 1 punt + 2 cijfers x 1 A/K = 10).

Hoe kan het dan verschillende dingen op elk cijfer weergeven? De bibliotheek die die I/O-pinnen aanstuurt, maakt gebruik van de retinale persistentie van het menselijk oog. Het zet de A/K-pin van het gewenste cijfer aan en de rest uit, zet de segmenten goed in en wisselt dan snel af met de andere cijfers met behulp van hun eigen A/K-pinnen. Het oog zal het knipperen niet "zien", omdat het op een hoge frequentie is.

Solderen

Ik soldeerde eerst de cijfers en de verbindingen ertussen, daarna soldeerde ik de Arduino aan de andere kant. U zult merken dat het belangrijk is om alle onderlinge verbindingen van de cijfers uit te voeren voordat u de Arduino soldeert, omdat u dan geen toegang meer hebt tot de achterkant van de cijfers als ze eenmaal op hun plaats zitten.

Kies een juiste stroombegrenzende weerstand

De datasheet voor mijn displays geeft een voorwaartse stroom van 8mA en een voorwaartse spanning van 1,7V aan. Omdat de Arduino die ik gebruik met 5V werkt, moet ik 5 - 1.7 = 3.3V bij 8mA laten vallen. De wet van Ohm toepassen: r = 3,3 / 0,008 = 412,5Ω De dichtstbijzijnde weerstanden die ik heb zijn 330Ω en 470Ω. Voor de zekerheid koos ik de 470Ω-weerstand om de stroom door elke diode van het display te beperken. De helderheid van het display is omgekeerd evenredig met de waarde van die weerstand, dus het is belangrijk om voor elk cijfer dezelfde waarde te gebruiken.

Piëzo-zoemer

Hoe maak je eenvoudig een geluid met een Arduino en houd je het tegelijkertijd compact? De beste manier die ik heb gevonden, is het gebruik van een van die slanke piëzo-zoemers die je bijvoorbeeld in deuralarmen kunt vinden.

We hebben echter een manier nodig om het geluid van die zoemer te versterken, want als we hem rechtstreeks op de Arduino aansluiten, is het moeilijk om er iets van te horen. We zullen het op die twee manieren versterken:

  • met een autotransformator die de spanning zal verhogen, hoe hoger het is, hoe luider de piëzo
  • met een passieve akoestische versterker, eigenlijk een doos, zoals een gitaar: als je de piëzo bijvoorbeeld op een karton bevestigt, hoor je meteen een luider geluid

In datzelfde deuralarm zit een autotransformator, het is een kleine cilinder met meestal 3 pinnen. Eén pin gaat naar de Arduino I/O-pin, één naar de piëzo en de laatste is verbonden met zowel de Arduino GND als de andere piëzo-draad. Het is moeilijk om te weten welke pin dat is, dus probeer verschillende configuraties totdat je het hardste geluid uit de piëzo hoort.

Stroom

Disclaimer: ik weet dat het een slecht idee kan zijn om rechtstreeks op een li-ion-cel te solderen, doe het niet als je je daar niet prettig bij voelt.

Ik heb ervoor gekozen om het circuit van stroom te voorzien met een kleine li-ioncel, dit impliceert het gebruik van een module om het te beschermen, op te laden en om de spanning op te voeren tot 5V (li-ioncellen produceren meestal ongeveer 3.6V). Ik heb die module uit een goedkope powerbank gehaald en de omslachtige USB-A-connector losgesoldeerd.

De module geeft aan waar de cel moet worden aangesloten. Op zoek naar de pinout van de vrouwelijke USB-A-connector, kon ik de 5VCC-draden van de module verbinden met de arduino GND- en VCC-pinnen. Als je ooit hebt besloten om de Arduino van stroom te voorzien met meer dan 5V, dan wil je dat via de RAW-pin voeren, zodat je de ingebouwde spanningsregelaar deze kunt laten verlagen tot de 5V die vereist is door de ATMega.

Omdat het een oplaadbare stroombron is, had ik een manier nodig om te weten wanneer deze is ontladen. Daarvoor heb ik het positieve uiteinde van de cel aangesloten op een analoge pin van de Arduino. Tijdens de setup-sequentie lees ik die spanning en converteer ik deze naar een leesbare manier om het laadniveau te evalueren. Ik schreef een kern over de li-ion capaciteit formule. Later zal ik uitleggen hoe ik het weergeef.

Knop

We hebben een manier nodig om het aftellen te starten en daarvoor zou een aan / uit-tuimelschakelaar prima zijn geweest. Ik heb ervoor gekozen om een tijdelijke drukknop te gebruiken die is aangesloten tussen de GND- en RESET-pinnen. Aan het einde van de hele aftelcyclus gaat de Arduino naar een diepe slaapstand en kan worden gewekt door hem uit en weer in te schakelen, of door de RESET-pin op laag te zetten, wat handig is. Met die drukknop kan ik het aftellen "aanzetten" en resetten wanneer ik maar wil. Ik kan het aftellen van wanneer het is begonnen echter niet terugdraaien, maar het is niet erg denk ik.

Stap 2: Bewerk en upload de code

Bewerk en upload de code
Bewerk en upload de code

U vindt de code bijgevoegd. Het gebruikt een bibliotheek met de naam SevSeg die u kunt installeren met behulp van de bibliothekenmanager van de IDE of kunt downloaden op

Er zijn verschillende wijzigingen die u mogelijk wilt aanbrengen voordat u het uploadt:

Aftellen

Voor elke tandengroep wordt een countdown weergegeven. Ik heb het voor elke groep op 20 seconden ingesteld. Er zijn 5 groepen en enkele pauzes voor de weergave van symbolen ertussen (zie hieronder), dus de totale tijd die wordt besteed aan het tandenpoetsen zou ongeveer 2 minuten moeten zijn. Ik heb gehoord dat dit de aanbevolen timing is.

Als je de timer wilt wijzigen, kijk dan naar regel 14.

Opdrachten vastzetten

  • als u displays met gemeenschappelijke kathode gebruikt, wijzigt u regel 84 in "COMMON_CATHODE"
  • voor de segmenten pinnen, verander lijn 82 (momenteel ingesteld op 4 tot 11)
  • voor de A/K-pinnen, verander lijn 80 (momenteel ingesteld op 2 en 3)
  • voor de spanningssensor, verander de pinlijn 23 (momenteel ingesteld op A0)
  • voor de zoemer, verander de pinlijn 19 (momenteel ingesteld op 12)

Geluiden

Ik heb enkele muzieknoten gedefinieerd met hun geschatte frequentie van regel 36 tot 41, als je denkt dat je verschillende tonen wilt spelen, wil je misschien meer aan die lijst toevoegen.

Het betaalt 2 verschillende tonen:

  • een soort getjilp aan het begin van elke tandengroep, regel 206
  • een "feestje" toon helemaal aan het einde (soort beloning), regel 201

Je kunt die tonen veranderen, de lijsten bevatten een afwisseling van muzieknoot en duur van de noot, wees creatief!

Animatie

Aan het begin van elke tandengroep staat een display dat de betreffende groep symboliseert. De vijf groepssymbolen worden gedefinieerd van regel 71 tot 74. U kunt dit desgewenst bewerken.

Helemaal aan het einde van de reeks worden die symbolen afgewisseld tot een soort animatie.

Indicator batterijniveau

Helemaal aan het begin van de reeks wordt het batterijniveau weergegeven als een "balk"-display gedurende 3 seconden. Elk cijfer kan drie horizontale balken weergeven. Als alle 6 balkjes worden weergegeven, betekent dit dat de batterij vol is. De balken zullen niet van boven naar beneden en van links naar rechts branden als het batterijniveau afneemt. Je zou dat kunnen veranderen en een getal weergeven dat het resterende percentage energie vertegenwoordigt als je wilt, de code bevindt zich op regel 100.

Stap 3: Maak een behuizing

Een bijlage maken
Een bijlage maken
Een bijlage maken
Een bijlage maken
Een bijlage maken
Een bijlage maken
Een bijlage maken
Een bijlage maken

U vindt bijgevoegd een Sketchup-model van degene die ik heb ontworpen.

Het zal waarschijnlijk niet aan uw behoeften voldoen, omdat het sterk afhangt van de compactheid en de grootte van uw circuit/componenten. Pas het aan zoals je nodig hebt:)

Ik gebruikte 3/16 "berkenmultiplex denk ik, en een 1/2" ronde plug voor de knopdop.

Je zult merken dat een uitgesneden achterkant van de doos waar de piëzo-zoemer zal worden bevestigd, dit is waar ik de passieve akoestische versterking uitvoer.

Stap 4: Monteer de componenten in de behuizing

Monteer de componenten in de behuizing
Monteer de componenten in de behuizing
Monteer de componenten in de behuizing
Monteer de componenten in de behuizing
Monteer de componenten in de behuizing
Monteer de componenten in de behuizing

Ik heb dubbelzijdig foamtape gebruikt om de batterij, de oplader/boostermodule en de piëzo-zoemer op hun plaats te houden. Ik heb er ook een deel van gebruikt als afstandsstuk tussen de perfboard en het triplex, anders zou het scherm op een niet zo mooie manier uitsteken.

Ik plakte de drukknop met CI-lijm, maar het was niet genoeg om de druk te weerstaan bij het bedienen, dus gebruikte ik een plug met een kleine diameter om hem op zijn plaats te houden (zie de afbeelding).

Ik heb ook CI-lijm gebruikt om de piëzo-buzzer op de achterplaat te plakken voordat ik hem dichtdeed.

Mijn aanbeveling: test af en toe of alles werkt tijdens het passen, ik moest enkele kortsluitingsgebieden heropenen en isoleren, meerdere keren!

Voeg wat rubberen voetjes toe aan de onderkant, het geeft een professionele uitstraling;)

Stap 5: Conclusie

Conclusie
Conclusie
Conclusie
Conclusie

U merkt misschien dat de cijfers ondersteboven staan, dit is een fout die ik heb gemaakt sinds de lay-out van de componenten. Ik heb dat probleem opgelost door de pintoewijzing te verplaatsen, het is geen probleem omdat ik de punt / punt niet gebruik.

Hoe dan ook, dit project was erg leuk om te maken en mijn kind is er dol op!

Aarzel niet om uw opmerkingen en suggesties te plaatsen!

Bedankt voor het lezen.

Aanbevolen: