Ontwerp van humanoïde en Drone hybride voor het neutraliseren van bedreigingen en toezicht (6 / 7 stap)

Stap 6: Code voor robot

Jongens hier hebben we gebruik gemaakt van verschillende Arduino UNO elk voor verschillende onderdelen voor de werking van robot dus wees alert tijdens het branden van code erin.

Rechter- en linkerhand controlecode zender:

int sen0 = A0;

int sen1 = a1 worden verkregen;

int sen2 = A2;

int sen3 = A3;

int sen4 = A4;

int sen5 = A5;

VOID Setup

{

Serial.begin(9600);

}

void loop

{

int val0 = map(analogRead(sen0), 260 450, 100, 210);

Serial.Print(val0);

int val1 = map(analogRead(sen1), 260 450, 100, 210);

Serial.Print(val1);

int val2 = map(analogRead(sen2), 260 450, 100, 210);

Serial.Print(val2);

int val3 = map(analogRead(sen3), 260 450, 100, 210);

Serial.Print(val3);

int val4 = map(analogRead(sen4), 260 450, 100, 210);

Serial.Print(val4);

int val5 = map(analogRead(sen5), 260 450, 100, 210);

Serial.Print(val5);

delay(50);

}

Vinger controle door middel van flex sensor zender code:

int sen0 = A0;

int sen1 = a1 worden verkregen;

int sen2 = A2;

int sen3 = A3;

int sen4 = A4;

int sen5 = A5;

VOID Setup

{

Serial.begin(9600);

}

void loop

{

int val0 = map(analogRead(sen0), 580, 650,0, 9);

Serial.Print(val0);

int val1 = map(analogRead(sen1), 580, 650, 0, 9);

Serial.Print(val1);

int val2 = map(analogRead(sen2), 580, 650, 0, 9);

Serial.Print(val2);

int val3 = map(analogRead(sen3), 580, 650, 0, 9);

Serial.Print(val3);

int val4 = map(analogRead(sen4), 580, 650, 0, 9);

Serial.Print(val4);

int val5 = map(analogRead(sen5), 580, 650, 0, 9);

Serial.Print(val5);

delay(50);

}

Vinger controle door middel van flex sensor ontvanger code:

#include

int servo0Pin = 2;

int servo1Pin = 3;

int servo2Pin = 4;

int servo3Pin = 5;

int servo4Pin = 6;

int servo5Pin = 7;

int val0;

int val1;

int val2;

int val3;

int val4;

int val5;

Servo myservo0;

Servo myservo1;

Servo myservo2;

Servo myservo3;

Servo myservo4;

Servo myservo5;

VOID Setup

{

Serial.begin(9600);

myservo0.attach(servo0Pin);

myservo1.attach(servo1Pin);

myservo2.attach(servo2Pin);

myservo3.attach(servo3Pin);

myservo4.attach(servo4Pin);

myservo5.attach(servo5Pin);

}

void loop

{

while(Serial.available() == 0);

byte een = Serial.read();

byte b = Serial.read(); schouder links

byte c = Serial.read();

byte d = Serial.read();

byte e = Serial.read(); lbow links

byte f = Serial.read();

int g = map(a,0,9,0,180);

int h = map(a,0,9,0,180);

int i = map(a,0,9,0,180);

int j = map(a,0,9,0,180);

int k = map(a,0,9,0,180);

int l = map(a,0,9,0,180);

myservo0.write(g);

myservo0.write(h);

myservo0.write(i);

myservo0.write(j);

myservo0.write(k);

myservo0.write(l);

delay(50);

}

Rechter- en linkerhand controlecode ontvanger:

#include

int ledPin = 13; Kies de pin voor de LED

int inPin = 12;

int valinPin = 0;

int servo0Pin = 2;

int servo1Pin = 3;

int servo2Pin = 4;

int servo3Pin = 5;

int servo4Pin = 6;

int servo5Pin = 7;

int servo6Pin = 8;

int servo7Pin = 9;

Servo myservo0;

Servo myservo1;

Servo myservo2;

Servo myservo3;

Servo myservo4;

Servo myservo5;

Servo myservo6;

Servo myservo7;

int val0;

int val1;

int val2;

int val3;

int val4;

int val5;

int voor berekening van hoeken

int d, i, n, s, o, t;

VOID Setup

{

setpin modus te begrijpen de bewerkingsmodus

pinMode (ledPin, OUTPUT); declareren van LED als de uitgang

pinMode (inPin, INPUT); drukknop declareren als input

Serial.begin(9600);

koppelen van servo 's

myservo0.attach(servo0Pin);

myservo1.attach(servo1Pin);

myservo2.attach(servo2Pin);

myservo3.attach(servo3Pin);

myservo4.attach(servo4Pin);

myservo5.attach(servo5Pin);

myservo6.attach(servo6Pin);

myservo7.attach(servo7Pin);

}

aan de Prikker effect verminderen

int dlast, nlast, ilast, slast, olast, tlast;

void loop

{

valinPin = digitalRead(inPin); lezen van de invoerwaarde

Als (valinPin == HIGH) {/ / controleren als de ingang hoog (knop uitgebracht is)

digitalWrite (ledPin, hoge); Zet LED ON

while(Serial.available() == 0);

int gegevens = Serial.read() - '0';

byte een = Serial.read();

byte b = Serial.read(); schouder links

byte c = Serial.read();

byte f = Serial.read();

byte g = Serial.read(); lbow links

byte h = Serial.read();

byte k = Serial.read();

byte l = Serial.read(); W links ronde

byte m = Serial.read();

byte p = Serial.read();

byte q = Serial.read(); W links omhoog omlaag

byte r = Serial.read();

extra voor zes sensoren

byte u = Serial.read();

byte v = Serial.read(); Hoofd ronde

byte w = Serial.read();

byte x = Serial.read();

byte y = Serial.read(); Hoofd omhoog naar beneden

byte z = Serial.read();

d = (c-48) + (b-48) * 10 + (a-48) * 100;

d = kaart (d, 100, 130, 210, 20);

d = beperken (d, 20, 130);

Ik = (h-48) + (g-48) * 10 + (f-48) * 100;

Ik kaart = (ik, 100, 130, 210, 20);

Ik = beperken (i, 20, 130);

n = (m-48) + (l-48) * 10 + (k-48) * 100;

n = kaart (n, 100, 130, 210, 20);

n = beperken (n, 20, 130);

s = (r-48) + (q-48) * 10 + (p-48) * 100;

s = kaart (s, 100, 130, 210, 20);

s = beperken (s, 20, 130);

extra voor zes sensoren

int o = (w-48) + (v-48) * 10 + (u-48) * 100;

o = kaart (o, 100, 130, 210, 20);

o = beperken (o, 20, 130);

int t = (z-48) + (y-48) * 10 + (x-48) * 100;

t = kaart (t, 100, 130, 210, 20);

t = beperken (t, 20, 130);

Servo 1

Als (d < 130 & & d > 20)

{

Als (dlast-d < = 20)

{

myservo0.write(d);

int e = 150 - d;

myservo1.write(e);

Serial.Print(d);

Serial.Print ("\t");

}

}

Servo 2

Als (ik < 130 & & ik > 20)

{

Als (ilast-i < = 20)

{

myservo2.write(i);

int j = 150 - i;

myservo3.write(j);

Serial.Print(i);

Serial.Print ("\t");

}

}

Servo 3

Als (n < 130 & & n > 20)

{

Als (nlast-n < = 20)

{

myservo4.write(n);

Serial.Print(n);

Serial.Print ("\t");

}

}

Servo 4

Als (s < 130 & & s > 20)

{

Als (slast-s < = 20)

{

myservo5.write(s);

Serial.Print(s);

Serial.Print ("\t");

}

}

Servo 5

Als (o < 130 & & o > 20)

{

Als (olast-o < = 20)

{

myservo5.write(o);

Serial.Print(o);

Serial.Print ("\t");

}

}

Servo 6

Als (t < 130 & & t > 20)

{

Als (tlast-t < = 20)

{

myservo5.write(t);

Serial.Print(t);

}

}

Serial.println();

Serial.Flush();

int d = (int);

int e = (int) b;

int f = c (int);

DLast = d;

ilast = i;

nlast = n;

slast = s;

olast = o;

tlast = t;

delay(40);

}

anders

{

digitalWrite (ledPin, laag); uitschakelen LED

int left0 = 90;

myservo0.write(left0);

Serial.println(left0);

int left1 = 90;

myservo1.write(left1);

Serial.println(left1);

int left2 = 90;

myservo2.write(Left2);

Serial.println(Left2);

int left3 = 90;

myservo3.write(left3);

Serial.println(left3);

int left4 = 90;

myservo4.write(left4);

Serial.println(left4);

int left5 = 90;

myservo5.write(left5);

Serial.println(left5);

}

}

Drone mobiliteit controlecode zender:

#include

Const byte rijen = 4; vier rijen

Const byte COLS = 4; vier kolommen

char toetsen [ROWS] [COLS] = {}

{'A ',' B', 'C', HAD'},

{'E', 'F', 'G', 'H'},

{'I', 'J', 'K', 'L'},

{BEN "," N ", 'O', 'P'}

};

byte rowPins [ROWS] = {3, 2, 1, 0}; verbinding maken met de pinouts rij van het toetsenbord

byte colPins [COLS] = {7, 6, 5, 4}; verbinding maken met de kolom pinouts van het klavier

Toetsenbord toetsenbord toetsenbord = (makeKeymap(keys), rowPins, colPins, rijen, COLS);

int led0 = 8;

int led1 = 9;

int led2 = 10;

int led3 = 11;

VOID Setup {}

Serial.begin(9600);

pinMode (led0, OUTPUT);

pinMode (led1, OUTPUT);

pinMode (led2, OUTPUT);

pinMode (led3, OUTPUT);

}

void loop {}

char sleutel = keypad.getKey();

Als (sleutel! = NO_KEY) {}

Serial.println(Key);

schakelen (sleutel) {}

Case "A": / /

digitalWrite (led0, hoge);

digitalWrite (led1, laag);

digitalWrite (led2, laag);

digitalWrite (led3, laag);

Serial.println(Key);

delay(2000);

digitalWrite (led0, hoge);

digitalWrite (led1, hoge);

digitalWrite (led2, hoge);

digitalWrite (led3, hoge);

breken;

Case "C": / /

digitalWrite (led0, laag);

digitalWrite (led1, hoge);

digitalWrite (led2, laag);

digitalWrite (led3, laag);

Serial.println(Key);

delay(2000);

digitalWrite (led0, hoge);

digitalWrite (led1, hoge);

digitalWrite (led2, hoge);

digitalWrite (led3, hoge);

breken;

geval zou ': / /

digitalWrite (led3, laag);

digitalWrite (led2, laag);

digitalWrite (led1, hoge);

digitalWrite (led0, hoge);

Serial.println(Key);

delay(2000);

digitalWrite (led0, hoge);

digitalWrite (led1, hoge);

digitalWrite (led2, hoge);

digitalWrite (led3, hoge);

breken;

kast 'F': / /

digitalWrite (led0, laag);

digitalWrite (led1, laag);

digitalWrite (led2, hoge);

digitalWrite (led3, laag);

Serial.println(Key);

delay(2000);

digitalWrite (led0, hoge);

digitalWrite (led1, hoge);

digitalWrite (led2, hoge);

digitalWrite (led3, hoge);

breken;

kast 'H': / /

digitalWrite (led0, hoge);

digitalWrite (led1, laag);

digitalWrite (led2, hoge);

digitalWrite (led3, laag);

Serial.println(Key);

delay(2000);

digitalWrite (led0, hoge);

digitalWrite (led1, hoge);

digitalWrite (led2, hoge);

digitalWrite (led3, hoge);

breken;

geval ben ': / /

digitalWrite (led0, laag);

digitalWrite (led1, hoge);

digitalWrite (led2, hoge);

digitalWrite (led3, laag);

Serial.println(Key);

delay(2000);

digitalWrite (led0, hoge);

digitalWrite (led1, hoge);

digitalWrite (led2, hoge);

digitalWrite (led3, hoge);

breken;

geval ' o ': / /

digitalWrite (led0, hoge);

digitalWrite (led1, hoge);

digitalWrite (led2, hoge);

digitalWrite (led3, laag);

Serial.println(Key);

delay(2000);

digitalWrite (led0, hoge);

digitalWrite (led1, hoge);

digitalWrite (led2, hoge);

digitalWrite (led3, hoge);

breken;

}

}

}

Drone mobiliteit controlecode ontvanger:

int b0;

int b1;

int b2;

int b3;

het nummer van de drukknop pin

Const int mo0 = 6;

Const int mo1 = 7;

Const int mo2 = 8;

Const int mo3 = 9;

Const int mo4 = 10;

Const int mo5 = 11;

Const int links = 12;

Const int rechts = 13;

het nummer van de LED-pin

variabelen zal veranderen:

variabele voor het lezen van de drukknop status

Const int ledPin = A0;

VOID Setup {}

Initialiseer de LED-pin als uitgang:

pinMode (b0, INPUT);

pinMode (b1, INPUT);

pinMode (b2, INPUT);

pinMode (b3, INPUT);

pinMode (mo0, OUTPUT);

pinMode (mo1, OUTPUT);

pinMode (mo2, OUTPUT);

pinMode (mo3, OUTPUT);

pinMode (mo4, OUTPUT);

pinMode (mo5, OUTPUT);

pinMode (links, uitvoer);

pinMode (rechts, uitvoer);

pinMode (ledPin, OUTPUT);

Serial.begin(9600);

Initialiseer de drukknop pin als input:

}

void loop {}

Lees de stand van de drukknop waarde:

B0 = digitalRead(2);

B1 = digitalRead(3);

B2 = digitalRead(4);

B3 = digitalRead(5);

Controleer als de drukknop ingedrukt is.

Als het is, is de buttonState hoog:

Als (b0 == HIGH & & b1 == LOW & & b2 == LOW & & b3 == LOW) {/ / INF

LED inschakelen:

digitalWrite (links, laag);

digitalWrite (rechts, laag);

digitalWrite (mo4, hoge);

digitalWrite (mo5, laag);

Serial.println ("motor doun");

delay(16000);

digitalWrite (mo4, laag);

digitalWrite (mo5, laag);

digitalWrite (links, laag);

digitalWrite (rechts, laag);

Serial.println("Done");

}

anders als (b0 == LOW & & b1 == HIGH & & b2 == LOW & & b3 == LOW) {/ / fwd

LED inschakelen:

digitalWrite (links, laag);

digitalWrite (rechts, laag);

digitalWrite (mo0, hoge);

digitalWrite (mo1, laag);

digitalWrite (mo3, hoge);

digitalWrite (mo2, laag);

Serial.println("FWD");

}

anders als (b0 == HIGH & & b1 == HIGH & & b2 == LOW & & b3 == LOW) {/ /

LED inschakelen:

analogWrite (ledPin, hoge);

Serial.println("Light");

}

anders als (b0 == LOW & & b1 == LOW & & b2 == HIGH & & b3 == LOW) {/ / rechts

digitalWrite (links, laag);

digitalWrite (rechts, laag);

digitalWrite (mo0, hoge);

digitalWrite (mo1, laag);

digitalWrite (mo2, hoge);

digitalWrite (mo3, laag);

Serial.println("right");

}

anders als (b0 == HIGH & & b1 == LOW & & b2 == HIGH & & b3 == LOW) {/ / links

LED inschakelen:

digitalWrite (links, laag);

digitalWrite (rechts, laag);

digitalWrite (mo1, hoge);

digitalWrite (mo0, laag);

digitalWrite (mo3, hoge);

digitalWrite (mo2, laag);

Serial.println("left");

}

anders als (b0 == LOW & & b1 == HIGH & & b2 == HIGH & & b3 == LOW) {/ / HUM

LED inschakelen:

digitalWrite (links, laag);

digitalWrite (rechts, laag);

digitalWrite (mo4, laag);

digitalWrite (mo5, hoge);

Serial.println ("motor UP");

delay(16000);

digitalWrite (mo4, laag);

digitalWrite (mo5, laag);

digitalWrite (links, hoog);

digitalWrite (rechts, hoge);

Serial.println("Done"); }

anders als (b0 == HIGH & & b1 == HIGH & & b2 == HIGH & & b3 == LOW) {/ / terug

LED inschakelen:

digitalWrite (links, laag);

digitalWrite (rechts, laag);

digitalWrite (mo1, hoge);

digitalWrite (mo0, laag);

digitalWrite (mo2, hoge);

digitalWrite (mo3, laag);

Serial.println("back");

}

else {}

LED uitschakelen:

digitalWrite (links, hoog);

digitalWrite (rechts, hoge);

digitalWrite (mo0, laag);

digitalWrite (mo1, laag);

digitalWrite (mo3, laag);

digitalWrite (mo2, laag);

digitalWrite (mo4, laag);

digitalWrite (mo5, laag);

analogWrite (ledPin, laag);

Serial.println("Stop");

}

}

Gerelateerde Artikelen

Hobbyist PCB's met professionele CAD gereedschappen maken door het wijzigen van de "Regels voor het ontwerp"

Hobbyist PCB's met professionele CAD gereedschappen maken door het wijzigen van de "Regels voor het ontwerp"

het is leuk dat er enkele professionele printplaat tools beschikbaar voor de hobbyisten zijn. Hier zijn enkele tips voor het gebruik ervan ito ontwerp platen die niet nodig hebt een professionele constructeur eigenlijk om ze te maken...Stap 1: Inleid
De zonne-ontwerp t-square en een methode voor het ontwerpen van reflectoren voor het zonder toezicht zonne-koken

De zonne-ontwerp t-square en een methode voor het ontwerpen van reflectoren voor het zonder toezicht zonne-koken

de eerste foto toont het ontwerpproces en ik heb een pdf van die pic in de volgende stap.  (Veel gemakkelijker om te zien van de details op het PDF-bestand)Het ontwerp van een exotische reflector voor het zonder toezicht zonne-koken. Uw ontwerp kan w
Van idee naar realiteit: 3D ontwerp en afdrukken voor het gemeenschappelijke Man.

Van idee naar realiteit: 3D ontwerp en afdrukken voor het gemeenschappelijke Man.

3D printen veranderd de manier waarop ik denken over hoe ik omgaan met de wereld.  Zoals ik heb geleerd de hulpmiddelen te gebruiken, ik denk dat een hoop over het gebruik van afdrukken te maken van mijn wereld functioneler, spannender of gewoon koel
5 ontwerp van Laser gesneden gevallen voor 5 populaire Platforms

5 ontwerp van Laser gesneden gevallen voor 5 populaire Platforms

Wanneer de eerste kocht mijn Raspberry Pi, kreeg ik te horen--"Nooit zet het in uw zak of zak zonder bescherming." Ik wilde niet luisteren. Ik zet het in mijn tas met sommige andere boards. Dan, toen ik nam het uit, zag ik de gebogen pinnen en k
CNC strategieën voor het verspanen van helische Shapes

CNC strategieën voor het verspanen van helische Shapes

Spiraalvormige vormen uitdaging een bijzonder intense voor CNC verspaning. Draaiende onderstukken en problemen fixturing onregelmatige gebogen volumes testen de moed van zelfs de meest ervaren van machinists. Kleinschalige CNC gefreesd spiraalvormige
Het installeren van een windturbine voor het aandrijven van mijn huis!

Het installeren van een windturbine voor het aandrijven van mijn huis!

Mij tenslotte got mijn Aleko WG400 windturbine geïnstalleerd. Deze feeds generatorvermogen in mijn huis die al zonne is-aangedreven. Ik ben de eerste persoon geworden op mijn mooie eiland te voeren een hybride (zonne- en wind) stroom systeem voor hun
Hoe voor het hosten van een Slam Van

Hoe voor het hosten van een Slam Van

Wanneer mensen met vergelijkbare interesses krijgen samen om te praten over hun projecten, de resultaten zijn bijna altijd nog beter toekomstige projecten! Dus toen sommige leden afkomstig waren van plan het omzetten van hun voertuigen in comfortabel
Grafisch ontwerp van iOS

Grafisch ontwerp van iOS

In deze tutorial zal ik je leren hoe maak je een professioneel uitziende grafisch ontwerp vanaf uw iOS-apparaatInspiratie kan toeslaan wanneer u niet achter uw bureauU bent uw design idee met uw iOS-apparaat vastleggenUw iOS-apparaat kunnen meer dan
RPi, Azure en Cortana gebruiken voor het automatiseren van uw huis!

RPi, Azure en Cortana gebruiken voor het automatiseren van uw huis!

IntroductieEr is nieuwe technologie rondom ons en alleen meer komt elke dag. Onze micro controllers zijn steeds sneller, zijn telefoons slimmer en de cloud is steeds sterker. Met al deze nieuwe technologie is iedereen zich afvragen: hoe kan ik het al
Zonne-energie voor het aandrijven van mijn huis!

Zonne-energie voor het aandrijven van mijn huis!

Mijn huis is zonne-energie aangedreven sinds juni 2013 en de power systeem zijn betrouwbaarheid heeft bewezen. Ik ben een trotse eigenaar van een OFF GRID zonne-energie systeem. Ik besloot te publiceren dit instructable te laten collega DIYers weten
Clueless guy's gids voor het kopen van bloemen

Clueless guy's gids voor het kopen van bloemen

hier is uw waterdicht gids voor het kiezen van de perfecte boeket om uw miss indruk te maken. Het duurt niet een heleboel geld of enige vorm van bloemen-kennis te kloppen haar sokken uit! Een paar gemakkelijk te onthouden tips is alles wat je nodig h
Maak een boter mes voor het verspreiden van koude, harde boter

Maak een boter mes voor het verspreiden van koude, harde boter

Hallo Instructablers.Hier is hoe kun je een boter mes dat koude boter rechtstreeks uit de koelkast verwerken kan zonder het rippen van uw brood of toast.Het oorspronkelijke idee is niet mijne. Ik zag het op Kickstarter: https://www.kickstarter.com/pr
Bouwen van een 'blackbox' datalogger voor het toevoegen op scherm weergave meters aan uw video's

Bouwen van een 'blackbox' datalogger voor het toevoegen op scherm weergave meters aan uw video's

Dit project bevat instructies over hoe te bouwen van het apparaat, alsmede een link naar de projectcode op github die worden geüpload voor het moeten zullen laten uitvoeren.Een Arduino gebaseerd datalogger met het oog op de synchronisatie van gegeven
Ontwerp van Automata

Ontwerp van Automata

Moderne automaten zijn crank gedreven mechanisch sculpturen, die één of andere soort object in beweging weergeven. Het ontwerp van deze machines kan zeer complex zijn, en een heleboel ervaring vereist. Door de hulp van computer ontwerpsoftware is het