Inhoudsopgave:

Arduino bestuurd laser hondenjager speelgoed - Ajarnpa
Arduino bestuurd laser hondenjager speelgoed - Ajarnpa

Video: Arduino bestuurd laser hondenjager speelgoed - Ajarnpa

Video: Arduino bestuurd laser hondenjager speelgoed - Ajarnpa
Video: Как сделать платформенный левитрон своими руками. Краткое руководство. "Levitron" (PCBWay) 2024, November
Anonim
Image
Image
Arduino bestuurd laser hondenjager speelgoed
Arduino bestuurd laser hondenjager speelgoed

Ongeveer twee jaar geleden heb ik dit speelgoed voor mijn hond gebouwd waarbij een laser wordt bestuurd met twee servo's om het een willekeurige beweging te geven waarbij de laserpunt ontsnapt en hij het kan achtervolgen. De laser werkte perfect, maar tijdens mijn recente verhuizing raakte hij beschadigd, dus in deze Instructable zullen we hem repareren en ik zal de werkingsprincipes uitleggen.

Stap 1: Materialen

Materialen
Materialen
Materialen
Materialen
Materialen
Materialen

Het project bestaat uit 4 delen: een Arduino-bord, 2 microservo's en een lasermodule. Ze zijn allemaal ondergebracht in een plastic container van zure room waar het Arduino-bord aan de onderkant is gelijmd terwijl de servo's en de laser aan de bovenkant zitten.

Hieronder vindt u een lijst met kooplinks waar u kunt krijgen wat u nodig heeft:

  • Arduino-bord:

    www.banggood.com/custlink/vKGvhaBTl3

  • 9g mini-servo's:

    www.banggood.com/custlink/v33GdlgfaE

  • Laserdiodemodule:

    s.click.aliexpress.com/e/crrJMQgs

Stap 2: constructie

Bouw
Bouw
Bouw
Bouw
Bouw
Bouw

Voorheen had ik de servo's op het deksel gelijmd met wat hete lijm, maar het hield geen stand. Om dit op te lossen, zal ik wat dubbelzijdig schuimtape gebruiken, omdat dit erg duurzaam bleek te zijn waar ik het heb gebruikt. De uitlijning op het deksel is niet zo kritisch omdat het altijd kan worden aangepast door te draaien.

De andere servo is direct aan de eerste bevestigd, zodat ze samen de laser in twee richtingen kunnen bewegen. De eerste beweegt hem naar links en rechts, terwijl de tweede hem op en neer beweegt. De lasermodule is bevestigd aan de arm van de tweede servo met wat hete lijm die nog steeds lijkt vast te houden.

Stap 3: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading

De elektrische bedrading van het project is relatief eenvoudig. Servomotoren hebben drie draden: voeding, aarde en signaal. De stroomdraad is meestal rood en moet worden aangesloten op de 5V-pin op het Arduino-bord. De aardingsdraad is meestal zwart of bruin en moet worden aangesloten op een aardingspin op het Arduino-bord. De signaalpin is meestal geel, oranje of wit en moet worden aangesloten op een digitale pin op het Arduino-bord. In ons geval gebruiken we digitale pinnen 9 en 11. Houd er rekening mee dat servo's veel stroom verbruiken, dus als je er meer dan een of twee moet aansturen, moet je ze waarschijnlijk van een aparte voeding voorzien en niet de +5V-pin op je Arduino.

De lasermodule heeft drie pinnen, maar er worden er maar twee gebruikt. Die aan de linkerkant is de positieve verbinding en wordt meestal gemarkeerd met een hoofdletter S, terwijl de negatieve verbinding aan de rechterkant is en is gemarkeerd met een minteken. U vindt de link naar het volledige schema in de videobeschrijving.

Het volledige schema is beschikbaar op EasyEda:

easyeda.com/bkolicoski/Arduino-Laser-Toy

Stap 4: Werkingsprincipes

principes van operaties
principes van operaties
principes van operaties
principes van operaties

Nu de reparatie is voltooid, laten we eens kijken naar de code en hoe dit apparaat werkt. Een typische 9g microservo heeft een beweging van 180 graden en wordt bestuurd door een PWM-signaal. Dit signaal wordt gegenereerd vanuit de Arduino met behulp van de Servo-bibliotheek. De bibliotheek biedt een handige methode genaamd "schrijven" die een waarde naar de servo schrijft en de as dienovereenkomstig aanstuurt. Op een standaard servo stelt dit de hoek van de as in (in graden), waardoor de as naar die richting wordt verplaatst.

In ons geval willen we deze beweging beperken tot maximaal ongeveer 50 tot 70 graden in elke richting zodat het gebied waar de hond loopt niet te groot is en hij niet te snel moe wordt. Bovendien heb ik deze limieten gebruikt om de omtrek van de laser in te stellen, zodat deze niet het gebied verlaat dat mijn hond moet bewegen. Ze worden aan het begin van de schets gezet, samen met de definities voor de twee servo's en de variabelen die we gaan gebruiken voor hun positie.

Stap 5: Arduino-code

Arduino-code
Arduino-code
Arduino-code
Arduino-code

In de setup-functie initialiseren we eerst de servo's en bevestigen ze aan de juiste pinnen op de Arduino. Dit zal de bibliotheek vertellen om het PWM-signaal op die pin uit te voeren. Vervolgens schrijven we de beginpositie naar beide servo's en om het speelgoed goed te kunnen plaatsen, heb ik een code toegevoegd die de servo's 3 keer in een cirkelvormig patroon op de randen van de ingestelde limiet zal verplaatsen. Op deze manier kun je zien waar de stip beweegt en de plaatsing van het speelgoed dienovereenkomstig aanpassen.

In de loop-functie genereren we eerst twee getallen, die de volgende hoeken van de twee servo's vertegenwoordigen en we bieden de limieten die we eerder hebben ingesteld. De willekeurige functie in Arduino kan de minimale en maximale waarde accepteren die het moet genereren. Deze waarden worden vervolgens één voor één naar de servo's gestuurd, met een vertraging van een halve seconde ertussen.

De volledige code is te vinden op mijn GitHub-pagina:

github.com/bkolicoski/LaserToy

Stap 6: Geniet

Genieten van!
Genieten van!
Genieten van!
Genieten van!

Ik hoop dat deze Instructable educatief en interessant was, dus ik stel voor om mij te volgen en vergeet je niet te abonneren op mijn YouTube-kanaal.

Aanbevolen: