Inhoudsopgave:
- Benodigdheden
- Stap 1: Arduino Nano
- Stap 2: Ploegenregisters
- Stap 3: LDR (lichtdetectieweerstand)
- Stap 4: Temperatuursensoren
- Stap 5: Ping-sensoren
- Stap 6: Motoraansluiting
- Stap 7: Servoverbinding
- Stap 8: GPS-module
- Stap 9: Seriële communicatie
- Stap 10: Voorbeeld bordconfiguratie
- Stap 11: Voorbeeld
Video: Rover-One: een RC-truck/auto een brein geven: 11 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Dit Instructable is op een PCB die ik heb ontworpen genaamd Rover-One. Rover-One is een oplossing die ik heb ontworpen om een speelgoed RC auto/vrachtwagen te nemen en het een brein te geven dat componenten bevat om zijn omgeving te voelen. Rover-One is een printplaat van 100 mm x 100 mm ontworpen in EasyEDA en werd verzonden voor professioneel printen van printplaten bij JLCPCB.
Rover-One:
Deze gids illustreert de geselecteerde onderdelen en bronbestanden die u zelf kunt maken.
Oorsprong:
Ik ben altijd gefascineerd geweest door NASA en de Marsrovers. Als kind droomde ik ervan om mijn eigen rover te bouwen, maar mijn vaardigheden waren beperkt tot het halen van motoren uit kapotte RC-auto's. Nu, als volwassene met mijn eigen kinderen, werk ik graag met hen samen om hen te leren over programmeren en elektronica. Ik heb met mijn kinderen een paar gevechtsrobots gebouwd waarbij de carrosserie van de RC-auto werd vervangen door een die we van DollarTree-schuimplaat hadden gemaakt, en ijslollystokjes als wapens geslepen. Om het naar een hoger niveau te tillen voor programmeren, was het doel om een RC-auto te nemen en deze met minimale aanpassingen een brein te geven. Na vele uren sleutelen aan breadboards, en plassen soldeer op proto-board, was het Rover-One board geboren. Het mengen van DollarTree foamboard en elektronica werd mijn methode voor allerlei creaties, dus bedacht ik de naam FoamTronix.
Doel van Rover-One bord:
Het belangrijkste doel van dit bord is om te leren over het detecteren van componenten en de programmering die nodig is om te communiceren tussen de componenten en de Arduino nano om de RC-auto te besturen. Dit bord is gebaseerd op processen die ik in de loop der jaren heb geleerd op verschillende sensoren, schuifregisters en andere IC's om een motor aan te drijven.
Schematisch:
easyeda.com/weshays/rover-one
Benodigdheden
- 2x 1uF condensator
- 1x 470uF condensator
- 16x 220 Ohm weerstand
- 1x 100K Ohm weerstand
- 2x 4.7K Ohm weerstand
- 2x DS182B20 (temperatuursensor)
- 1x LDR (lichtafhankelijke weerstand)
- 2x 74HC595 (Schuifregister IC)
- 1x L9110H (Motorstuurprogramma IC)
- 4x HC-SR04 (ultrasone afstandssensor)
- 19x 2,54 2P schroefklemmen
- 4x 2,54 3P schroefklemmen
- 1x Arduino Nano
- 1x 9 gram servo (gebruikt om de auto/vrachtwagen te draaien)
- 1x DC-motor (op de RC-auto / vrachtwagen)
- 1x Adafruit GPS Breakout V3-bord
Optionele benodigdheden:
- Mannelijke koppennen
- Vrouwelijke koppennen
Stap 1: Arduino Nano
De Arduino Nano is het brein van het bord. Het zal worden gebruikt om de invoer van de verschillende sensoren (Ping, Temperatuur, Licht) en de uitvoer naar de motor, servo, schuifregisters en seriële communicatie te beheren. De Arduino wordt gevoed via de 5v externe voedingsconnector.
Sectie Onderdelen:
1x Arduino Nano
Stap 2: Ploegenregisters
De schuifregisters worden gebruikt om meer uitgangen te geven. Er zijn twee Serial-In Parallel-Out schuifregisters die in serie zijn geschakeld. Slechts 3 pinnen van de Arduino Nano worden gebruikt om alle 16 uitgangen aan te sturen.
De condensatoren worden gebruikt voor eventuele stroompieken die de chips nodig hebben.
De schroefklemmen worden gebruikt om het aansluiten van verschillende soorten draad gemakkelijk te maken.
Een voorbeeld van de LED's zou zijn:
- 2 witte LED's (voor koplampen)
- 2 rode LED's (voor remlichten)
- 4 gele LED's (voor knipperlichten - twee aan de voorkant en twee aan de achterkant)
- 8 afgeleide LED's, of 4 rode en 4 blauwe LED's voor politielichten.
Sectie Onderdelen:
- 2x 1uF condensator
- 16x 220 Ohm weerstand
- 2x 74HC595 (Schuifregister IC)
- 16x 2,54 2P schroefklemmen
Stap 3: LDR (lichtdetectieweerstand)
De LDR, Light Detecting Resistor, wordt samen met een weerstand als spanningsdeler gebruikt om het licht te meten.
Afhankelijk van hoe het bord wordt gebruikt, kan de LDR rechtstreeks op het bord worden bevestigd of kunnen er andere koppennen worden gemonteerd.
Sectie Onderdelen:
- 1x LDR (lichtafhankelijke weerstand)
- 1x 100K Ohm weerstand
Stap 4: Temperatuursensoren
Er zijn twee temperatuursensoren. De ene is ontworpen om rechtstreeks op het bord te worden gemonteerd en de andere is bedoeld om via schroefklemmen te worden aangesloten om de temperatuur op een andere locatie te meten.
Andere gebieden om de temperatuur te meten zijn:
- op de motor
- Bij de batterij
- Op de RC-body
- Buiten de RC-body
Sectie Onderdelen:
- 2x DS182B20 (temperatuursensor)
- 2x 4.7K Ohm weerstanden
- 1x 2,54 3P schroefklemmen
Stap 5: Ping-sensoren
Er zijn 4 HC-SR04 ping-sensoren. Het bord is zo ingesteld dat de echo- en trigger-pinnen met elkaar kunnen worden verbonden met behulp van de NewPing-bibliotheek. De pinnen kunnen aan elkaar worden gesoldeerd of bedraad op de HC-SR04, of draden van de echo- en triggerpinnen gaan naar dezelfde aansluitpinnen.
Ideeën om de afstand te meten, zijn om 3 van de ping-sensoren onder verschillende hoeken voor de RC-auto te plaatsen en één aan de achterkant om een back-up te maken. Nieuwe Ping-bibliotheek:
https://bitbucket.org/teckel12/arduino-new-ping/wi…
Sectie Onderdelen:
- 4x HC-SR04 (ultrasone afstandssensor)
- 4x 2,54 3P schroefklemmen
Stap 6: Motoraansluiting
De DC-motorstuurprogramma L911H IC-chip wordt gebruikt om de RC-auto vooruit en achteruit te besturen. Deze chip schakelt in feite de plus / min-draden op de DC-motor voor u. Deze chip heeft een brede voedingsspanning van 2,5v tot 12v bij gebruik bij temperaturen van 0°C tot 80°C - daarom zit de temperatuursensor ernaast (de temperatuursensor meet -55°C tot 125 °C). De chip heeft ook een ingebouwde klemdiode, deze is dus niet nodig bij het aansluiten van een gelijkstroommotor.
Eén terminalaansluiting is voor de motor en de andere is voor een externe stroombron voor de batterij. Het motor- en stroomverbruik zou te veel zijn voor de Arduino, dus een andere stroombron is nodig.
Sectie Onderdelen:
- 1x L9110H (Motorstuurprogramma IC)
- 2x 2,54 2P schroefklemmen
Stap 7: Servoverbinding
De servo wordt gebruikt om het draaien van de RC-auto te regelen. De meeste speelgoed RC-auto's worden geleverd met een andere motor die wordt gebruikt om te draaien. Het vervangen van de draaiende motor voor een servo is de enige wijziging die ik uiteindelijk aan het frame van de RC-auto aanbreng.
De condensator wordt gebruikt voor eventuele stroompieken die de servo nodig heeft.
Sectie Onderdelen:
- 1x 9 gram servo (gebruikt om de auto/vrachtwagen te draaien)
- 1x 470uF condensator
- Mannelijke koppennen voor het aansluiten van de servo
Stap 8: GPS-module
De Adafruit GPS-module is geweldig om de positie te zien en te volgen waar de auto naartoe gaat. Deze module geeft u niet alleen de GPS-positie, maar u krijgt ook:
- Positienauwkeurigheid binnen 3m
- Snelheidsnauwkeurigheid binnen 0,1 m/s (Maximale snelheid: 515 m/s)
- "Enable" pin om het aan/uit te zetten
- Flash om gegevens op te slaan 16 uur aan gegevens
- RTC (Real Time Clock) om de tijd te krijgen
Adafruit GPS-bibliotheek:
https://github.com/adafruit/Adafruit_GPS
Sectie Onderdelen:
1x Adafruit GPS Breakout V3-bord
Stap 9: Seriële communicatie
De seriële verbinding is voor de Arduino om te communiceren met andere externe bronnen.
Sectie Onderdelen:
1x 2,54 2P schroefklemmen
Stap 10: Voorbeeld bordconfiguratie
Ik heb veel boards besteld, en een ervan heb ik ingesteld om alleen te testen.
Stap 11: Voorbeeld
Bijgevoegd zijn afbeeldingen van mijn setup. Ik nam een gloednieuwe RC-auto, haalde hem uit elkaar, maakte een carrosserie van DollarTree-schuimplaat en gaf hem een brein.
Aanbevolen:
Een LED RF-afstandsbediening een nieuwe bestemming geven om "alles" te bedienen! - Ajarnpa
Een LED RF-afstandsbediening een nieuwe bestemming geven om "alles" te bedienen!: In dit project zal ik u laten zien hoe u een LED RF-afstandsbediening kunt hergebruiken om vrijwel alles te bedienen wat u ermee wilt. Dat betekent dat we het transmissieproces van de RF-afstandsbediening onder de loep zullen nemen, de verzonden data inlezen met een Arduino µC
Een Arduino programmeren Een andere Arduino gebruiken om een scrollende tekst weer te geven zonder een bibliotheek - Ajarnpa
Een Arduino programmeren Een andere Arduino gebruiken om een scrollende tekst weer te geven zonder een bibliotheek: Sony Spresense of Arduino Uno zijn niet zo duur en vereisen niet veel stroom. Als uw project echter beperkingen heeft op het gebied van stroom, ruimte of zelfs budget, kunt u overwegen om Arduino Pro Mini te gebruiken. In tegenstelling tot Arduino Pro Micro, is Arduino Pro Mi
Hoe de Samsung Galaxy S7 met Android 8.0 in te stellen om alleen het scherm voor één app weer te geven !!: 5 stappen
Hoe de Samsung Galaxy S7 met Android 8.0 in te stellen om alleen het scherm voor één app weer te geven !!: Deze Instructable laat u zien hoe u uw Samsung Galaxy S7 kunt instellen om het scherm voor slechts één app weer te geven Dit is geweldig als u een baby / kind hebt die graag met je telefoon speelt of ervoor wil zorgen dat je telefoon alleen in één app blijft als iemand anders
Ard-e: de robot met een Arduino als brein - Ajarnpa
Ard-e: de robot met een Arduino als brein: hoe maak je een open source Arduino-gestuurde robot voor minder dan $ 100. Hopelijk kun je na het lezen van deze instructable je eerste stap in robotica zetten. Ard-e kost ongeveer $ 90 tot $ 130, afhankelijk van hoeveel extra elektronica je hebt
Gebruik SSH en XMing om X-programma's van een Linux-computer op een Windows-computer weer te geven: 6 stappen
Gebruik SSH en XMing om X-programma's weer te geven vanaf een Linux-computer op een Windows-computer: Als u Linux op het werk en Windows thuis gebruikt, of vice versa, moet u mogelijk soms inloggen op de computer op uw andere locatie , en programma's uitvoeren. Welnu, u kunt een X-server installeren en SSH-tunneling inschakelen met uw SSH-client, en één