질문게시판 > 스텝모터 제어하는 소스파일 수정방법 질문드립니다.

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

스텝모터 제어하는 소스파일 수정방법 질문드립니다.

페이지 정보

작성자 Bs드리프터 작성일23-09-15 14:58 조회1,378회 댓글0건

본문

저희가 사용중인 하드웨어는 아두이노 우노, A4988 드라이버, 2004 I2C LCD, 택트 스위치 5개를 이용해서 스텝모터를 제어하는 프로그램을 설계중입니다. 앞전에도 질문글을 작성했는데 수정사항이 생겨 질문드립니다. 동작은 다음과 같습니다.

 

스위치 1을 눌렀을 때 모터가 회전을 시작합니다. 스위치 2는 누른 횟수만큼 스텝 모터가 회전을 합니다. 이 때 모터의 회전수는 LCD에 표기됩니다. 스위치 3은 누른 횟수만큼 스텝 모터 회전을 discount하는데 0보다는 작아지지 않게 설계했습니다. 스위치 4는 모터의 회전 속도가 빨라집니다 (200까지 올라감). 스위치 5는 회전 속도가 느려지게 설계했습니다. 

 

동작은 원활하게 되나, 버튼 2를 한번 누를때마다 스텝모터가 (360도*15퀴 회전) 5,400도만큼 증가하게 소스파일을 수정하고 싶습니다. 마지막으로 작성한 소스파일을 아래에 작성한 후 질문 마치도록 하겠습니다. 감사합니다. 

 

 

 

#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,20,4); #define bt_start 2 #define bt_countup 3 #define bt_countdown 4 #define bt_speedup 5 #define bt_speeddown 6 #define DIR 8 #define STEP 9 bool flag_countup=0; bool flag_countdown=0; int speed=3000; int pulse=0; int Speed; void setup() { pinMode(bt_start,INPUT_PULLUP); pinMode(bt_countup,INPUT_PULLUP); pinMode(bt_countdown,INPUT_PULLUP); pinMode(bt_speedup,INPUT_PULLUP); pinMode(bt_speeddown,INPUT_PULLUP); pinMode(DIR,OUTPUT); pinMode(STEP,OUTPUT); lcd.init(); lcd.backlight(); lcd.setCursor(0,0); lcd.print(" FILAMENT WINDER"); lcd.setCursor(0,1); lcd.print(" CAPSTONE DESIGN"); lcd.setCursor(0,2); lcd.print(" INJE UNIV"); lcd.setCursor(0,3); lcd.print(" HELLO WORLD"); delay(3000); lcd.clear(); } void lcd_disp() { Speed = map(speed, 15000, 500, 0, 100); lcd.setCursor(0,0); lcd.print("StepMotor Pulse "); lcd.setCursor(0,1); lcd.print("200pulse:1spin ~ "); lcd.print(pulse/200); lcd.setCursor(0,2); lcd.print("StepMotor Speed"); lcd.setCursor(0,3); lcd.print("0% to 100% ~ "); lcd.print(Speed); } void run() { for(int i=0;i<pulse;i++) //1.8도: 1pulse = 360도: 200pulse { digitalWrite(STEP,HIGH); delayMicroseconds(speed); digitalWrite(STEP,LOW); delayMicroseconds(speed); } } void loop() { lcd_disp(); if(digitalRead(bt_start)==0) { run(); } if(digitalRead(bt_countup)==0) { if(flag_countup==0) { flag_countup=1; pulse+=200; lcd_disp(); } } else { if(flag_countup) { flag_countup=0; } } if(digitalRead(bt_countdown)==0) { if(flag_countdown==0) { flag_countdown=1; pulse-=200; if(pulse<0) { pulse=0; lcd_disp(); } } } else { if(flag_countdown) { flag_countdown=0; } } if(digitalRead(bt_speedup)==0) { speed-=100; if(speed<500) { speed=500; } lcd_disp(); } if(digitalRead(bt_speeddown)==0) { speed+=100; if(speed>15000) { speed=15000; } lcd_disp(); } }

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

댓글 : 0

조회수 : 1,378

등록된 댓글이 없습니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[31] master  17-10-29
질문 8체널 릴레이 delay 타임에 대한 질문입니다 댓글[1] 왕왕초a  25-06-06
답변 답변 : 8체널 릴레이 delay 타임에 대한 질문입… 댓글[4] master  25-06-06
답변 답변 : 답변 : 8체널 릴레이 delay 타임에 대… master  25-06-09
질문 tip42C 관련 질문입니다. 댓글[4] 첨부파일노크공돌  25-05-30
질문 24V 모터를 구동하기 위해서 배터리 사용 댓글[3] EYEbot  25-05-24
질문 ATMEGA128 외부 인터럽트 수행. 댓글[2] 첨부파일소고기카레  25-05-11
질문 아두이노 메가 esp32-cam 질문입니다. 댓글[1] 문외한사람  25-04-29
질문 esp32와 pms7003연결해서 데이터를 받고 싶은데… 댓글[1] 첨부파일boar  25-03-27
질문 DLM-64DCAA 고장나서 수리하고 싶습니다 댓글[2] 첨부파일공부하고싶은콩  25-03-11
질문 로봇 얼굴 제작에 대하여 질문드립니다. 댓글[4] 카모킹스  25-03-03
질문 모터와 모터드라이브 질문있습니다 댓글[1] ponyo  25-02-19
질문 공통음극형 FND를 9V로 동작하게 하고 싶어요. 댓글[7] 멘토  25-01-21
질문 oled 모듈 연결 질문입니다! 댓글[1] 펌린이  24-12-17
질문 Atmega 128 타이머 질문있습니다 댓글[1] ednda  24-12-11
답변 답변 : Atmega 128 타이머 질문있습니다 master  24-12-11
질문 ATmega128 2개로 hc-05,hc-06블루트수 … 동콩이  24-12-04
답변 답변 : ATmega128 2개로 hc-05,hc-06… 댓글[4] master  24-12-04
질문 lm75a 온도센서 관련 질문입니다. 댓글[6] 첨부파일hanmw0707  24-12-01
질문 리얼타임클락 질문이요 ㅠㅠ 댓글[1] 팬케이크  24-11-22
질문 가속도센서 2개를 강아지 2마리에 각각 달아서 스마트폰… 댓글[1] gainomax  24-11-21
질문 라즈베리파이 4B 사용 중 막히는 부분 질문합니다 댓글[1] 한마바키  24-11-12
질문 스위치로 PI 모터 제어 바밤  24-11-11
답변 답변 : 스위치로 PI 모터 제어 master  24-11-12
질문 아트메가128 마이크로프로세서 댓글[3] 옹심이  24-11-05
질문 초음파 센서로 장애물 인식 댓글[1] 나난ㄴ  24-10-31
질문 이런 투명 LCD는 뭐라고 부르나요? 댓글[2] 펌린이  24-10-29
질문 모터제어 중 RPM 계산 질문입니다. 댓글[3] suuuuuuuh  24-10-24
질문 아트메가 128과 블루투스 모듈(HC-06) 연결 질문 댓글[1] 메가아트  24-10-24
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전