BASIC4MCU | 질문게시판 | ,아두이노 서보모터 블루투스 연결
페이지 정보
작성자 비누 작성일2023-12-22 14:58 조회5,079회 댓글4건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=23608
본문
'앱인벤터'라는 앱과 아두이노 서보모터를 블루투스 연결시켜서 앱에서 버튼을 누르면 서보모터가 30도씩 돌아가도록 코드를 짰습니다
업로드는 오류 없이 되고 서보모터도 돌아가는데 한번 30도 돌아가고 나면 더이상 돌아가지 않습니다. 코드에 문제가 있을까요?
<코드>
#include <SoftwareSerial.h> // TX RX software library for bluetooth#include <Servo.h> // servo libraryServo myservo; // servo nameint bluetoothTx = 2; // bluetooth tx to 10 pinint bluetoothRx = 3; // bluetooth rx to 11 pinSoftwareSerial bluetooth(bluetoothTx, bluetoothRx);int value = 0;void setup(){myservo.attach(9); // attach servo signal wire to pin 9//Setup usb serial connection to computerSerial.begin(9600);//Setup Bluetooth serial connection to androidbluetooth.begin(9600);}void loop(){//Read from bluetooth and write to usb serialif(bluetooth.available()> 0 ) // receive number from bluetooth{int servopos = bluetooth.read(); // save the received number to servoposif(servopos == 'a'){value +=30;if(value == 180)value = 0;}Serial.println(value); // serial print servopos current number received from bluetoothmyservo.write(value); // roate the servo the angle received from the android app}}
댓글 4
조회수 5,079master님의 댓글
master 작성일
코드에 문제가 보이지 않습니다.
서보모터 전원의 전류 부족으로 동작하다가 전압강하가 발생해서 멈추는 것이 아닐까 생각합니다.
비누님의 댓글
비누 작성일
아 답변 감사합니다! 근데 전원의 전류는 풀만땅배터리로 해서 전원의 문제는 아닌 것 같아요...ㅜㅜ
반복문 코드의 문제일까 싶어서 lf (servopos == 'a') 문에 for문을 추가할 수 있는 방법이 있을까요?
master님의 댓글
master 작성일보조배터리 5V를 사용 중인가요?
master님의 댓글
master 작성일
void setup(){
myservo.attach(9);
}
void loop(){
myservo.write(0); delay(1000);
myservo.write(180); delay(1000);
}
모터 테스트는 이 코드로 돌려보면 됩니다.