BASIC4MCU | 질문게시판 | 아두이노 코드 무엇이 문제일까요ㅠㅠ?
페이지 정보
작성자 재나뒤 작성일2020-10-15 19:43 조회3,062회 댓글1건본문
아두이노로 엘레베이터를 만들고 있는데
2,3층 코드는 무시하시고 1층 코드에서
ha 에 0값이 들어오는데도 불구하고 for 문이 종료가 되지 않습니다 ㅠㅠ
무엇이 문제일까요 ?
답변 기다리겠습니다
//시작 세팅
int i=0;
int ha;
int a;
// 아두이노 연결된 핀 설정
#define ENB 5
#define EN3 7
#define EN4 6
#define sw1 2
#define sw2 3
#define sw3 4
#define f1 8
#define f2 9
#define f3 10
int Motor_speed=200;
// 모터 속도 PWM 100으로 설정 0~255
void setup()
{
// PWM 제어핀 출력 설정
pinMode(ENB,OUTPUT);
// 방향 제어핀 출력 설정
pinMode(EN3,OUTPUT);
pinMode(EN4,OUTPUT);
// 스위치 제어핀 입력 설정
pinMode(sw1,INPUT_PULLUP);
pinMode(sw2,INPUT_PULLUP);
pinMode(sw3,INPUT_PULLUP);
pinMode(f1,INPUT);
pinMode(f2,INPUT);
pinMode(f3,INPUT);
Serial.begin(9600);
}
void loop()
{
ha=digitalRead(f1);
Serial.print(ha);
//시작시 1층으로 이동
/*if(start==1){
for(i=0;i=1;){
if(flo1<=distance){
digitalWrite(EN3, HIGH); // 모터B설정 조정요함
digitalWrite(EN4, LOW);
analogWrite(ENB, Motor_speed);
if(distance==flo1) int i=1;
}
}
}*/
//1층에 관한 모터 동작
if(digitalRead(sw1)==LOW){
for(a=0;a=1;){
ha = digitalRead(f1);
Serial.print(" ");
Serial.print(ha);
digitalWrite(EN3, HIGH); // 모터B설정 조정요함
digitalWrite(EN4, LOW);
analogWrite(ENB, Motor_speed);
if(ha==0) {a=1;}
}
}
//2층에 관한 모터 동작
/*if(digitalRead(sw2)==LOW){
for(i=0;i=1;){
if(f1==1){
digitalWrite(EN3, HIGH); // 모터B설정 조정요함
digitalWrite(EN4, LOW);
analogWrite(ENB, Motor_speed);
if(f2==1) i=1;
}
if(f3==1){
digitalWrite(EN3, LOW); // 모터B설정 조정요함
digitalWrite(EN4, HIGH);
analogWrite(ENB, Motor_speed);
if(f2==1) i=1;
}
}
}
//3층에 관한 모터 동작
if(digitalRead(sw3)==LOW){
for(i=0;i=1;){
if(f3==0){
digitalWrite(EN3, LOW); // 모터B설정 조정요함
digitalWrite(EN4, HIGH);
analogWrite(ENB, Motor_speed);
if(f3==1) i=1;
}
}
}*/
}
댓글 1
조회수 3,062master님의 댓글
master 작성일
for(a=0;a=1;){
for(a=0;a==1;){
조건문에서 비교문은 == 두 개를 사용해야 합니다.
= 한 개만 사용하면 대입(치환) 연산이죠