아두이노 버튼으로 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모터 전원 껐다 끄기

[2020-07-10]

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

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

- 설계도 -

설계도

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

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

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

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

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

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

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

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

자세히보니 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모터를 끔 } }

- 실제 작동 화면 -

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

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

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

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

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

어서 문제점들을 파악하고

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

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

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

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

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

Toplist

최신 우편물

태그