Inhoudsopgave:

[2020] Twee (x2) Micro:bits gebruiken om een RC-auto te besturen - Ajarnpa
[2020] Twee (x2) Micro:bits gebruiken om een RC-auto te besturen - Ajarnpa

Video: [2020] Twee (x2) Micro:bits gebruiken om een RC-auto te besturen - Ajarnpa

Video: [2020] Twee (x2) Micro:bits gebruiken om een RC-auto te besturen - Ajarnpa
Video: ТАКОВ МОЙ ПУТЬ В L4D2 2024, Juni-
Anonim
[2020] Twee (x2) Micro:bits gebruiken om een RC-auto te besturen
[2020] Twee (x2) Micro:bits gebruiken om een RC-auto te besturen

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

Voorbeeldbestanden kopiëren naar Micro:Bits
Voorbeeldbestanden kopiëren naar Micro:Bits
Voorbeeldbestanden kopiëren naar Micro:Bits
Voorbeeldbestanden kopiëren naar Micro:Bits
Voorbeeldbestanden kopiëren naar Micro:Bits
Voorbeeldbestanden kopiëren naar Micro:Bits
Voorbeeldbestanden kopiëren naar Micro:Bits
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

Transmitter.hex-voorbeeldbestand bekijken
Transmitter.hex-voorbeeldbestand bekijken
Transmitter.hex-voorbeeldbestand bekijken
Transmitter.hex-voorbeeldbestand bekijken
Transmitter.hex-voorbeeldbestand bekijken
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 toevoegen
Servo-extensie toevoegen
Servo-extensie toevoegen
Servo-extensie toevoegen
Servo-extensie toevoegen
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)

Recensie van Receiver.hex-voorbeeldbestand (deel 1)
Recensie van Receiver.hex-voorbeeldbestand (deel 1)
Revisie van Receiver.hex-voorbeeldbestand (deel 1)
Revisie van Receiver.hex-voorbeeldbestand (deel 1)
Revisie van Receiver.hex-voorbeeldbestand (deel 1)
Revisie van Receiver.hex-voorbeeldbestand (deel 1)
Recensie van Receiver.hex-voorbeeldbestand (deel 1)
Recensie van 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)

Revisie van Receiver.hex-voorbeeldbestand (deel 2)
Revisie van Receiver.hex-voorbeeldbestand (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)

Revisie van Receiver.hex-voorbeeldbestand (deel 3)
Revisie van Receiver.hex-voorbeeldbestand (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: