Autonome/RC menselijk Bot (3 / 4 stap)

Stap 3: elektronica


De elektronica die ik wilde gebruiken zijn allemaal van Parallax. Ik gebruik 2 basic stamp usb Onderwijsraad microcontrollers. Een is een Basic Stamp bs2 en andere is een high performance stempel bs2PX. Ik ben ook met behulp van een propeller microcontroller in het lichaam is. Er is een Propeller servo controller, 24 LED-verlichting en vele andere sensor met inbegrip van een temp sensor, versnellingsmeter en bluetooth sensor enz.

Een BASIC Stamp is een single-board-computer waarop de Parallax PBASIC taal tolk in de microcontroller. De developer's code is opgeslagen in een EEPROM, die ook kan worden gebruikt voor gegevensopslag. De PBASIC taal heeft easy-to-use opdrachten voor fundamentele I/O, zoals apparaten draaien in- of uitschakelen, interfacing met sensoren, enz. Meer geavanceerde commando's laten de BASIC Stamp module interface met andere geïntegreerde schakelingen, met elkaar communiceren en werken in netwerken.

  • Beheersing van de servo's is een Parallax Propeller USB-servo controller die de armen opereert. U kunt maximaal 15 servo's op een bord. De basic stamp microcontroller bestuurt de servo-controller die alle functies mogelijk te maken.
  • De motoren worden aangestuurd vanaf 2 Parallax HB-25 motor controllers die ook worden bediend vanaf een ander Bs2 microcontroller.
  • Ik heb veel verschillende sensoren die ik gebruik om te nemen temperatuur lezingen, automatische koplampen met duisternis % en vele andere toepassingen werken.
  • De microcontrollers zijn de hersenen van deze machine en de mogelijkheden zijn eindeloos als het gaat om de dingen die je bent in staat om te doen met wat kennis en experimenten.

RC-MODUS:
Zo ver als het gebruik van een RC afstandsbediening om te rijden mijn robot, dit wordt gedaan met een 2.4GHzSpektrum DX5e systeem. De ontvanger is gemonteerd op de robot en de twee drive motor draden zijn aangesloten op de ontvanger. De HB-25 motorcontroller is liep op servo pulsen, zodat de meeste RC systemen zal samenwerken met enkele wijzigingen. Met deze technologie en mijn draadloze camera kan ik zitten in mijn huis en mijn robot rond het blok rijden en alles van mijn PC te bekijken. Zeer koele!

Dit is een code die ik schreef in de processor laden zodat deze robot zwerven rond autonoom. Het zwerft rond en wanneer het een object ontmoetingen met de ping-sensor die gebruikt om te worden gemonteerd waar de camera is het stopt en scant de omgeving voor een duidelijk pad dan hervat haar missie. Leren hoe te programmeren kost tijd maar zodra u het probeert u zal genieten en meer wilt weten. Dit gebeurt allemaal met de software van de fotoredacteur van de stempel van parallax.

Draden lopen vanaf ping op top 3 pins poort 13
Draden lopen vanaf servo op top 3 pins poort 14
Uitvoeren van draden van HB-25 op top 3 pins poort 15
HB-25 heeft een eigen krachtbron met een schakelaar.
jumper draden zijn liep uit een HB-25 naar de andere verbinding maken ze samen worden liep aan één servo pols.
' {$STAMP BS2}
' {$PBASIC 2.5}
'---[Object detectie en vermijden]---

' -----[ I/O Definitions ]-------------------------------------------------

PingServo PIN 14' PING))) Servo
Ping PIN 13' PING))) Sensor
HB25 PIN 15' i/o Pin voor HB-25

' -----[ Variables ]-------------------------------------------------------

pulseCount VAR Byte ' gebruikt voor het meten van draait
afstand VAR Word ' huidige afstand van Object
oldDistance VAR Word ' oude afstand waarde
VAR Word Counter ' PING))) cyclus teller
VAR Nib taak ' huidige taak
index VAR Word ' teller voor speedramp

' -----[ Initialization ]--------------------------------------------------

: Lus tot HB25 = 1' wachten voor HB-25 Power Up
LAGE HB25 ' i/o-Pin Output/laag maken
PAUZE 5' wachten voor HB-25 initialiseren
PULSOUT HB25, 750' Stop Motor 1
PAUZE 1 ' 1 mS vertraging
PULSOUT HB25, 750' Stop Motor 2

' -----[Main Code ]----------------------------------------------------

Hoofdpodium:
DOEN

Counter = counter + 1' Increment passieve teller

Als vervolgens bestrijden van > 10
GOSUB Ping_Out
ENDIF

IF (afstand > 40) vervolgens ' distace groter is dan 40 cm??
GOSUB Forward_Pulse
ANDERS
GOSUB Back_Up
GOSUB Ping_Around
ENDIF

LOOP

' -----[ Subroutines ]-----------------------------------------------------

Forward_Pulse:

VOOR index = 250 tot 250' oprit tot volle snelheid
PULSOUT HB25, 750 + index ' Motor 1 vooruit
PAUZE 1 ' 1 mS vertraging voor Motor 2 Pulse
PULSOUT HB25, 750 - index ' Motor 2 omkeren
PULSOUT PingServo, 750' Ping Servo voorwaartse Pulse waarde
PAUZE 20
VOLGENDE
TERUGKEER

' *************************************************************************

Turn_Left:
FOR pulseCount = 1 tot en met 35' links zetten, over 45 graden
PULSOUT HB25, 750 + index ' Motor 1 vooruit
PAUZE 1 ' 1 mS vertraging voor Motor 2 Pulse
PULSOUT HB25, 750 + index ' Motor 2 omkeren
PULSOUT PingServo, 750' Ping Servo voorwaartse Pulse waarde
PAUZE 20
VOLGENDE
TERUGKEER

' *************************************************************************

Turn_Right: "rechts draai, ongeveer 45 graden
FOR pulseCount = 1 tot 35' aantal pulsen To Turn
PULSOUT HB25, 750 - index ' Motor 1 vooruit
PAUZE 1 ' 1 mS vertraging voor Motor 2 Pulse
PULSOUT HB25, 750 - index ' Motor 2 omkeren
PULSOUT PingServo, 750' Ping Servo voorwaartse Pulse waarde
PAUZE 20
VOLGENDE
TERUGKEER

' *************************************************************************

Back_Up: ' Back-Up
FOR pulseCount = 0 tot 5' aantal pulsen naar back-up
PULSOUT HB25, 750' Motor 1 gestopt Fwd
PAUZE 1 ' 1 mS vertraging voor Motor 2 Pulse
PULSOUT HB25, 750' Motor 2 gestopt Rev

PULSOUT PingServo, 750' Ping Servo voorwaartse Pulse waarde
PAUZE 20
VOLGENDE
TERUGKEER

Ping_Out: ' PING)))
Counter = 0' Reset passieve vertraging teller
LAGE Ping ' dwingen PING))) lijn van Low
PULSOUT Ping, 5' activeren PING))) Pulse
Ping, 1, afstand PULSIN ' ontvangen terug Pulse
afstand = afstand ** 2257' berekenen afstand
TERUGKEER

Ping_Around: ' 180 graden Pan-Scan starten
Counter = 0' Reset passieve vertraging teller
oldDistance = 30' huidige oude afstand waarden
taak = 0' de prioriteit van de taak van de huidige

' *************************************************************************

FOR pulseCount = 0 tot 20' aantal pulsen te draaien
LAGE Ping ' dwingen PING))) lijn van Low
PULSOUT PingServo, 1085' Ping Servo 90 links Pulse waarde
PULSOUT Ping, 5' activeren PING)))
Ping, 1, afstand PULSIN ' ontvangen afstand waarde
PAUZE 20' vernieuwen vertraging
VOLGENDE

afstand = afstand ** 2257' afstand berekenen In cm
ALS afstand > oldDistance dan ' afstand > laatste duidelijk pad
oldDistance = afstand ' bijwerken van oldDistance waarde
taak = 1
ENDIF

' *************************************************************************

FOR pulseCount = 0 tot 20' aantal pulsen te draaien
LAGE Ping ' dwingen PING))) lijn van Low
PULSOUT PingServo, 850' Ping Servo 45 links Pulse waarde
PULSOUT Ping, 5' activeren PING)))
Ping, 1, afstand PULSIN ' ontvangen afstand waarde
PAUZE 20' vernieuwen vertraging
VOLGENDE

afstand = afstand ** 2257' afstand berekenen In cm
ALS afstand > oldDistance dan ' afstand > laatste duidelijk pad
oldDistance = afstand ' bijwerken van oldDistance waarde
taak = 2
ENDIF

' *************************************************************************

FOR pulseCount = 0 tot 20' aantal pulsen te draaien
LAGE Ping ' dwingen PING))) lijn van Low
PULSOUT PingServo, 400' Ping Servo 45 juiste Pulse waarde
PULSOUT Ping, 5' activeren PING)))
Ping, 1, afstand PULSIN ' ontvangen afstand waarde
PAUZE 20' vernieuwen vertraging
VOLGENDE

afstand = afstand ** 2257' afstand berekenen In cm
ALS afstand > oldDistance dan ' afstand > laatste duidelijk pad
oldDistance = afstand ' bijwerken van oldDistance waarde
taak = 3
ENDIF

' *************************************************************************

FOR pulseCount = 0 tot 20' aantal pulsen te draaien
LAGE Ping ' dwingen PING))) lijn van Low
PULSOUT PingServo, 225' Ping Servo 90 juiste Pulse waarde
PULSOUT Ping, 5' activeren PING)))
Ping, 1, afstand PULSIN ' ontvangen afstand waarde
PAUZE 20' vernieuwen vertraging
VOLGENDE

afstand = afstand ** 2257' afstand berekenen In cm
ALS afstand > oldDistance dan ' afstand > laatste duidelijk pad
oldDistance = afstand ' bijwerken van oldDistance waarde
taak = 4
ENDIF

ON taak GOSUB Task0, Task1, Task2, Taak3, Task4

afstand = 50' voorkomen Scan van Looping

TERUGKEER

Task0: ' naar voren Was duidelijkste pad
GOSUB Turn_Right ' dit smalle pad zou kunnen betekenen
GOSUB Turn_Right ' dus wij zal omdraaien
GOSUB Turn_Right ' kunt u het gedrag
GOSUB Turn_Right ' van een van de taken
TERUGKEER

Task1: "90 graden links Was duidelijkste
GOSUB Turn_Left
GOSUB Turn_Left
TERUGKEER

Task2: ' 45 graden links Was duidelijkste
GOSUB Turn_Left
TERUGKEER

Taak3: ' 45 graden rechts Was zo duidelijk
GOSUB Turn_Right
TERUGKEER

Task4: "90 graden naar rechts Was zo duidelijk
GOSUB Turn_Right
GOSUB Turn_Right
TERUGKEER

Gerelateerde Artikelen

Zuinig Halloween Decor How-To

Zuinig Halloween Decor How-To

Dit instructable zal u tonen hoe mke een magische apotheker-woonkamer.. .op een college student de begroting!  Dit misschien overbodig, gezien de wonderbaarlijk creatieve DIYers in het publiek, maar ik heb twee woorden voor je: Thrift Store.Weet je w
Skateboard Banjo

Skateboard Banjo

ik onlangs afgerond met het maken van een 5-snarige open-back old-time banjo van goedkope onderdelen met een nek gemaakt van oude gelaagd skate dekken.Ik ben een enthousiast deelnemer in het orkest van Nottingham Hackspace Ukulele en er zijn heel wat
How To Enter Instructables en robotwedstrijd Robolympics

How To Enter Instructables en robotwedstrijd Robolympics

Robots zijn nooit willen nemen over de hele wereld, als we niet krijgen van de bank af en maak ze zelf!Dat is waarom we hebben samen met de mensen vanRobolympics om u de Robotwedstrijd!Wil om te winnen een reis naar Robolympics 2009? Vertel ons hoe u
AUTONOME kunststof TRASH DISPOSALDRONE-de TRASH-BOT

AUTONOME kunststof TRASH DISPOSALDRONE-de TRASH-BOT

Om te bouwen eenautomatische Prullenbak robot met behulp van Arduino-microcontroller en speciale robotic technologieën die detecteert en verzamelt de kunststof voeders automatisch verwerken. Dit vermindert dus de eis van handmatige Goedkeuringvande p
Swarmscapers: Autonome mobiel 3D printen Robots

Swarmscapers: Autonome mobiel 3D printen Robots

Swarmscapers is een 2 maand lang onderzoeksproject uitgevoerd in de studio van Creatieve het platform Machines , onderwezen door Jason Kelly Johnson en Michael Shiloh aan het California College van de kunsten in de Digitale Craft Lab. Het is een same
Autonome Sumo Combat Robot met pneumatische Flipper - hoe te

Autonome Sumo Combat Robot met pneumatische Flipper - hoe te

deze Sumo Bot werd ontworpen, gebouwd, geprogrammeerd en getest gedurende een periode van 12 weken voor een van mijn laatste jaar engineering klassen. Het doel was te ontwerpen en bouwen van een lichtgewicht volledig autonoom sumo fighting robot voor
K-9 2.0. WiFi gecontroleerde en autonome Robot hond.

K-9 2.0. WiFi gecontroleerde en autonome Robot hond.

OPMERKING:In stap 22, heb ik gepost een update, verklaren sommige recente veranderingen/verbeteringen die ik, voornamelijk K-9 van elektrische systeem gemaakt heb en de sensor array, die u kunt nuttig vinden.FunctiesStevige houten (MDF) en acryl desi
Plex Bot

Plex Bot

Ik hou van robots! Humanoid robots zijn mijn favoriet. Sinus ik was beetje die ik hield van het idee van een stuk speelgoed dat je zou kunnen spelen met, terwijl tegelijkertijd het zag als een mens eruit. Emuleert de menselijke vorm is het doel van h
Gevild menselijke schedel Antipasto schotel

Gevild menselijke schedel Antipasto schotel

Dit recept is een van mijn persoonlijke favorieten en al jarenlang mijn gaan-aan Halloween voorgerecht. Niet alleen is het heerlijk, het is creepily realistisch... zo realistisch in het feit dat ik het heb gebruikt op camera voor voor een CSI onderzo
Autonome / Voice gecontroleerde - 3D scannen Rig voor afdrukken in 3D

Autonome / Voice gecontroleerde - 3D scannen Rig voor afdrukken in 3D

Het idee achter de stem gecontroleerde / autonome 3D scannen tuig is toe te staan voor een 3D scanning vastleggen om te werken zo glad mogelijk met de minimale inspanning voor de persoon hoe scannen als voor de persoon hoe gescande. wordtDe belangrij
Menselijke opsporen van herten schedel licht

Menselijke opsporen van herten schedel licht

Hoe maak je een menselijke opsporen (motie geactiveerde) herten schedel licht.Dit is mijn eerste Instructable, dus ik hoop dat mijn stappen kunnen gemakkelijk worden gevolgd om anderen te helpen. Sorry, maar mijn project was volledig afgewerkt op de
Smeerbare Stick (REAL) boter

Smeerbare Stick (REAL) boter

Tijd om het voedsel terug te nemen!Stap 1: Verzamel leveringen Margarine en andere smeerbare boter zijn niet goed voor je. Alle oliën en andere rommel gebruikt om er smeerbare zijn niet voor menselijke consumptie. Nog al wat we eten wij voedsel is, w
Menselijke Arm Model

Menselijke Arm Model

ik ben een natuurkunde leraar, en ik heb veel studenten die geïnteresseerd zijn in het nastreven van carrière in de geneeskunde. Ik echt wilde toevoegen sommige lab ervaringen met betrekking tot het menselijk lichaam of Geneeskunde dus heb ik beslote
De Schildwacht van de autonome torentje

De Schildwacht van de autonome torentje

Het autonome Sentry torentje is een standalone systeem geschikt voor het opsporen en neutraliseren van ongewenste indringers via een spervuur van zacht schuim darts. Gebouwd voor de kantooromgeving, is de AST een krachtige stuk van hardware die geen