Inhoudsopgave:
- Stap 1: Voorbeeldbestanden kopiëren naar Micro:Bits
- Stap 2: Transmitter.hex-voorbeeldbestand bekijken
- Stap 3: Servo-extensie toevoegen
- Stap 4: Reviewer Receiver.hex-voorbeeldbestand (deel 1)
- Stap 5: Receiver.hex-voorbeeldbestand bekijken (deel 2)
- Stap 6: Receiver.hex-voorbeeldbestand bekijken (deel 3)
Video: [2020] Twee (x2) Micro:bits gebruiken om een RC-auto te besturen - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Als je twee (x2) micro:bits hebt, heb je er dan aan gedacht om ze te gebruiken voor het op afstand besturen van een RC-auto? U kunt een RC-auto besturen door één micro:bit als zender en een andere als ontvanger te gebruiken.
Wanneer u de MakeCode-editor gebruikt voor het coderen van een micro:bit, kunt u een extensie vinden met de naam Radio waarmee een van uw micro:bit gegevens via de ether kan uitzenden naar een andere micro:bit in dezelfde groep. U kunt voor veel projecten eenvoudig gegevens verzenden en ontvangen met de Radio-extensie.
In deze tutorial leren we hoe je twee (x2) micro:bits kunt gebruiken om een RC-auto op afstand te besturen. We zullen de stappen controleren om twee (x2) micro:bits in te stellen en de MakeCode-editor gebruiken om uit te leggen hoe de voorbeeldbestanden zijn gecodeerd. U kunt in dit project kant-en-klare voorbeeldcodes downloaden en u hoeft zich geen zorgen te maken over het coderen van alles vanaf het begin. U kunt de voorbeeldcodes later altijd aanpassen voor uw eigen leerdoeleinden.
Benodigdheden:
Laten we beginnen! Voor de zender en de ontvanger gebruiken we twee (x2) micro:bits. Voor batterijen raden we het gebruik van nieuwe en eenmalig te gebruiken 1,5 V AA- en AAA-batterijen aan.
- micro:bit x2
- batterijhouder x1
- 1.5V AAA-batterijen x2 (voor de batterijhouder)
Voor de speelgoedauto in dit project gebruiken we Valenta Off-Roader RC-auto. Valenta Off-Roader is een micro:bit aangedreven RC-auto. Het is compatibel met Lego Technic en uitgerust met twee (x2) micro-reductiemotoren op de achterwielen en één (x1) ingebouwde stuurservo op basis van Roberval balansarmmechanisme.
- Valenta Offroader x1
- 1.5V AA-batterijen x4 (voor de auto)
U kunt ook de instructie voor het monteren van de auto raadplegen.
Stap 1: Voorbeeldbestanden kopiëren naar Micro:Bits
Voor dit project hebben we MakeCode-voorbeeldbestanden gemaakt die u naar uw computer kunt downloaden. Aangezien deze voorbeeldbestanden klaar zijn om af te spelen, kunt u direct beginnen met spelen.
Download in deze stap het bestand Transmitter.hex en Receiver.hex. Verbind uw computer en een micro:bit via een USB-kabel en kopieer elk bestand één voor één naar elk van uw micro:bits.
Sleep eerst het Transmitter.hex-bestand naar een micro:bit en gebruik dit als "zender" micro:bit.
Ten tweede, sleep het Receiver.hex-bestand naar een andere micro:bit en gebruik deze als "ontvanger" micro:bit.
Nadat u het voorbeeldbestand naar uw micro:bit hebt gekopieerd, koppelt u het los van uw computer.
Sluit de batterijhouder aan op "zender" micro:bit en zet hem aan. (Als alternatief kunt u ook de "zender" micro:bit van stroom voorzien door deze via een USB-kabel op de computer aan te sluiten.)
Monteer "receiver" micro:bit op uw auto en zet de stroomschakelaar op de motorcontroller aan.
Stap 2: Transmitter.hex-voorbeeldbestand bekijken
Zender.hex
Nu zullen we het voorbeeldbestand Transmitter.hex onderzoeken. Open de MakeCode-editor en klik op de knop Importeren. Open het Transmitter.hex-bestand dat u hebt gekopieerd naar "zender" micro:bit.
op startblok
Dit blok wordt in eerste instantie meteen aangeroepen als "zender" micro:bit is ingeschakeld. In Radio-uitbreiding vindt u de blokradio-setgroep en 1 is bijvoorbeeld ingesteld. Dit nummer moet hetzelfde zijn voor "zender" micro:bit en "ontvanger" micro:bit, zodat ze aan elkaar kunnen worden gekoppeld voor communicatie.
Het bestand maakt gebruik van Accelerometer-functies. Door uw "zender" micro:bit naar beneden, boven, naar rechts of links te kantelen, stuurt het radioreeksen van "goForward", "goBackward", "goRight" of "goLeft" naar uw "ontvanger" micro:bit.
op logo naar beneden blok
In Invoerfuncties vind je het blok op logo naar beneden. Dit blok wordt uitgevoerd wanneer u "zender" micro:bit naar beneden of naar voren kantelt. In het blok kun je ook een radio-zendstring "goForward" vinden die de radio-string "goForward" door de ether zal sturen wanneer de "zender" micro:bit naar beneden wordt gekanteld. Wanneer "receiver" micro:bit deze string ontvangt, gaat de auto vooruit.
op logo omhoog blok
In Invoerfuncties vind je het blok op logo omhoog. Dit blok wordt uitgevoerd wanneer u "zender" micro:bit omhoog of achteruit kantelt. In het blok kun je ook een radiozendreeks "goBackward" vinden die de radioreeks "goBackward" door de ether zal sturen wanneer de "zender" micro:bit omhoog wordt gekanteld. Wanneer "ontvanger" micro:bit deze string ontvangt, gaat de auto achteruit.
op kantel rechts blok
In Invoerfuncties vind je het blok rechts kantelen. Dit blok wordt uitgevoerd wanneer u "zender" micro:bit naar rechts kantelt. In het blok kun je ook radio-zendstring "goRight" vinden die de radio-string "goRight" door de lucht zal sturen wanneer "zender" micro:bit naar rechts wordt gekanteld. Wanneer "receiver" micro:bit deze string ontvangt, zal de auto rechts afslaan.
op tilt linker blok
In Invoerfuncties vind je het blok links kantelen. Dit blok wordt uitgevoerd wanneer u "zender" micro:bit naar links kantelt. In het blok kun je ook radio-zendstring "goLeft" vinden die de radio-string "goLeft" door de lucht zal sturen wanneer "zender" micro:bit naar links wordt gekanteld. Wanneer "ontvanger" micro:bit deze string ontvangt, zal de auto naar links draaien.
Stap 3: Servo-extensie toevoegen
Servo-extensie
Bevat uw MakeCode-editor de servo-extensie? Open de editor en controleer of het de Servos-extensie in het linkermenu bevat. We zullen het gebruiken in het voorbeeldbestand Receiver.hex. Deze servo-uitbreiding wordt gebruikt voor het kalibreren van de stuurhoek. Als u de Servo-extensie niet kunt vinden, klikt u op Extensies onder aan het menu. Klik op Servo-extensie en voeg deze toe aan het menu.
Stap 4: Reviewer Receiver.hex-voorbeeldbestand (deel 1)
Ontvanger.hex
Nu zullen we het voorbeeldbestand Receiver.hex onderzoeken. Open de MakeCode-editor en klik op de knop Importeren. Open het bestand Receiver.hex dat u naar "receiver" micro:bit hebt gekopieerd.
op startblok
Dit blok wordt in eerste instantie meteen aangeroepen als "receiver" micro:bit is ingeschakeld. In Radiofuncties vind je de blokradiosetgroep en is bijvoorbeeld 1 ingesteld. Dit nummer moet hetzelfde zijn voor "zender" micro:bit en "ontvanger" micro:bit, zodat ze aan elkaar kunnen worden gekoppeld voor communicatie.
Vanuit de functie-extensie wordt een functiestuurblok gemaakt. Sleep het oproepstuurblok naar binnen op het startblok. Het zal functiebesturing aanroepen om de besturing van uw auto recht te trekken.
functie stuurblok
De besturing van een auto is standaard niet altijd recht vooruit vanwege de servo. Als je de auto van bovenaf bekijkt, kan de besturing een beetje naar rechts of links zijn. Dit functiestuurblok wordt gebruikt om de servohoek naar zijn middenstand te kalibreren, zodat de besturing van de auto recht wordt afgesteld.
Laten we aannemen dat de servo is bevestigd aan P2-pin op de motorcontroller. Laten we configureren dat de servo van 0 tot 180 graden zwaait en dat de centrale hoek 90 graden is.
In Functie-uitbreiding is een functiestuurblok gemaakt. Maak in de uitbreiding Variabelen een nieuw variabel centrum voor het kalibreren van de stuurservo. Gebruik de wiskundige functie om haakjes 90 + 0 te maken. Sleep het midden naar het 90 + 0-blok in het functiestuurblok.
Van Servo-extensie, slepen en neerzetten servo P2-bereik instellen van 0 tot 180. Zorg ervoor dat u P2-pin kiest en het rotatiebereik van 0 tot 180 graden.
Sleep vanuit de servo-extensie de servo P2-hoek naar het midden. Zorg ervoor dat u de hoek instelt op het variabele midden.
Bekijk uw auto van bovenaf. Hoe ziet het eruit?
Als de besturing een beetje naar links is, zet u het midden op 90-5 voor een afwijking van -5 graden naar rechts.
Als de besturing een beetje naar rechts is, stel dan het midden in op 90 + 5 voor een afwijking van +5 graden naar links.
(Doorgaan naar de volgende stap)
Stap 5: Receiver.hex-voorbeeldbestand bekijken (deel 2)
Ontvanger.hex (vervolg)
Hoe kunnen we richting en snelheid bepalen? De auto heeft een micro-reductiemotor M1 op het linker achterwiel en M2 op het rechter achterwiel.
functie goForward blok
Linker achterwiel M1 motor
P13 pin wordt gebruikt voor richting. Sleep vanuit de Pins-extensie de digitale schrijfpin P13 naar 0 zodat M1 vooruit gaat.
P12-pin wordt gebruikt voor snelheid (max. snelheid is 1023). Sleep vanuit de Pins-extensie analoge schrijfpin P12 naar 1023 zodat M1 op maximale snelheid werkt.
Rechter achterwiel M2 motor
P15-pin wordt gebruikt voor richting. Sleep vanuit de Pins-extensie de digitale schrijfpin P15 naar 0 zodat M2 vooruit gaat.
P14-pin wordt gebruikt voor snelheid (max. snelheid is 1023). Sleep vanuit de Pins-extensie analoge schrijfpin P14 naar 1023 zodat M2 op maximale snelheid werkt.
Sleep vanuit de basisextensie pauze (ms) 1000 blok om de auto 1000 milliseconden vooruit te laten rijden en voer de oproepstopfunctie uit om de auto veilig te stoppen.
functie goBackward blok
Linker achterwiel M1 motor
P12-pin wordt gebruikt voor richting. Sleep vanuit de Pins-extensie de digitale schrijfpin P12 naar 0 zodat M1 achteruit gaat.
P13-pin wordt gebruikt voor snelheid (max. snelheid is 1023). Sleep vanuit de Pins-extensie analoge schrijfpin P13 naar 1023 zodat M1 op maximale snelheid werkt.
Rechter achterwiel M2 motor
P14-pin wordt gebruikt voor richting. Sleep vanuit de Pins-extensie de digitale schrijfpin P14 naar 0 zodat M2 achteruit gaat.
P15-pin wordt gebruikt voor snelheid (max. snelheid is 1023). Sleep vanuit de Pins-extensie analoge schrijfpin P15 naar 1023 zodat M2 op maximale snelheid werkt.
Versleep pauze (ms) 1000 blok vanuit de basisextensie en zet deze neer om de auto 1000 milliseconden (1 seconde) achteruit te laten rijden en voer de oproepstopfunctie uit om de auto veilig te stoppen.
functie stop blok
Linker achterwiel M1 motor
P13 pin wordt gebruikt voor richting. Sleep vanuit de Pins-extensie de digitale schrijfpin P13 naar 0, zodat M1 is ingesteld op voorwaartse richting.
P12-pin wordt gebruikt voor snelheid (0 betekent geen snelheid). Sleep vanuit de Pins-extensie analoge schrijfpin P12 naar 0 zodat M1 stopt.
Rechter achterwiel M2 motor
P15-pin wordt gebruikt voor richting. Sleep vanuit de Pins-extensie de digitale schrijfpin P15 naar 0, zodat M2 is ingesteld op voorwaartse richting.
P14-pin wordt gebruikt voor snelheid (0 betekent geen snelheid). Sleep vanuit de Pins-extensie de analoge schrijfpin P14 naar 0 zodat M2 stopt.
Sleep vanuit de functie-extensie het oproepstuurblok om de besturing van de auto recht te trekken.
(Doorgaan naar de volgende stap)
Stap 6: Receiver.hex-voorbeeldbestand bekijken (deel 3)
Ontvanger.hex (vervolg)
Wanneer "ontvanger" micro:bit de radioreeks ontvangt die door "zender" micro:bit via de ether wordt verzonden, hoe kan het voorbeeldbestand Receiver.hex dit dan uitzoeken en de relevante functie oproepen om de auto te besturen?
op radio ontvangen ontvangenString blok
Haal dit blok uit de Radio-extensie en het zal een actie activeren die in dit blok is gedefinieerd wanneer er een nieuwe radioreeks is aangekomen bij "ontvanger" micro:bit.
als dan blokkeren
Haal dit blok uit de Logic-extensie en het sorteert acties afhankelijk van de ontvangen string.
Als de ontvangen string "goForward" is, roept het blok de goForward-functie aan.
Als de ontvangen string "goBackward" is, roept het blok de goBackward-functie aan.
Als de ontvangen string "goRight" is, stel dan de hoek van de stuurservo in op -10 graden naar rechts en het blok zal de goForward-functie aanroepen.
Als de ontvangen string "goLeft" is, stel dan de hoek van de stuurservo in op +10 graden naar links en het blok roept de goForward-functie op.
De voorbeeldbestanden die in deze zelfstudie worden uitgelegd, zijn erg eenvoudig en u kunt de code naar uw eigen smaak aanpassen. Veel plezier!
Aanbevolen:
Een GoPro Hero 4 besturen met een RC-zender: 4 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een GoPro Hero 4 besturen met een RC-zender: Het doel van dit project is om een GoPro Hero 4 op afstand te kunnen bedienen via een RC-zender. Deze methode gaat gebruik maken van de GoPro's ingebouwde Wifi & HTTP API voor het besturen van het apparaat & is geïnspireerd op PROTOTYPE: KLEINSTE EN GOEDKOOPSTE
Hoe de GPIO-pinnen en Avrdude van een Raspberry Pi te gebruiken om DIMP 2 of DA PIMP te Bit-bang-programma te gebruiken 2: 9 stappen
Hoe de GPIO-pinnen van een Raspberry Pi en Avrdude te gebruiken voor Bit-bang-programma DIMP 2 of DA PIMP 2: Dit zijn stapsgewijze instructies voor het gebruik van een Raspberry Pi en het gratis open-source commando avrdude to bit-bang -programmeer een DIMP 2 of DA PIMP 2. Ik neem aan dat je bekend bent met je Raspberry Pi en de LINUX-opdrachtregel. Je hoeft niet
Een stappenmotor besturen met een potentiometer: 5 stappen
Hoe u een stappenmotor bestuurt met een potentiometer. In deze instructable laat ik u zien hoe u de positie van een stappenmotor kunt regelen met behulp van een potentiometer. Dus laten we beginnen
Een relais besturen met een Arduino: 9 stappen
Een relais besturen met een Arduino: Hallo allemaal, welkom terug op mijn kanaal. Dit is mijn 4e tutorial over het aansturen van een RELAY (geen relaismodule) met een Arduino. Er zijn honderden tutorials beschikbaar over het gebruik van een "relaismodule" maar ik kon geen goede vinden die s
DIY MusiLED, muziek gesynchroniseerde LED's met Windows- en Linux-toepassing met één klik (32-bits en 64-bits). Eenvoudig opnieuw te maken, gemakkelijk te gebruiken, gemakkelijk te porten: 3 stappen
DIY MusiLED, muziek gesynchroniseerde LED's met Windows- en Linux-toepassing met één klik (32-bits en 64-bits). Eenvoudig te recreëren, gemakkelijk te gebruiken, gemakkelijk te poorten: dit project helpt je om 18 LED's (6 rood + 6 blauw + 6 geel) op je Arduino-bord aan te sluiten en de realtime signalen van de geluidskaart van je computer te analyseren en door te sturen naar de LED's om ze op te lichten volgens de beat-effecten (Snare, High Hat, Kick)