gledelJiae Kimlimbyoungjunchoijm1024JUNG MIN SON
Published © GPL3+

Robot Arm With Arm With Arduino 101

Intel innovation lab coach workshop 2nd mission.

IntermediateProtip1 hour2,239
Robot Arm With Arm With Arduino 101

Things used in this project

Hardware components

Arduino 101
Arduino 101
×1
Jumper wires (generic)
Jumper wires (generic)
×9
Servos (Tower Pro MG996R)
×2

Story

Read more

Code

robot code

C/C++
/*
   
*/
#include "CurieIMU.h"

#include <Servo.h>
Servo servo1;  //  
Servo servo2;  //  
#define Servo1Pin 5	  //     
#define Servo2Pin 6   //       

void Accelerometer(){
	int x, y, z, accX, accY;
    x = CurieIMU.readAccelerometer(X_AXIS); // X  
    y = CurieIMU.readAccelerometer(Y_AXIS); // Y  
    z = CurieIMU.readAccelerometer(Z_AXIS); // Z  

	//      
	if(x > 15000)  x=13000;
	if(x < -15000) x=-13000;
	if(y > 15000)  x=13000;
	if(y < -15000) x=-13000;

	//    0~179  
	accX = map(x, -13000, 13000, 10, 169);
	accY = map(y, -13000, 13000, 10, 169);

	servo1.write(accX); //  X    
	servo2.write(accY); //  X    

	Serial.print(accX);
	Serial.print(" / ");
	Serial.println(accY);
	delay(100);
}

void setup() {
    Serial.begin(9600);                   //  
    CurieIMU.begin();                      //  
    CurieIMU.setAccelerometerRange(2); //   
    pinMode(Servo1Pin, OUTPUT);           // 1  
    pinMode(Servo2Pin, OUTPUT);           // 2  
	servo1.attach(Servo1Pin);               // 1  
	servo2.attach(Servo2Pin);               // 2  
}

void loop() {
	Accelerometer();
}

Robot

C/C++
/*
 ์ฐจ๋Ÿ‰ ์žฅ์ฐฉ์šฉ ์ˆ˜ํ‰์ง‘๊ฒŒ
*/
#include "CurieIMU.h"

#include <Servo.h>
Servo servo1;  // ์ง‘๊ฒŒ ์„œ๋ณด
Servo servo2;  // ์˜ฌ๋ฆฌ๋Š” ์„œ๋ณด
#define Servo1Pin 5	  // ์ง‘๊ฒŒ ์„œ๋ณด ๋ชจํ„ฐ ์˜ค๋ Œ์ง€ํ•€์— ์—ฐ๊ฒฐ
#define Servo2Pin 6   // ์˜ฌ๋ฆฌ๋Š” ์„œ๋ณด ๋ชจํ„ฐ ์˜ค๋ Œ์ง€ํ•€์— ์—ฐ๊ฒฐ  

void Accelerometer(){
	int x, y, z, accX, accY;
    x = CurieIMU.readAccelerometer(X_AXIS); // X์ถ• ๊ฐ€์† ์ฝ๊ธฐ
    y = CurieIMU.readAccelerometer(Y_AXIS); // Y์ถ• ๊ฐ€์† ์ฝ๊ธฐ
    z = CurieIMU.readAccelerometer(Z_AXIS); // Z์ถ• ๊ฐ€์† ์ฝ๊ธฐ

	// ๊ฐ€์†๊ธฐ ์ตœ์†Œ ์ตœ๋Œ€ ๋ฒ”์œ„ ์ œํ•œ ์„ค์ •
	if(x > 15000)  x=13000;
	if(x < -15000) x=-13000;
	if(y > 15000)  x=13000;
	if(y < -15000) x=-13000;

	// ๊ฐ€์†๊ธฐ ์ตœ๋Œ€ ์ตœ์†Œ๊ฐ’์„ 0~179 ๋ฒ”์œ„๋‚ด๋กœ ๋ณ€ํ™˜
	accX = map(x, -13000, 13000, 10, 10);
	accY = map(y, -13000, 13000, 10, 10);

	servo1.write(accX); // ๋ณ€ํ™˜๋œ X ๊ฐ’ ์„œ๋ณด์— ์ ์šฉ ๋™์ž‘
	servo2.write(accY); // ๋ณ€ํ™˜๋œ X ๊ฐ’ ์„œ๋ณด์— ์ ์šฉ ๋™์ž‘

	Serial.print(accX);
	Serial.print(" / ");
	Serial.println(accY);
	delay(100);
}

void setup() {
    Serial.begin(9600);                   // ์‹œ๋ฆฌ์–ผ ์ดˆ๊ธฐํ™”
    CurieIMU.begin();                      // ๊ฐ€์†๊ธฐ ์ดˆ๊ธฐํ™”
    CurieIMU.setAccelerometerRange(2); // ๊ฐ€์†๊ธฐ ๋ฒ”์œ„ ์„ค์ •
    pinMode(Servo1Pin, OUTPUT);           // ์„œ๋ฒ„1 ํ•€ ์ถœ๋ ฅ์„ค์ •
    pinMode(Servo2Pin, OUTPUT);           // ์„œ๋ฒ„2 ํ•€ ์ถœ๋ ฅ์„ค์ •
	servo1.attach(Servo1Pin);               // ์„œ๋ฒ„1 ํ•€ ์—ฐ๊ฒฐ์„ค์ •
	servo2.attach(Servo2Pin);               // ์„œ๋ฒ„2 ํ•€ ์—ฐ๊ฒฐ์„ค์ •
}

void loop() {
	Accelerometer();
}

Credits

gledel
100 projects โ€ข 116 followers
Looking back on my childhood, I was happy when I was making something and I was proud of myself. "Making is instinct!"
Jiae Kim
0 projects โ€ข 0 followers
limbyoungjun
0 projects โ€ข 0 followers
choijm1024
0 projects โ€ข 0 followers
JUNG MIN SON
0 projects โ€ข 0 followers

Comments