일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 드론
- 큐라 사용법
- Drone
- 3D 프린터
- Arduino Servo Motor
- Arduino LED example
- MHEV
- python
- Cura 사용법
- Theo Jansen Mechanism
- Cura
- Servo Motor
- 적층형 3D 프린터
- gcode
- LG gram
- support
- 3D Printer
- 아두이노 서보 모터
- 아두이노 LED 예제
- FDM
- Jansen Linkage
- 테오 얀센 메커니즘
- Arduino IDE
- Arduino Ultrasonic Sensor
- 큐라
- Arduino
- 아두이노
- 2020 LG gram
- 서보 모터
- 파이썬
- Today
- Total
목록아두이노 (Arduino) (20)
Mechanic 공방
이번 포스팅에서는 가변 저항을 사용한 서보 모터 제어에 대한 실습을 진행하고자 한다. 가변 저항이란 말 그대로 저항값을 변화시킬 수 있는 부품이다. 아두이노에 사용할 때에는 아날로그 핀에 연결하여 값을 읽어 들일 수 있다. [회로도] 서보 모터의 회로도는 이전 실습과 동일하다. 가변 저항의 경우, 위에 언급했듯이 아날로그 핀인 A0핀에 연결하였으며, 전원의 경우 5V를 부여하면 된다. [코드 설명] #include int servo_pin = 8; int ang_init = 0; Servo servo; void setup() { Serial.begin(9600); servo.attach(servo_pin); servo.write(ang_init); } void loop() { int deg_in = an..
이번 포스팅에서는 원하는 각도를 입력했을 때 서보 모터가 입력값만큼만 움직이도록 제어하는 실습을 해보고자 한다. [회로도] 회로도는 저번 실습과 동일하다. [코드 설명] #include int servo_pin = 8; int ang_init = 0; int ang_in; int ang_sum = 0; Servo servo; void setup() { Serial.begin(9600); servo.attach(servo_pin); servo.write(ang_init); } void loop() { while (Serial.available() == 0) {} ang_in = Serial.parseInt(); ang_sum += ang_in; servo.write(ang_sum); Serial.print..
이번 포스팅에서는 서보 모터를 활용한 실습을 진행해보고자 한다. 서보 모터는 스텝 모터와 비슷한 기능을 담당하고 있지만 그 원리는 다르다. 두 모터 모두 특정 각도 제어에 용이한 모터이긴 하지만, 서보 모터의 경우 전압에 따라 각도를 제어하기 때문에 정확도 측면에서는 스텝 모터에 비해 떨어진다는 단점이 있다. 반면에 스텝 모터의 경우 주어지는 전압의 펄스에 따라 각도를 제어하기 때문에 정확성이 훨씬 더 뛰어나다는 장점이 있다. 결과적으로 스텝 모터의 경우 정밀 가공 장비, 3D 프린터 등 정밀한 제어가 필요한 장치에 많이 사용된다. 본 포스팅에서는 아두이노 키트에 기본 구성품으로 포함되어 있던 서보 모터를 사용하여 제어를 실습해보고자 한다. [회로도] 회로도는 아래와 같다. 서보 모터에는 총 3개의 핀이..
이번 포스팅에서는 저번 실습에 이어 LED를 추가하여 진행해보고자 한다. LED를 사용하여 초음파 센서에 일정 거리 이하로 인식되었을 경우 LED가 켜지도록 하는 실습을 진행해보겠다. [회로도] 회로도는 저번 실습과 동일하며, LED만 추가되었다. [코드 설명] #define EchoPin 13 #define TrigPin 12 #define LED 11 unsigned long duration; float dist; float dist_ref = 5.0; int led = 0; void setup() { Serial.begin(9600); pinMode(EchoPin,INPUT); pinMode(TrigPin,OUTPUT); pinMode(LED,OUTPUT); digitalWrite(LED,LOW);..
이번 포스팅에서는 초음파 센서를 사용하는 실습을 해보고자 한다. 초음파 센서는 초음파를 사용하여 물체와의 거리를 측정할 수 있는 센서로서, 초음파를 발사한 뒤 특정 물체에 튕겨져 다시 되돌아오기까지의 시간을 측정하여 거리를 계산할 수 있는 센서이다. 거리 측정에 가장 많이 사용되며, 자동차의 전후방 감지 센서에도 사용되는 종류의 센서이다. [회로 구성] 회로는 아래와 같이 구성된다. 초음파 센서에는 총 4개의 핀이 존재하는데, VCC, GND, 신호 핀 2개로 이루어져 있다. [코드 설명] #define EchoPin 13 #define TrigPin 12 unsigned long duration; float dist; void setup() { Serial.begin(9600); pinMode(Echo..
이번 포스팅에서는 아두이노에서 제공하는 '인터럽트(Interrupt)'의 개념에 대하여 조금 더 자세히 설명해보고자 한다. 인터럽트란 단어 그대로 중간에 방해하는 것을 말한다. 코드가 진행 중일 때 특정 신호가 입력되게 되면 메인 코드의 진행을 멈추고 해당 신호와 관련된 작업을 먼저 수행 후 다시 메인 코드 진행으로 넘어가게 된다. 아래는 저번 포스팅에서 사용했던 코드이다. #define Button1 2 #define Button2 3 #define LED1 9 #define LED2 10 #define LED3 11 bool status1 = false; bool status2 = false; void setup() { pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT);..
이번 포스팅에서는 저번 '아두이노 LED 실습 (4)'와 동일한 실습 과정을 'Interrupt' 기능을 사용하여 구현해보고자 한다. 'Interrupt'란 단어의 뜻 그대로 방해를 하는 것을 말한다. 어떠한 제어 로직이 진행 중일 때, 특정 신호를 인식하게 되면 해당 진행을 멈추고 특정 신호를 먼저 처리한 뒤 다시 진행을 재개하는 방식을 의미한다. 'Interrupt' 기능에 대한 보다 자세한 설명은 다음 포스팅에서 진행할 예정이며, 본 포스팅에서는 해당 기능을 사용하여 어떻게 동일한 동작을 구현시킬 수 있는지 설명해보고자 한다. [회로 구성] 회로는 실습 (4)와 동일하다. 다만, 아두이노 우노 보드에서 제공하는 인터럽트 기능은 2개의 핀에서만 제공하기 때문에, 아래 회로도에서 제일 왼쪽의 초록색 L..
저번 포스팅에서 버튼을 사용한 아두이노 LED 예제에 대하여 실습을 해보았다. 사용한 버튼의 경우, 누르는 동작으로 회로가 연결되어 on/off 신호를 조절할 수 있는 부품이다. 이렇게 디지털 신호를 사용한 스위치(혹은 버튼)를 사용할 때에는 아래와 같이 두 가지의 형태로 구현이 가능하게 되는데, 각 경우마다 특정 현상이 발생하게 된다. 1. 전원부에 스위치를 연결한 경우 위와 같이 전원부에 스위치를 연결한 경우, 스위치를 on 하게 되면 MCU에는 5V의 HIGH 신호가 입력되게 된다. 하지만, 스위치를 off 하게 되면 MCU에서는 0V의 LOW 신호인지를 판단할 길이 없기 때문에 스위치 off를 제대로 인식할 수 없게 된다. 2. 접지부에 스위치를 연결한 경우 위와 같이 GND에 스위치를 연결한 경..