Jansen koppeling Robot (4 / 9 stap)

Stap 4: Upload de arduino schets

Het uploaden van de meegeleverde schets aan de arduino.

Deze sketch is set up te zetten van de arduino te slapen als de zweem stempelkussen niet wordt ingedrukt, en de y-as van elk van de joysticks remapped waarmee de operate rotatie servo's dienovereenkomstig.

Doel: Om te werken van twee servo's met behulp van twee joysticks, die worden gebruikt voor het bedienen van de twee benen voor een robot. MAKE Course, aangeboden door de Universiteit van Zuid-Florida in de vereniging.
Gemaakt door: Brian Cantler / / datum: 12/01/2014

#include #include //this AVR bibliotheek bevat de methoden dat de slaap modi #define interruptNumber 0 //since pin 2 wordt gebruikt voor de externe interrupt, in besturingselementen is gekoppeld om te onderbreken nummer 0 #define TouchPadPin 2 //connect touch sensor output (pin "S") naar D2 (en "G" aan GND spelden en "V" pin naar 5V)

vluchtige byte TouchPadEventFlag; //all variabelen die zijn gewijzigd binnen een ISR moeten worden gedimensioneerd als 'vluchtige' //this variabele zal worden gebruikt om de hoofdlus vertellen dat een interrupt-gebeurtenis zich heeft voorgedaan.

Const int servo1 = 3; identificeert de eerste servo als het wordt aangesloten op de digitale pen 3 const int servo2 = 10; identificeert de tweede servo als het wordt aangesloten op de digitale pin 10 const int joy1 = 3; identificeert de eerste joystick als worden aangesloten op analoge pin 3 const int joy2 = 4; identificeert de tweede joystick als het wordt aangesloten op analoge pin 4

int servoVal; variabele gebruikt om te lezen van de waarden van de analoge pin

Servo myservo1; maakt servo-object om te bepalen van de eerste servo Servo myservo2; maakt servo-object om te bepalen van de tweede servo

VOID Setup {}

Servo's myservo1.attach(servo1); hecht de eerste servo myservo2.attach(servo2); hecht de tweede servo

Initialiseren van seriële Serial.begin(9600); pinMode(13,OUTPUT); sets pin 13 als uitgang zodat we gebruik van de ingebouwde maken kunnen LED op de arduino te controleren wanneer de arduino wordt aangedreven op digitalWrite(13,LOW); bochten pin 13, een van de ingebouwde LEDs op de arduino, uit pinMode (TouchPadPin, INPUT); definieert van de interrupt-pin als een invoer digitalWrite(2,HIGH); Hiermee activeert u de interne pull-up weerstand om te trekken op hoog wanneer de zweem stempelkussen niet wordt ingedrukt

}

void loop {}

Hiermee geeft u de waarden van de joystick met behulp van de seriële monitor outputJoystick();

Lees joystick iemands (waarde tussen 0 en 1023) servoVal = analogRead(joy1); servoVal = kaart (servoVal, 0, 2500, 70, 180); Hiermee schaalt u de waarden van de joystick om te kunnen gebruiken met de servo (resultaat tussen 90 en 180)

myservo2.write(servoVal); Hiermee stelt u de 360 servo's snelheid volgens de geschaalde waarde

Lees joystick two's (waarde tussen 0 en 1023) servoVal = analogRead(joy2); servoVal = kaart (servoVal, 0, 2500, 70, 180); Hiermee schaalt u de waarden van de joystick om te kunnen gebruiken met de servo (resultaat tussen 90 en 180)

myservo1.write(servoVal); Hiermee stelt u de 360 servo's snelheid volgens de geschaalde waarde

delay(15); wacht tot de servo te versnellen naar de geschaalde waarde sleepSetup(); blijft op ~ 27 mA totdat het touchpad is gedrukt op pin 2

}

/ ** * De joystick-waarden worden weergegeven in de seriële monitor * / outputJoystick() {} ongeldig

Serial.Print(analogRead(joy1)); Hiermee geeft u de waarden van de joystick voor de eerste joystick in de seriële monitor Serial.print ("- joystick_one---"); identificeert de waarden die worden weergegeven zijn voor de eerste joystick Serial.print(analogRead(joy2)); displayes de waarden van de joystick voor de tweede joystick in de seriële monitor Serial.println ("- joystick_two---"); identificeert de waarden die worden weergegeven zijn voor de tweede joystick}

VOID sleepSetup() {attachInterrupt (0, pinInterrupt, LOW), sleep_enable(); //Sets pin 2 als een interrupt en hecht Interrupt Service Routine (ISR) set_sleep_mode(SLEEP_MODE_PWR_DOWN) //define uitzetten-slaap modus digitalWrite(13,LOW); //turns de LED af aan slaap modus sleep_cpu(); //Set slaap inschakelen (SE) bit, dit zet de ATmega slaap Serial.println ("de strandbot wordt aangedreven op"); //When het wakker als gevolg van de interrupt het programma met de instructie blijft na sleep_cpu() digitalWrite (13 HOGE); draait de ingebouwde in LED op de arduino om aan te geven dat de arduino heeft gewekt}

VOID pinInterrupt() //ISR {sleep_disable(); //this is belangrijk. Het is mogelijk dat de interrupt heet tussen het uitvoeren van "attachInterrupt(...)" en sleep_CPU() in de hoofdlus //if dat gebeurt zonder de sleep_disable() in de ISR, de ISR zou worden genoemd, de interrupt los en het apparaat laten inslapen. Aangezien de interrupt zou op dat punt worden uitgeschakeld, zou er geen manier om het apparaat niet meer wakker te worden. door sleep_disable() in de ISR, zou sleep_cpu() geen effectieve tijdens die lus, d.w.z. de hoofdlus zou stormloop één meer tijd //and vervolgens goed hechten de interrupt alvorens naar de sleep_cpu() een tweede keer. Op dat punt het apparaat zou gaan slapen, maar //the interrupt zou nu worden geactiveerd, d.w.z. wakker kan worden opgewekt. detachInterrupt (0), //disable de interrupt. Dit debounces effectief de interrupt-mechanisme om te voorkomen dat meerdere interrupt aanroepen.

}

Gerelateerde Artikelen

RoboDog

RoboDog

Ik maakte een robot die loopt met Jansens mechanisme en het gewone materialen gebruikt. De Jansens koppeling is een been mechanisme ontworpen door de kinetische beeldhouwer Theo Jansen te simuleren een vloeiende beweging van de voet.Stap 1: materiale
Theo Jansen geïnspireerd wandelende robot Insect

Theo Jansen geïnspireerd wandelende robot Insect

Ik bouwde deze wandelen Insect, geïnspireerd op de creaties van Theo Jansen die een genetisch algoritme gebruikt voor het vinden van een set banden met het vormen van een been waar de voet beweegt in een locus geschikt om te wandelen. Wat hij bedacht
3D afgedrukt Walking Robot (Klann koppeling)

3D afgedrukt Walking Robot (Klann koppeling)

Deze wandelende robot is een project dat ik altijd al wilde hebben bij gaan voor een tijdje nu en ik heb eindelijk rond om te eindigen, dus nu ben ik met de wereld delen!Dit project is vrij eenvoudig te construeren en hoeft geen moeilijk vaardigheden
Vier-Bar-koppeling Leaflet-distributie Robot

Vier-Bar-koppeling Leaflet-distributie Robot

Onlangs, met sommige nieuwe glijlagers bij de hand, we geprobeerd om een koppeling structuur alleen voor prestatie-en functietesten te bouwen. Terwijl in het proces van testen, kwam het idee van het bouwen van een robot brochure-distributie slechts g
Professionele & duurzaam gigantische Robot Kaiju kostuum!

Professionele & duurzaam gigantische Robot Kaiju kostuum!

Voor de meesten van ons, opgroeien monster films was een hoofdbestanddeel van onze kindertijd. We hielden om naar te kijken de enorme atomaire-brand-ademende dieren, een stadsgezicht stalking terwijl verpletterende zowel gebouwen als doodsbang bewone
Kartonnen robotarm voor goedkope Robots

Kartonnen robotarm voor goedkope Robots

Dit is waarschijnlijk de Instructable ik naar het meeste uit mijn "Voor goedkope Robots" serie uitgekeken heb. Het is de coolste die ik heb gedaan tot nu toe, en evenzo de moeilijkste.Robotica beginnen niet echt te krijgen cool totdat uw robot m
Verbeterde Spider Robot

Verbeterde Spider Robot

Ik ben altijd op zoek naar een nieuw project te doen op mijn robotica workshop voor kinderen. Terwijl spider robots intrigerend zijn, bijna alle van hen zijn ofwel te ingewikkeld waarbij 10 + servo's of manier over begroting voor mijn atelier. In de
Hoe maak je kleine robots met nRover bestuur

Hoe maak je kleine robots met nRover bestuur

De nRover, is een kleine bord gemaakt om te bouwen van kleine robots zoals UGV (onbemande ground voertuigen), lijn volgeling of Domotica, het kan worden gecontroleerd door wifi, Bluetooth en radio-controle. Het belangrijkste doel is de ontwikkeling v
Modulaire Robotic Hand & Arm (met uitgebreide Range of Motion) (3D afgedrukt)

Modulaire Robotic Hand & Arm (met uitgebreide Range of Motion) (3D afgedrukt)

Hallo iedereen! Dit is mijn prototype hand en arm prothese, die ik heb zijn ontwerpen voor verscheidene maanden nu. Het is nog steeds een beetje van een work in progress, en aangezien ik afwerken van met college klassen voor het semester ik heb nog n
Zaad verspreiden Robot

Zaad verspreiden Robot

afgelopen zomer het kwam tot mijn aandacht die je kon kopen bijna alles wat u nodig hebt voor de zorg van het gazon maar een zaad verspreiden robot geautomatiseerd. Dit intrigeerde me. Om te beginnen, waarom op aarde zou iedereen maken gazon zorg rob
Android Robot gecontroleerd voor Beginners (A tot Z)

Android Robot gecontroleerd voor Beginners (A tot Z)

Hou je van Robots? Bent u nieuw in Robotica? Doen je denken om een Robot van kras te bouwen? Zo ja, is deze instructables voor jou. In deze instructables zal ik u tonen hoe kunt u het bouwen van een robot vanaf nul, ik ook je laten zien hoe u kunt co
Ontwerpen van de Robot benen

Ontwerpen van de Robot benen

Als je robot hebben verveeld van wiel beweging, deze instructables u tonen hoe te ontwerpen en maken van Theo Jansen Strandbeest benen (zonder 3D-printer) voor je robot.Ref.:«««https://www.Google.com/search?q=strandbeest&TBM=is...Stap 1: Geometry ont
Pijp Bot - een slimme arduino bluetooth robot

Pijp Bot - een slimme arduino bluetooth robot

Dit is mijn eerste instructables. Hier ben ik tonen hoe maak je een goedkope twee wielen arduino bluetooth robot, met behulp van PVC-buizen en haar gewrichten (voor het maken van het lichaam). Het is eenvoudig om te maken en eenvoudig te programmeren
Eenvoudige RC wig Robot

Eenvoudige RC wig Robot

Ik heb liefgehad Remote Controlled Robots jarenlang en mijn kinderen opgegroeid blootgesteld aan hen. Mijn zoon is eindelijk oud genoeg waar hij zijn eigen robot beginnen te krijgen de knie van het rijden met een joystick kan hebben. Ik ging met een