Inhoudsopgave:

IoT RC-auto met slimme lampafstandsbediening of gateway - Ajarnpa
IoT RC-auto met slimme lampafstandsbediening of gateway - Ajarnpa

Video: IoT RC-auto met slimme lampafstandsbediening of gateway - Ajarnpa

Video: IoT RC-auto met slimme lampafstandsbediening of gateway - Ajarnpa
Video: Slimme lampen van Lidl: moet Philips Hue effe dimmen? 2024, Juli-
Anonim
Image
Image
IoT RC-auto met slimme lampafstandsbediening of gateway
IoT RC-auto met slimme lampafstandsbediening of gateway
IoT RC-auto met slimme lampafstandsbediening of gateway
IoT RC-auto met slimme lampafstandsbediening of gateway

Voor een niet-gerelateerd project had ik wat Arduino-code geschreven om te praten met de MiLight slimme lampen en lampafstandsbedieningen die ik in mijn huis heb.

Nadat ik erin was geslaagd om commando's van de draadloze afstandsbedieningen te onderscheppen, besloot ik een kleine RC-auto te maken om de code te testen. Het blijkt dat de 2,4 GHz-afstandsbedieningen die in deze lampen worden gebruikt een 360-aanraakring hebben voor het selecteren van tinten en het werkt verrassend goed voor het besturen van een RC-auto!

Bovendien kunt u met behulp van de MiLight-gateway of de ESP8266 MiLight-hub de auto bedienen vanaf een smartphone of elk apparaat met internetverbinding!

Stap 1: De oorsprong van dit project

Dit project is gebaseerd op een lijn draadloze slimme lampen die een paar jaar geleden op de markt kwam. Ze werden aanvankelijk verkocht als LimitlessLED, maar zijn sindsdien verkrijgbaar onder alternatieve namen, zoals EasyBulb of MiLight.

Hoewel deze lampen vaak worden verkocht als compatibel met wifi, hebben ze geen wifi-mogelijkheden en vertrouwen ze in plaats daarvan op een gateway die opdrachten opneemt die via wifi worden verzonden en deze vertaalt in een eigen 2,4 GHz draadloos protocol. Als u een gateway krijgt, kunnen de lampen worden bediend vanaf een smartphone-app, maar als u dat niet doet, kunt u deze lampen nog steeds bedienen met behulp van zelfstandige draadloze afstandsbedieningen.

Deze lampen en de afstandsbedieningen zijn eigendom van het bedrijf, maar er zijn pogingen gedaan om de protocollen te reverse-engineeren en open source-alternatieven voor de WiFi-gateway te bouwen. Dit zorgt voor een aantal interessante mogelijkheden, zoals het gebruik van de afstandsbedieningen voor uw eigen Arduino-projecten, zoals gedemonstreerd in deze Instructable.

Stap 2: De juiste afstandsbediening verkrijgen

De juiste afstandsbediening krijgen
De juiste afstandsbediening krijgen

De MiLight-lampen en afstandsbedieningen waren nooit bedoeld om open te staan en daarom is er geen officiële documentatie over de protocollen. Er zijn verschillende generaties van de lampen geweest en ze zijn zeker niet uitwisselbaar.

Dit project maakt gebruik van de afstandsbediening voor een van de vier soorten lampen die beschikbaar zijn en als u weet hoe u de typen visueel kunt onderscheiden, kunt u de juiste afstandsbediening kopen. De vier soorten zijn:

  • RGB: deze lampen hebben een regelbare tint en helderheid; de afstandsbediening heeft een kleurenwiel en drie witte schakelknoppen.
  • RGBW: Deze lampen geven je de keuze tussen een tint en een enkele tint wit; de afstandsbediening heeft een kleurenwiel, een schuifregelaar voor helderheid, drie gele effectknoppen en vier gele groepsschakelknoppen.
  • CCT: Deze lampen zijn alleen wit licht, maar u kunt ze variëren van warm wit tot koel wit; de afstandsbediening heeft een zwarte bedieningsring en witte drukknoppen.
  • RGB+CCT: Lampen kunnen kleuren weergeven en variëren van warm wit tot koel wit; de afstandsbediening is de meest onoverzichtelijke van de vier en kan worden onderscheiden door een schuifregelaar voor de kleurtemperatuur, enkele vreemde halvemaanvormige knoppen en een blauwe lichtbalk rond de randen.

Dit project is gemaakt met de RGBW-afstandsbediening en werkt alleen met die afstandsbediening. Als je dit project zelf wilt maken, zorg er dan voor dat je de juiste afstandsbediening koopt, want ze zijn absoluut niet uitwisselbaar*

DISCLAIMER: *Ik kan ook niet absoluut garanderen dat dit project voor u zal werken. Het is mogelijk dat de MiLight-mensen het protocol dat in de RGBW-afstandsbediening wordt gebruikt, hebben gewijzigd sinds ik mijn eigen afstandsbediening enkele jaren geleden kocht. Aangezien dit onverenigbaarheden tussen hun producten zou veroorzaken, vermoed ik dat het onwaarschijnlijk is, maar het risico is er.

Stap 3: Gebruik met een WiFi-gateway en smartphone

Gebruik met een WiFi-gateway en smartphone
Gebruik met een WiFi-gateway en smartphone
Gebruik met een WiFi-gateway en smartphone
Gebruik met een WiFi-gateway en smartphone

Als je een MiLight WiFi-gateway hebt, een officiële, of de DIY ESP8266 MiLight Hub, dan kun je de auto ook bedienen met de MiLight-smartphone-app op een telefoon of tablet.

Hoewel het radioprotocol dat door MiLight-lampen wordt gebruikt niet WiFi-compatibel is, werkt de hub als een brug tussen een WiFi-netwerk en het MiLight-netwerk. De RC-buggy gedraagt zich als een lamp, dus het toevoegen van de brug opent de interessante mogelijkheid om de RC-buggy vanaf een smartphone of vanaf een pc via UDP-pakketten te bedienen.

Stap 4: Andere componenten

Overige onderdelen
Overige onderdelen

Drie van de componenten kwamen uit de SparkFun Inventor's Kit v4.0, waaronder:

  • Hobby Gearmotor - 140 RPM (paar)
  • Wiel - 65 mm (rubberband, paar)
  • Ultrasone afstandssensor - HC-SR04

De afstandssensor wordt niet gebruikt in mijn code, maar ik heb hem op mijn buggy geplaatst omdat hij er best cool uitziet als nepkoplampen, en ik dacht dat ik hem later misschien zou gebruiken om wat botsingspreventiemogelijkheden toe te voegen.

De andere componenten zijn:

  • Ball Caster Omni-directioneel metaal
  • Een Arduino Nano
  • Arduino Nano radioschild RFM69/95 of NRF24L01+
  • Een L9110-motordriver van eBay
  • Man-vrouw startkabels

Je hebt ook een 4 AA-batterijhouder en batterijen nodig. Mijn foto's tonen een 3D-geprinte batterijhouder, maar je moet de veerklemmen apart kopen en het is waarschijnlijk niet de moeite waard!

Je hebt ook een 3D-printer nodig om het chassis te printen (of je kunt het van hout maken, het is niet te ingewikkeld).

Een woord van waarschuwing:

Ik gebruikte een goedkope Arduino Nano-kloon en ontdekte dat deze erg heet werd als de auto voor een langere tijd werd gebruikt. Ik vermoed dat dit komt omdat de 5V-regelaar op de goedkope kloon ondergewaardeerd is en niet de stroom kan leveren die nodig is voor de draadloze radio. Ik heb gemeten dat de Arduino en radio slechts 30mA verbruiken, wat ruimschoots binnen de specificaties voor de spanningsregelaar op een echte Arduino Nano valt. Dus als je de klonen vermijdt, vermoed ik dat je geen probleem zult hebben (laat het me weten in de reacties als je iets anders vindt!).

Stap 5: De Arduino en afstandsbediening testen

De Arduino en de afstandsbediening testen
De Arduino en de afstandsbediening testen
De Arduino en de afstandsbediening testen
De Arduino en de afstandsbediening testen

Voordat u de RC-buggy in elkaar zet, is het een goed idee om te controleren of de afstandsbediening via de radiomodule met de Arduino kan praten.

Begin met het stapelen van de Arduino Nano bovenop het RF-schild. Als de USB-connector aan de bovenkant naar links is gericht, moet de draadloze printplaat aan de onderkant naar rechts wijzen.

Sluit nu de Arduino Nano aan op uw computer met behulp van een USB-kabel en upload de schets die ik in het zipbestand heb opgenomen. Open de seriële monitor en druk op een knop op de afstandsbediening. Het lampje op de afstandsbediening moet gaan branden (zo niet, controleer dan de batterijen).

Als alles goed gaat, zou u elke keer dat u op een knop drukt, enkele berichten in het terminalvenster moeten zien. Ga met uw vinger over het kleurenwiel en observeer de veranderende waarden van "Hue". Dit is wat het voertuig zal sturen!

Zorg ervoor dat deze stap werkt, want anders heeft het geen zin om verder te gaan!

Stap 6: Het chassis afdrukken en monteren

Het chassis afdrukken en monteren
Het chassis afdrukken en monteren

Ik heb de STL-bestanden voor de 3D-geprinte onderdelen bijgevoegd. Voor de CAD-bestanden kunt u hier kijken. Er zijn drie delen, een linker en rechter motorsteun en het chassis.

De linker en rechter motorbeugels kunnen met houtschroeven aan de motoren worden bevestigd. Vervolgens worden de motorbeugels aan het chassis bevestigd met behulp van M3-bouten en -bouten (of lijm, als je dat liever hebt). Het zwenkwiel wordt met vier schroeven en bouten aan de voorkant van het chassis bevestigd.

Stap 7: De elektronica toevoegen

De elektronica toevoegen
De elektronica toevoegen
De elektronica toevoegen
De elektronica toevoegen

Bout de stepper driver op het chassis en bevestig de draden van de motoren aan de schroef in terminals op de driver. Ik heb de volgende bedrading gebruikt:

  • Linkermotor rood: OB2
  • Motor links zwart: OA2
  • Rechter motor rood: OB1
  • Motor rechts zwart: OA1

Voer de stroom van de positieve kant van de batterijen naar de Vcc op de stepper-driver-PCB en Vin op de Arduino. Voer de negatieve kant van de batterijen naar de GND op de GND op de Arduino. U moet hiervoor een Y-kabel solderen.

Voltooi ten slotte de elektronica door jumperdraden te gebruiken om de volgende pinnen op de Arduino aan te sluiten op de stappenmotordriver:

  • Arduino pin 5 -> Stepper Driver IB1
  • Arduino pin 6 -> Stepper Driver IB2
  • Arduino pin A1 -> Stepper Driver IA1
  • Arduino pin A2 -> Stepper Driver IA2

Stap 8: de robot testen

Druk nu op de knoppen en kijk of de robot beweegt! Als de motoren omgekeerd lijken, kun je de bedrading op de robot aanpassen, of je kunt eenvoudig de volgende regels in de Arduino-schets bewerken:

L9110 links (IB2, IA2);L9110 rechts (IA1, IB1);

Als de linker- en rechtermotor verwisseld moeten worden, verwissel dan de nummers tussen haakjes als volgt:

L9110 links (IB1, IA1);L9110 rechts (IA2, IB2);

Om alleen de richting van de linkermotor om te keren, verwisselt u de letters tussen haakjes voor de linkermotor, als volgt:

L9110 links (IA2, IB2);

Om de richting van de rechtermotor om te keren, verwisselt u de letters tussen haakjes voor de rechtermotor, als volgt:

L9110 rechts (IB1, IA1);

Dat is alles! Veel succes en veel plezier!

Aanbevolen: