아두이노 버튼으로 DC 모터 제어 - adu-ino beoteun-eulo DC moteo jeeo

[Smart_Fan] 03 - Arduino : DC모터 작동 시키기

[Smart_Fan] 02 - Oven으로 앱 UI 구상 및 아두이노 구입 [Smart_Fan] 01 - 주제 선정 주제 선정 [2020-06-10] 친구와 함께 어떠한 주제를 가지고 프로그램을 개발할 것인지에 대해 결정을 하기 위해 만났다. 일�

onelight-stay.tistory.com

아두이노 버튼으로 DC 모터 제어 - adu-ino beoteun-eulo DC moteo jeeo

버튼으로 DC모터 전원 껐다 끄기

[2020-07-10]

아두이노를 연결했을 때 DC모터가 바로 돌아갈 수 있게 만들어 보는 시간을 가졌다면

이번에는 버튼을 추가해 DC모터의 전원을 껐다 켰다 할 수 있게 만들어 보는 시간을 가져보았다.

- 설계도 -

아두이노 버튼으로 DC 모터 제어 - adu-ino beoteun-eulo DC moteo jeeo
설계도

기존에 크게 달라진 건 없지만 푸시버튼을 추가해 주었으며

한쪽은 (+)에 꽂아주고 다른 한 쪽은 디지털 핀과 연결한 후에

저항을 추가해 (-)에도 달아주었다.

이때도 마찬가지로 마찬가지로

처음으로 버튼을 달아보는 거라 이곳저곳을 찾아보면서

나름 해본 것인데 이제와서 보니 약간의 문제가 보인다. 

아두이노 버튼으로 DC 모터 제어 - adu-ino beoteun-eulo DC moteo jeeo

저번에 모터는 아날로그로 출력해야하기 때문에

아날로그 출력이 가능한 디지털핀에 꽂아야한다고 했었는데

자세히보니 13번에 꽂아놓았다.... ^^

( 그래도 이제라도 눈에 보여서 문제점을 캐치한것에 만족하자 )

- 코드 -

int state = 0; // 버튼의 누름 여부를 파악하기 위한 변수 선언 void setup() { pinMode (12, INPUT); // 12번핀은 버튼의 입력모드로 설정 pinMode (13, OUTPUT); // 13번핀은 DC모터의 출력모드로 설정 } void loop() { if(digitalRead(12) == HIGH) { // 버튼이 눌렸을 때 if(state == 0) { // state의 값이 0이라면 state = 1; // state에 값 1을 넣어줌 } else if(state == 1) { // state의 값이 1이라면 state = 0; // state에 값 0을 넣어줌 } } if(state == 1) { // state가 1이라면 digitalWrite(13, HIGH); // DC모터를 돌림 } else if (state == 0) { // state가 0이라면 digitalWrite(13, LOW); // DC모터를 끔 } }

- 실제 작동 화면 -

아두이노 버튼으로 DC 모터 제어 - adu-ino beoteun-eulo DC moteo jeeo
아두이노 버튼으로 DC 모터 제어 - adu-ino beoteun-eulo DC moteo jeeo

보자마자 알 수 있듯이 기본적으로 선풍기는 꺼져있는 상태에서 시작해야하는데

전원을 연결했을 경우 켜져있는 상태를 먼저 보이는 것을 확인 할 수 있으며,

버튼을 여러번 눌러야 겨우 인식이 되는 것을 확인할 수 있다.

또한 GIF에서는 확인하기 어렵겠지만

어쩔때는 모터에 소리만 발생하고 동작하지 않는 경우도 있다.

어서 문제점들을 파악하고

정상적으로 작동할 수 있게 해야겠다.


아두이노를 만지면서 계속적으로 발생되는 오류와

작동되지 않는 모습에 약간의 좌절감을 살짝 맛보았지만

그래도 이번을 계기로 더 잘해서 꼭 성공해야겠다는 다짐을 했다.

다음에는 꼭 성공하도록 하자.