티스토리 뷰





아두이노START_DC 모터, 서보 모터


아두이노란?



INPUT센서



서보모터의 동작원리

http://blog.naver.com/PostView.nhn?blogId=roboholic84&logNo=220980539535


이미지출처:메카솔루션



서보모터 내부에는 DC모터, 가변저항 , 서보모터 드라이버가 들어있습니다.


그리고 아두이노를 통해서 서보모터를 제어하기 위한 PWM 신호를 주는데 서보모터에서 PWM 신호값과 가변저항 값을 비교해서 DC모터를 회전하게 됩니다.


무한 회전 서보 모터는 뭘까?



무한 회전 서보모터 제어방법


위의 설명에서는 가변저항의 기준으로 PWM 과 비교해서 DC모터를 제어한다 설명이 되어 있습니다.


예를 들어서 PWM신호가 100도이고, 가변 저항값이 90도 라고 할때 100 도로 움직이기 위해 DC모터는 오른쪽으로 회전하기 시작할 것입니다. 그리고 PWM신호가 80도라면 DC모터는 왼쪽으로 회전하는 것이고요 회전을 하다가 각도가 맞추어 지면 DC모터는 멈추게 됩니다.


그런데 여기에서 가변저항을 사용하지 않고 똑같은 저항을 두개 사용해서 값을 90도로 고정하면 어떻게 될까요? 아무리 회전을 해도 각도가 바뀌지 않기 때문에 계속 회전을 하게 됩니다.


instructables.com

http://hackaday.com/

circuits.io

arduino.cc io.

adafruit.com

sparkfun.com

kocoafab.cc



스터디 - TinkerCad
스터디 - TinkerCad Circuits https://www.tinkercad.com/circuits
아두이노가 없어도 웹상에서 연습해 볼 수 있다.



도면 공유 싸이트 http://thingiverse.com/

모델링
https://www.tinkercad.com/ https://www.autodesk.com/products/fusion-360/overview

모델링
www.sketchup.com/

다른 프로그래밍 언어와의 연결 - Scratch

다른 프로그래밍 언어와의 연결 - UNITY (C#)





<아두이노 기초학습>

<기초학습관련사이트>

http://www.hardcopyworld.com/ngine/aduino/index.php/archives/1009


과제

간단한 led를 키고 끄게 만들기....

예제>multiple leds arduino로 유투브검색

정답>13페이지에 4개의 led를 활용한 예제 활용,,


프로그램실행

https://www.arduino.cc/

마이크롤컨트롤러8비트를 원활하게 쓸수 있게한다.

갈릴레이(8비트)나 라즈베이파이(32비트)

아두이노가 오픈소스로 15년차..제일 소스가 많은것이 장점

용어체크

아트메가 아두이노328

컴파일.라이브러리해결하기

http://luftaquila.tistory.com/m/14



1.컴포트연결

2.상위 화살표   스케치 업로드

3.예제 업로드


ctl+a로 기본코드지우고

업로드는 아두이노롤 옮기는
컴파일먼저 하고-업로드
컴파일 오류는 사용어려운 문제가 있다는..

아두이노안에 code를 수정하는 페이지가 있어 활용..


void setup() {
  // 한번만  실행되는함수셋업이라는 함수,이제부터 쓰겠다..중괄호안에 함수를 실행하겠다는 함수
  // 중괄호안에는 명령은 한번만 실행된다...
  //로그인을 한다..사냥터로 간다등 한번 하는 실행에 setup을 쓴다.
}


void loop() {
  //중괄호안의 명령은 계속해서 실행된다.
  //계속헤서 반복하는 것에 쓰인다..loop함수에는..
}


-------------------------------------------------------
기본함수

void setup() {
}

void loop() {
}

-------------------------------------------------------

void setup() {
  //
  pinMode(13,OUTPUT);      //한번만 깜빡이게 하는13번을..보드의 digital번호의 출력..13번을 출력으로 쓰겠다는말
                          //pinMode는 깜빡이게 하고 싶다..
                          //13번 핀을 출력으로 설정한다.
}    

void loop() {
  digitalWrite(13,HIGH);  //Digitalwire는 13번을 켜라.13번 핀을 5V(High)로 만든다. LED를 켠다
  digitalWrite(13,LOW); //13번 핀을 0V(LOW)로 만든다.LED를 끈다.
}



-----------------------------------------------------------
전기회로에 대한이야기..

높은곳에서 낮은곳으로.
연결하는 길만 이으면 전기는 흐른다..

펌프역할을 하는 배터리필요..
전기에서 낮은곳은 0V ground라고 함..
전기가 안흐를때는 gnd에 꽂았는지 확인..

다이오드는 한쪽으로만 흐르게 하는..


led>

긴다리쪽이 플러스

짧은쪽이 마이너스


저항은   +-를 연결해준다..사선도가능,,

gnd는 마이너스..전류가 흘러  들어가는 곳..

------------------------------------------------------------

저항을 곶고...


http://fritzing.org/home/


http://fritzing.org/home/



-----------------------------------------------------------------------------------

LED두개 불켜기


void setup() {
  //
  pinMode(13, OUTPUT);      //한번만 깜빡이게 하는13번을..보드의 digital번호의 출력..13번을 출력으로 쓰겠다는말
                          //pinMode는 깜빡이게 하고 싶다..
                          //13번 핀을 출력으로 설정한다.
   pinMode(12,OUTPUT);
}    

void loop() {
  digitalWrite(13, HIGH);  //Digitalwire는 13번을 켜라.13번 핀을 5V(High)로 만든다. LED를 켠다
  delay(1000);//1000ms동안 기다린다.
  digitalWrite(13 ,LOW); //13번 핀을 0V(LOW)로 만든다.LED를 끈다.
  digitalWrite(12 ,HIGH);
  delay(1000);//1000ms동안 기다린다.
}



학습코드


void setup(){

}



pinMode(13,OUTPUT)
pinMode(12,OUTPUT)
}
void loop(){
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
delay(50);
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
delay(50);



--------------------
1대9의 비율로 아날로그 출력을 하는 것
void loop(){
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
delay(1);
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
delay(9);















댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/11   »
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
글 보관함