Autonoma/RC mänskliga Bot (3 / 4 steg)

Steg 3: elektronik



Jag valde att använda elektronik är alla från Parallax. Jag använder 2 grundläggande stämpel usb Utbildningsstyrelsen microcontrollers. En är en Basic Stamp bs2 och andra är en högpresterande stämpel bs2PX. Jag använder också en propeller mikrokontroller som är inuti kroppen. Det finns en Propeller servo controller, 24 LED lampor och många olika sensorn inklusive en tempsensor, accelerometer och bluetooth sensor etc.

En BASIC Stamp är en single-board dator som kör den Parallax PBASIC tolken i dess mikrokontroller. Utvecklarens koden lagras i ett EEPROM, som också kan användas för lagring av data. PBASIC språket har lätt-till-använda kommandon för grundläggande i/o, aktivera och stänga enheter, samverkar med sensorer, etc. Mer avancerade kommandon låta BASIC Stamp modul gräns flat med andra integrerade kretsar, kommunicera med varandra och fungera i nätverk.

  • Kontrollera servon är en Parallax Propeller USB servo controller som driver armarna. Du kan ansluta upp till 15 servon på en bräda. Grundläggande stämpel microcontroller kontroller servo controller gör alla funktioner möjligt.
  • Motorerna styrs från 2 Parallax HB-25 motor styrenheter som också kontrolleras från en annan Bs2 microcontroller.
  • jag har många olika sensorer jag använder att ta temperaturavläsningar, fungerar automatiska strålkastare med mörker % och många andra tillämpningar.
  • Mikrokontroller är hjärnan av denna maskin och möjligheterna är oändliga när det gäller de saker du kan göra med viss kunskap och experiment.

RC-LÄGE:
Så långt som med en RC fjärrkontroll för att köra min robot, detta görs med ett 2.4GHzSpektrum DX5e system. Mottagaren är monterad på roboten och två drive motor kablarna är anslutna till mottagaren. HB-25 motor controller är sprang på servo pulser så att de flesta RC system fungerar med vissa ändringar. Med denna teknik och min Trådlös kamera kan jag sitta inne i mitt hem och köra min robot runt kvarteret och Visa allt från min PC. Mycket cool!

Detta är en kod jag skrev att ladda till processorn för att göra denna robot strövar runt autonomt. Det strövar runt och när den stöter på ett objekt med dess ping sensor som monteras där kameran är det och skannar omgivningen för en tydlig väg och ljuder sedan dess uppdrag. Lära sig att programmera tar tid men när du prova det du kommer att njuta av det och vill lära dig mer. Detta sker med stämpel editor programvara från parallax.

Köra tråd från ping till top 3 pin anslutning 13
Köra tråd från servo till top 3 pin anslutning 14
Köra tråd från HB-25 till top 3 pin port 15
HB-25 har egen strömkälla med en switch.
hoppare ledningar är sprang en HB-25 till sidan andra ansluter dem tillsammans vara körde på en servo puls.
"{$STAMP BS2}
"{$PBASIC 2.5}
"---[Object upptäckt och undvikande]---

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

PingServo stift 14' PING))) Servo
Ping stift 13' PING))) Sensor
HB25 PIN 15' i/o Pin för HB-25

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

pulseCount VAR Byte "används för att mäta vänder
distansera VAR ordet "aktuella avstånd av objektet
oldDistance VAR ordet "gamla avstånd värdet
motverka VAR ordet "PING))) cykel Counter
uppgiften VAR Nib "aktuella uppgiften
index VAR ordet "Counter för ramp

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

GÖR: LOOP tills HB25 = 1' vänta för HB-25 driver upp
LÅG HB25 ' göra i/o Pin utgång/låg
Pausa 5' vänta för HB-25 att initiera
PULSOUT HB25, 750' stoppa Motor 1
PAUS 1 ' 1 mS fördröjning
PULSOUT HB25, 750' stopp Motor 2

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

Main:
GÖRA

räknare = räknare + 1' Increment passiva Counter

OM counter > 10 sedan
GOSUB Ping_Out
ENDIF

IF (avstånd > 40) sedan "är distace större än 40 cm??
GOSUB Forward_Pulse
ANNAT
GOSUB Back_Up
GOSUB Ping_Around
ENDIF

LOOP

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

Forward_Pulse:

FÖR index = 250 till 250' Ramp upp till Full fart
PULSOUT HB25, 750 + index "Motor 1 framåt
PAUS 1 ' 1 mS fördröjning för Motor 2 puls
PULSOUT HB25, 750 - index "Motor 2 omvänd
PULSOUT PingServo, 750' Ping Servo framåt puls värde
PAUS 20
NÄSTA
RETURNERA

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

Turn_Left:
FÖR pulseCount = 1 till 35' vänstersväng, om 45 grader
PULSOUT HB25, 750 + index "Motor 1 framåt
PAUS 1 ' 1 mS fördröjning för Motor 2 puls
PULSOUT HB25, 750 + index "Motor 2 omvänd
PULSOUT PingServo, 750' Ping Servo framåt puls värde
PAUS 20
NÄSTA
RETURNERA

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

Turn_Right: "rätt vända, ca 45 grader
FÖR pulseCount = 1 till 35' antal pulser till tur
PULSOUT HB25, 750 - index "Motor 1 framåt
PAUS 1 ' 1 mS fördröjning för Motor 2 puls
PULSOUT HB25, 750 - index "Motor 2 omvänd
PULSOUT PingServo, 750' Ping Servo framåt puls värde
PAUS 20
NÄSTA
RETURNERA

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

Back_Up: "tillbaka upp
FÖR pulseCount = 0 till 5' antal pulser till Backup
PULSOUT HB25, 750' Motor 1 slutade Fwd
PAUS 1 ' 1 mS fördröjning för Motor 2 puls
PULSOUT HB25, 750' Motor 2 slutade Rev
PULSOUT PingServo, 750' Ping Servo framåt puls värde
PAUS 20
NÄSTA
RETURNERA

Ping_Out: "PING)))
räknare = 0' Reset passiva dröjsmål Counter
Låg Ping "tvinga PING))) linje låg
PULSOUT Ping, 5' Aktivera PING))) puls
PULSIN Ping, 1, avstånd ' få återvända puls
avståndet = avståndet ** 2257' beräkna avstånd
RETURNERA

Ping_Around: "starta 180 graders Pan-Scan
räknare = 0' Reset passiva dröjsmål Counter
oldDistance = 30' nuvarande gamla avstånd värden
uppgift = 0' nuvarande uppgiftsprioritet

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

FÖR pulseCount = 0 till 20' antal pulser till Spin
Låg Ping "tvinga PING))) linje låg
PULSOUT PingServo, 1085' Ping Servo 90 kvar puls värde
PULSOUT Ping, 5' Aktivera PING)))

PULSIN Ping, 1, avstånd ' få avstånd värde
PAUS 20' Uppdatera fördröjning
NÄSTA

avståndet = avståndet ** 2257' beräkna avståndet i cm
OM avstånd > oldDistance sedan "är avståndet > senaste tydlig väg
oldDistance = avstånd ' Uppdatera oldDistance värde
uppgift = 1
ENDIF

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

FÖR pulseCount = 0 till 20' antal pulser till Spin
Låg Ping "tvinga PING))) linje låg
PULSOUT PingServo, 850' Ping Servo 45 lämnade puls värde
PULSOUT Ping, 5' Aktivera PING)))
PULSIN Ping, 1, avstånd ' få avstånd värde
PAUS 20' Uppdatera fördröjning
NÄSTA

avståndet = avståndet ** 2257' beräkna avståndet i cm
OM avstånd > oldDistance sedan "är avståndet > senaste tydlig väg
oldDistance = avstånd ' Uppdatera oldDistance värde
uppgift = 2
ENDIF

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

FÖR pulseCount = 0 till 20' antal pulser till Spin
Låg Ping "tvinga PING))) linje låg
PULSOUT PingServo, 400' Ping Servo 45 rätt puls värde
PULSOUT Ping, 5' Aktivera PING)))
PULSIN Ping, 1, avstånd ' få avstånd värde
PAUS 20' Uppdatera fördröjning
NÄSTA

avståndet = avståndet ** 2257' beräkna avståndet i cm
OM avstånd > oldDistance sedan "är avståndet > senaste tydlig väg
oldDistance = avstånd ' Uppdatera oldDistance värde
uppgift = 3
ENDIF

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

FÖR pulseCount = 0 till 20' antal pulser till Spin
Låg Ping "tvinga PING))) linje låg
PULSOUT PingServo, 225' Ping Servo 90 rätt puls värde
PULSOUT Ping, 5' Aktivera PING)))
PULSIN Ping, 1, avstånd ' få avstånd värde
PAUS 20' Uppdatera fördröjning
NÄSTA

avståndet = avståndet ** 2257' beräkna avståndet i cm
OM avstånd > oldDistance sedan "är avståndet > senaste tydlig väg
oldDistance = avstånd ' Uppdatera oldDistance värde
uppgift = 4
ENDIF

ON uppgift GOSUB Task0, Task1, Task2, Aktivitet3, Task4

avståndet = 50' förhindra skanning från Looping

RETURNERA

Task0: "framåt var tydligaste väg
GOSUB Turn_Right "Detta kan innebära att smal stig
GOSUB Turn_Right "så vi ska vända
GOSUB Turn_Right ' du kan ändra beteendet
GOSUB Turn_Right "av någon av uppgifterna
RETURNERA

Task1: "90 grader vänster var tydligaste
GOSUB Turn_Left
GOSUB Turn_Left
RETURNERA

Task2: ' 45 grader vänster var tydligaste
GOSUB Turn_Left
RETURNERA

Aktivitet3: ' 45 grader rätt var tydligast
GOSUB Turn_Right
RETURNERA

Task4: "90 grader höger var tydligast
GOSUB Turn_Right
GOSUB Turn_Right
RETURNERA

Se Steg
Relaterade Ämnen

Hur till retur Instructables och RoboGames Robot tävling

robotar är aldrig kommer för att ta över världen om vi inte gå av i soffan och göra dem själva!Det är därför vi har slagit sig ihop med folk påRoboGames att ge dig Robot tävling!Vill du vinna en resa till RoboGames 2009? Berätta hur du gjorde din rob...

AUTONOMA plast skräp DISPOSALDRONE-TRASH-BOT

Att bygga enautomatisk skräp robot använder Arduino-mikrokontroller och särskilda robotic teknik som upptäcker och samlar de plast stoppar automatiskt och bearbeta den. Så detta minskar kravet på manuell clearance av plastavfall, att rensa upp detta...

Autonoma Sumo bekämpa Robot med pneumatiska Flipper - hur man

denna Sumo Bot utformad, byggdes, programmerad och testade under en 12 veckors period för en av mitt sista år engineering klasser. Syftet var att konstruera och bygga en lätt helt självständiga sumo kämpar robot för en i klassen Sumo Bot konkurrens....

K-9 2.0. WiFi kontrollerade och autonom Robot hund.

OBS:I steg 22, har jag postat en uppdatering, förklarar några senaste förändringar/förbättringar som jag har gjort, främst på K-9's elsystem och sensor array som du kan ha nytta.FunktionerRobust trä (MDF) och akryl designHelt mikroprocessorstyrda anv...

Swarmscapers: Autonoma mobila 3D-utskrifter robotar

Swarmscapers är en 2 månad lång forskningsprojekt bedrivs i Kreativ arkitektur maskiner studion, undervisas av Jason Kelly Johnson och Michael Shiloh på Kalifornien College of Arts i Digital Craft Lab. Det är ett samarbete mellan Clayton Muhleman, Al...

AUTONOMA HOOVER (Intel IOT)

Detta projekt fungerar på enutmärkt affär reflex mekanism. Det handlar om en grundläggande idé om att utveckla en "autonoma HOOVER", som hjälper till att minska den dagliga arbete sysslor på hus, kontor m.m...Steg 1: idéDetta projekt fungerar på...

Arduino bot Android fjärrkontroll

Hallå där,I detta instructable jag vill undersöka sambandet mellan Arduino och Android. Båda är öppna, lätt-till-program miljö (Ja, Android inte så lätt, men ganska), och samspelet mellan dem låter intressant mänskliga-till-anordning interaktion.Måle...

Autonoma fotbollsspel

huvudprojektet målet var att slutföra en fungerande prototyp för en autonom bordsfotboll tabell (AFT), där en mänsklig spelare möter en robotic motståndare. Ur mänsklig synvinkel spelet är bordsfotboll tabell mycket lik en vanlig tabell. Spelarna på...

Autonoma Sentry tornets

Autonoma Sentry tornet är ett fristående system som kan upptäcka och neutralisera oönskade inkräktare via en störtflod av mjukt skum dart. AST är byggt för kontorsmiljö, en kraftfull del av maskinvaran som behöver ingen mänsklig input (även om distan...

Autonoma, trådlöst kontrollerade svävare

detta är en instructable som tar dig genom en hel och en halv månad av arbete, designa och skapa en wirelessly kontrollerade modulära svävare, som kan kontrolleras med en RC controller, eller göras helt fristående. Jag ska gå igenom hur vi byggt vår...

Autonoma vapen för RPG mobilspel

den "lilla zerstorung".Skala: 28-30mmSystem: Gudarna av ånga, kriger Weird, konstiga WarsPerfekt litet projekt för al du RPG bordsskiva Gamers. De planer och anvisningar finns gratis att ladda ner på http://desktopwargames.comDessa var hemliga a...

Autonoma / röst kontrollerat - 3D Scanning rigg för 3D utskrift

Tanken bakom röst kontrollerat / autonoma 3D scanning rigg är att möjliggöra för en 3D scanning fånga att fungera så smidigt som möjligt med minsta ansträngning för personen hur är scanning som för personen hur är att skannade.De viktigaste målen för...

Ställ in Telegram Bot på Raspberry Pi

Den 24 juni, 2015 publicerade Telegram Bot API, så att maskiner att prata Telegram. Från den dagen på, kan inte bara mänskliga använda Telegram, så kan maskiner.För dem som inte vet vad Telegram är, är det en messaging app, väldigt likt WhatsApp. Den...

Mänsklig Arm modell

jag är en fysiklärare, och jag har många studenter som är intresserade av att följa karriärer inom medicin. Jag ville verkligen att lägga till några lab upplevelser relaterade till den mänskliga kroppen eller medicin så jag bestämde mig för jag skull...

Hur bota hicka

har du någonsin fått ett hemskt fall av hicka. Som ett bröst bultande fall. Hicka är väl en ofrivillig kramp i mellangärdet. Hicka kan variera från minuter till år. Hicka orsakas ofta av att äta för snabbt, och wikipedia säger att "ta en kall dricka...

Mänskliga Dalek kostym!

Vem minns att avsnitt av Doctor Who, "Evolution av Daleks," när Dalek Sec blev till en mänskliga-dalek hybrid? Jag gör, eftersom det var dumt. Dalek Sec var minst hotande varelse jag någonsin sett, det såg ut som Cthulhu fått barn med en cyclops...

Arduino autonom Robot (Land Rover / bil) Stage1Model2

Mitten av augusti 2014 - jag bestämde mig att fortsätta Robotics och bygga en stor humanoid robot.Denna robot skulle byggas i flera etapper. Steg 1 är att bygga en Land Rover. Model1 iStage1 var Land Rover utan Microcontroller medan Model2 är en med...

Autonom Robot med LinkitONE

Någonsin undrat hur autonoma robotar tillverkas? Ville göra en cool projekt? Fick en Linkit styrelse? Då är du på rätt plats!Här kommer jag att göra en robot med LinkitONE med några lokala robotic delar och servomotorer.Kan börja...Steg 1: Vad behöve...

K-9 The autonom Robot Pet

hans autonoma programmering hindrar honom från att fastna som han utforskar sin omgivning. En 3D-karta av miljön hjälper till med hans beslut och rörelser. Programmering upptäcker mänsklig interaktion och påverkar hans aktivitet. EMIC röst modul till...