Design 1

Design 2

Design 3

Eerste versie van de code

#include <Servo.h>

Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;

int potPin1 = A0;
int potPin2 = A1;

int potValue1 = 0;
int potValue2 = 0;

void setup() {
servo1.attach(9);
servo2.attach(10);
servo3.attach(11);
servo4.attach(12);
}

void loop() {
potValue1 = analogRead(potPin1);
potValue2 = analogRead(potPin2);

int servo1Angle = map(potValue1, 0, 1023, 0, 180);
int servo2Angle = map(potValue2, 0, 1023, 0, 180);
int servo3Angle = servo2Angle;
int servo4Angle = servo2Angle;

servo1.write(servo1Angle);
servo2.write(servo2Angle);
servo3.write(servo3Angle);
servo4.write(servo4Angle);

delay(15);
}

Tweede versie van de code waarbij de magneet niet werkte

#include <Servo.h>
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
int potPin1 = A4;
int potPin2 = A2;
int potPin3 = A3;
int buttonPin = 2;
int potValue1 = 0;
int potValue2 = 0;
int potValue3 = 0;
bool button1Pressed = false;
bool magnetOn = 7;

void setup() {
servo1.attach(8);
servo2.attach(9);
servo3.attach(10);
pinMode(buttonPin, INPUT_PULLUP);
}
void loop() {
bool buttonState = digitalRead(buttonPin);
if (buttonState == LOW && !button1Pressed) {
button1Pressed = true;
magnetOn = !magnetOn;
if (magnetOn) {
} else {
}
} else if (buttonState == HIGH) {
button1Pressed = false;
}
potValue1 = analogRead(potPin1);
potValue2 = analogRead(potPin2);
potValue3 = analogRead(potPin3);

int servo1Angle = map(potValue1, 0, 1023, 0, 180);
int servo2Angle = map(potValue2, 0, 1023, 0, 180);
int servo3Angle = map(potValue3, 0, 1023, 0, 180);
int servo4Angle = map(potValue3, 0, 1023, 0, 180);

servo1.write(servo1Angle);
servo2.write(servo2Angle);
servo3.write(servo3Angle);
servo4.write(servo4Angle);
delay(15);
}

De code die we voor de magneet gebruikt hebben. Zolang de knop ingedrukt is dan is de magneet aan.

int val;
int button1Pin = 2;
bool button1Pressed = false;
void setup() {

pinMode(button1Pin, INPUT_PULLUP);pinMode(2, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (digitalRead(button1Pin) == HIGH)
button1Pressed = true;
digitalWrite(7, HIGH);
delay(7000);
if (digitalRead(button1Pin) == LOW)
button1Pressed = false;
digitalWrite(7, LOW);
delay(7000);
}

Laatste aanpassingen

We hebben uiteindelijk 2 arduino's gebruikt. Arduino een hebben we gebruikt voor de mg995 servo's die de robotarm laten bewegen. De tweede voor de Joy-it SEN-MAG25N elektromagneet. We hebben daarvoor gekozen omdat er anders te veel stroom door een Arduino zou lopen. 

Video's die progressie aangeven

Maak jouw eigen website met JouwWeb