Robot orm (3 / 16 steg)

Steg 3: Kombinera motorer och fotocell sensorer

Beskrivning

I det här steget kommer vi ta tre fotocell sensorerna och använder dem för att köra motor rusar. I vår kod kommer vi att hänvisa motorerna till Motor A eller Motor B, baserat på var de är anslutna till den motoriska skölden, och sensorerna kommer att Sensor 3 Sensor 4 och Sensor 5, utifrån där de är knutna till de analoga avläsningarna. Sensor 3 och Sensor 4 kommer att vara riktad sensorerna och Sensor 5 blir sensorn för miljöbelysningen.

Algoritm

För att kontrollera motorerna, vi kommer att få en bas från alla tre sensorer första (lagras dessa i photocellReading #).

Vi sedan ta skillnaderna mellan Sensor 3 och Sensor 5 (och lagra den i photocellDifference1) samt skillnaden mellan Sensor 4 och Sensor 5 (och lagra den i photocellDifference2). Detta kommer att berätta hur mycket ljusare riktad sensorerna är från den omgivande sensoren. Eftersom ljuset kommer att shinning på dessa sensorer, bör skillnaden avläsningarna tala om för oss hur mycket ljus riktas mot varje sensor.

Vi subtrahera photocellDifference1 och photocellDifference2 från varandra och lagra den i lrValue. Genom att denna skillnad, kan vi tala om hur mycket mer ljus varje riktad sensor avkänning. Om talet är negativt än det innebär Sensor 4 har mindre ljus än Sensor 3 och mer fart bör vara inriktade på Motor B. Om lrValue är positivt än innebär det att Sensor 3 har mer ljus än Sensor 4 och högre hastighet bör riktas till Motor A.

Koden

/*
int photocellReading3; analog läsning från analoga resistor avdelare
int photocellReading4; analog läsning från analoga resistor avdelare
int photocellReading5; analog läsning från analoga resistor avdelare

int photocellDifference1;
int photocellDifference2;
int lrValue;

void setup(void) {
Serial.BEGIN(9600);

pinMode (12, OUTPUT); Initierar Motor kanal A stift
pinMode (9, OUTPUT); Initierar broms kanal A stift

pinMode (13, OUTPUT); Initierar Motor kanal B pin
pinMode (8, OUTPUT); Initierar broms kanal B pin

digitalWrite 13, låg. Upprättar riktning framåt av kanal A
digitalWrite 8, låg. Lossa bromsen för kanal A

digitalWrite 12, låg. Upprättar riktning framåt av kanal B
digitalWrite (9, låg). Lossa bromsen för kanal B
}

void loop(void) {
photocellReading3 = analogRead(3); basera ljus läsning
photocellReading4 = analogRead(4); basera ljus läsning
photocellReading5 = analogRead(5); basera ljus läsning

få skillnader mellan sensorer för motorer och sensor för omgivande ljus
photocellDifference1 = (photocellReading3 - photocellReading5);
photocellDifference2 = (photocellReading4 - photocellReading5);

få skillnaden mellan de två behandlingarna
lrValue = photocellDifference2 - photocellDifference1;

kontrollera hastigheten till varje motor baserat på lrValue
om (lrValue < = -120) {
analogWrite (11, 255);
analogWrite (3, 100);
} else om (lrValue < = -90) {
analogWrite (11, 224);
analogWrite (3, 100);
} else om (lrValue < =-60) {
analogWrite (11, 193);
analogWrite (3, 100);
} else om (lrValue < = -40) {
analogWrite (11, 162);
analogWrite (3, 100);
} else om (lrValue < = -25) {
analogWrite (11, 131);
analogWrite (3, 100);
} else om (lrValue < 25) {
analogWrite (11, 100);
analogWrite (3, 100);
} else om (lrValue < 40) {
analogWrite (11, 100);
analogWrite (3, 131);
} else om (lrValue < 60) {
analogWrite (11, 100);
analogWrite (3, 162);
} else om (lrValue < 90) {
analogWrite (11, 100);
analogWrite (3, 193);
} else om (lrValue < 120) {
analogWrite (11, 100);
analogWrite (3, 224);
} annat {
analogWrite (11, 100);
analogWrite (3, 255);
}
}

Video av ljussensorer kontrollera motorerna

Speed bryta ner

I koden, kan du se när vi har en lång lista av om else-satser kontrollera hastigheten för varje motor. Denna kod fungerar för våra orm och vår fotocell sensor/motor kombination. Om du har ändrat material för din orm eller upptäcker att dessa värden inte fungerar för dig, när gärna ändra värden tills du hittar varvtalsreglering som fungerar för dig. Vår orm är tänkt att fungera i svagt ljus och på ett ganska snabb hastighet. Om du vill din orm långsammare, till exempel, kan du bredda ditt utbud av lrValues i om else-satser, så att det kommer att ta en hög effekt ljus riktat mot en sensor innan motorerna når högsta hastighet.

Vi upptäckte också att varje motor behövs ett minsta värde av hastighet (vår var 100) för att kunna dra vikten på ormen. Det kan aldrig finnas hastighet värdet 0 kommer att en motor. Om en motor skulle helt sluta, skulle det då ta för mycket arbete för att få motorn igen.

Vi hittade det var lättast att planera hastighet kontroller ute i en tabell innan du skriver om else-satser. Detta var vårt bord:
Motor en Motor B
lrValue Analog 3 Analog 11
-∞ →-120 225 100
-119 →-90 224 100
-89 →-60 193 100
-59 →-40 162 100
-39 →-25 131 100
-24 → 24 100 100
25 → 39 100 131
40 → 59 100 162
60 → 89 100 193
90 → 119 100 224
120 → ∞ 100 225

Se Steg
Relaterade Ämnen

Vattentäta din servomotorer

om du använder servomotorer för undervattens verksamhet, även om dessa hitec vattentät servon är super fin, du behöver inte spendera 50 dollar per servo. Här är hur man vattentät servon själv i några få steg. Jag har inte testat detta på super lågt d...

DIY Elektromyografi

Elektromyografi (EMG) är mätningen av nervimpulser till dina muskler. Förmodligen den mest populära konsument enhet med EMG är Myo, vilket är ett armband som låter dig gest kontroll – kolla in deras hemsida för att se några coola demos av varför EMG...

3D tryckta ormen robot

När jag fick min 3D skrivare började jag tänka vad kan jag göra med den. Jag skrev ut en massa saker men jag ville göra en hela byggandet med 3D-utskrifter. Sedan tänkte jag om att göra robot djur. Min första tanke var att göra en hund eller en spind...

Robot kostym 2014

I år bestämde jag mig att göra ett par robot kostymer för barnen. Mitt mål var att skapa en ganska klassisk kantighet robot men jag ville också lägga till några element för att göra det lite mer trovärdigt. Jag kunde lägga en ljus display i bröstet o...

Robot nattlampa med två ansikten

jag hade en gammal pc liggande--en att jag inte kunde få arbeta på grund av min okunskap eller lättja. Så jag demonterade det och använde dess delar för att skapa en natt ljus robot. Nattlampan lades verkligen för att ge det mer av en visuell effekt...

Beröringsfria givare kontrollerade Robot

Detta projekt är en enkel robot som styrs från en PC med ett tangentbord eller en Leap beröringsfria rörelsesensor. Roboten själv kör på ett PICAXE 20M 2 chip, en mikrokontroller som är programmerad med en form av BASIC. Jag valde PICAXE chip efterso...

Göra en simning Robo-orm

Sneel är namnet på min orm / ål simning robot. Detta är dokumentation av hårdvara, mjukvara och mekanisk konstruktion av Sneel_003.uretan flex slangar, mikrokontroller, Zigbee trådlös radio, slangklämmor, sladdar, servomotorer, titanium servo parente...

ShakerBot: En Ymmann Robot

när du tänker på robot förflyttning, vad är det första som kommer att tänka på? En tvåbent? en hjulförsedda mobil robot? En differentierad drive system? Jag tror ärligt talat att det finns många mer intressant biologiskt inspirerad förflyttning mekan...

PulleyBot: En remskiva Driven Robot

PulleyBot är en enkel, enhetlig manöverdonet 3D tryckta leksak med en växellåda som helt består av trissa system. Detta instructable är en handledning om hur man monterar PulleyBot, men om du är intresserad av remskiva, kabel och kedjan mekanismer, d...

Instructables Robot klockan

Detta är en awesome Instructables Robot klockan som är perfekt för alla skrivbord, natt stannande, fönsterbrädan, Soffbord, etc... Den är liten och trådlösa, vilket gör det perfekt för resor. Att aktivera det bara trycka roboten och titta på honom ly...

2D tecknad Animation av Instructable Robot

Den bekant instructable robot som vi alla har vuxit till kärlek har nu modelleras i Synfig Studios fantastiska 2D-animation programvara och publiceras på dessa sidor för alla att använda. Fullt fungerande robot modellfilen ingår och allt är gratis. D...

DIY Robot Cart (billigt + kraftfulla + snabb)

Hej allihopa, i Autodesk 123 Design, jag jag skapade en modell av en robotic vagnMin design är original och jag hoppas snart kunna göra produkten eftersom det är ganska billigt och lätt att göra.Det finns många användningsområden för den här datorn,...

Enkel robot-låg förlorat-mycket användbart

Hej alla, detta är Sai Jayanth.This är min 1: a fungerande modell instructable att jag förberett. Denna arbetsmodell förbereddes av mig på grund av vissa aspekter. Jag har sett vatten förorenande på grund av industriellt avfall släpper ut i vattensam...

2 rullar Android vikt kontrollerad robot

Denna robot leksak är som en Segway, förutom att det är naturligt själv balanseringen. Den fungerande principen för rörelse liknar sfär leksaken, minus utanför bollen del och gyro. Den är stabil eftersom tyngdpunkten är lägre än hjul centrum. Det ska...

A Följ mig robot med enkel krets

Dess en mycket enkel och lätt att göra följa mig robot. Det kan känna närvaron av objekt som skall följas med hjälp av infraröd (IR) sensor. Det finns en IR-Led och två IR fotodiod (med tillbaka IR-Filter). När IR får speglas från ett närliggande obj...

Virkade fyrkantig hatt - Instructable Robot, Sponge Bob & WALL-E

En av de projekt som har simmat runt i mitt huvud var denna "fyrkantig" stil hatt, även kallad en jester hatt. Jag kunde inte motstå att ange Instructable Robot tävlingen så detta Instructable är en produkt av två.Medan jag var att skapa robot h...

Cross-Stitched Instructables Robot

Jag postat en begäran om detta forum ämne för Instructables robot tävling! Om jag inte fick något svar men jag var verkligen förvånad och upprörd när en såg har att Instructables äntligen lanserat "Instructables robot tävling"!Eftersom jag har b...

Lucy's Retro Robot kostym... Gjorde med husgeråd!

Maker lägret är en stor del av sommaren i vårt hus (vi inte bor nära en officiella läger så har vi vår hemma). Mina flickor älskar det och vi har alltid skitkul att göra saker tillsammans, försöker nya projekt, och för mig är det ett bra sätt för att...

Stora trä Robotic Dinosaur

The Giant trä Robotic dinosaurie är ansvarig för stadenSäkerhet i Oita stad i Japan, bara fruktansvärt problemet med dettaÄr ljudet av promenader och motor,Det finns 100 av dessa i olika städer i Japan går runt :)Samimy Productions presenterarStora t...