질문게시판 > 조이스틱을 이용해서 다양해서 LED출력나오게하기

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

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

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

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

BASIC4MCU > 질문게시판

조이스틱을 이용해서 다양해서 LED출력나오게하기

페이지 정보

작성자 준구 작성일18-10-16 20:40 조회860회 댓글0건

본문

  

질문내용 : 

atmega2560에 조이스틱 쉴드를 꽃아서 LED 하나연결해서 각 버튼을 누를때마다 다른 LED 상황이 나오게 하는거랑, X,Y축을 할때 역시 다르게 결과가 나오게 하는건데..ㅠㅠ 저는 먼저 아래처럼 해봐서 작동은 시켰습니다.

 

#define LED 13

 

 

int i=0;

int a=0;

int x,y;

void setup()

{

Serial.begin(115200);

pinMode(Joystick_X, INPUT);

pinMode(Joystick_Y, INPUT);

pinMode(Joystick_A, INPUT);

pinMode(Joystick_B, INPUT);

pinMode(Joystick_C, INPUT);

pinMode(Joystick_D, INPUT);

pinMode(Joystick_E, INPUT);

pinMode(Joystick_F, INPUT);

}

 

 

void loop()

{

 

 

f

if(analogRead(Joystick_X)==0){

a=1;

}

 

 

else if(analogRead(Joystick_Y)==0){

a=2;

}

 

 

else if(digitalRead(Joystick_A)==0){

a=3;

}

 

 

else if(digitalRead(Joystick_B)==0){

a=4;

}

 

 

else if(digitalRead(Joystick_C)==0){

a=5;

}

else if(digitalRead(Joystick_D)==0){

a=6;

}

else if(digitalRead(Joystick_E)==0){

a=7;

}

else if (digitalRead(Joystick_F)==0){

a=8;

}

 

 

switch(a)

{

case 1 :

Serial.println("X버튼");

analogWrite(LED, analogRead(Joystick_X)/4);

x = analogRead(A0);

Serial.println(x);

delay(100);

break;

 

 

case 2 :

Serial.println("Y버튼");

analogWrite(LED, analogRead(Joystick_Y)/4);

y = analogRead(A1);

Serial.println(y);

delay(100);

break;

 

 

 

 

case 3 :

Serial.println("A버튼");

digitalWrite(LED,HIGH);

delay(800);

digitalWrite(LED,LOW);

delay(200);

break;

 

 

case 4 :

Serial.println("B버튼");

digitalWrite(LED,HIGH);

delay(500);

digitalWrite(LED,LOW);

delay(500);

break;

 

 

case 5 :

Serial.println("C버튼");

digitalWrite(LED,HIGH);

delay(700);

digitalWrite(LED,LOW);

delay(500);

break;

 

 

case 6 :

Serial.println("D버튼");

digitalWrite(LED,HIGH);

delay(900);

digitalWrite(LED,LOW);

delay(500);

break;

 

 

case 7:

Serial.println("E버튼");

digitalWrite(LED,HIGH);

delay(400);

digitalWrite(LED,LOW);

delay(400);

break;

 

 

case 8:

Serial.println("F버튼");

digitalWrite(LED,HIGH);

delay(700);

digitalWrite(LED,LOW);

delay(400);

break;

}

}

}

-----------------------------------------------------------------------------------------------------

 

여기서 문제는...(아래는 스위치 하나를 가지고 LED제어시키는 소스에요)

-----------------------------------------------------------------------------------------------------

 

#define button 12
#define LED 13
boolean on=false;
int buttonCount;
int buttonState;
int programCount;
int pc1 , pc2 , pc3, pc4 ;

void setup(){
 Serial.begin(115200);
 pinMode(LED,OUTPUT);
 pinMode(button,INPUT_PULLUP);
}
 void loop()
{

 
for(buttonState=0 ; buttonState<5 ;)
{
   buttonCount=digitalRead(button);
if(buttonCount==0)
{
buttonState++;
programCount=0;
}
 switch(buttonState)
 {

 case 1:
 Serial.println("1 ProgramCount=>");
 pc1=programCount+1;
 Serial.println(pc1);
 digitalWrite(LED,HIGH);
 delay(300);
 digitalWrite(LED,LOW);
 delay(200);
 break;

 

 case 2:
 Serial.println("2 ProgramCount=>");
 pc2=pc1+1;
 Serial.println(pc2);
 digitalWrite(LED,HIGH);
 delay(700);
 digitalWrite(LED,LOW);
 delay(200);
 break;

 case 3:
 Serial.println("3 ProgramCount=>");
 pc3=pc2+1;
 Serial.println(pc3);
 digitalWrite(LED,HIGH);
 delay(900);
 digitalWrite(LED,LOW);
 delay(200);
 break;
 
 case 4:
 Serial.println("4 ProgramCount=>");
 pc4=pc3+1;
 Serial.println(pc4);
 digitalWrite(LED,HIGH);
 delay(800);
 digitalWrite(LED,LOW);
 delay(200);
 programCount=0;
 break;

}
}

}

 

이건 그냥 스위치 한개 가지고 하는건데..이런방식에서 program count만 빼서 만들라고하는데.. 소스 두개는 제가 만들긴햇어도..위에 소스코드를 아래소스 코드처럼..하기에는 너무 어렵네요 ㅠㅠ..혹시 아시는분 있으신가요 ㅠㅠ?

 

    

 

 

 

 

 

 

 

 

 

 

 

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

댓글 : 0

조회수 : 860

등록된 댓글이 없습니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[10] master  17-10-29
공지 [무료 공개] 소스코드 하이라이트 v2.0 beta [… 댓글[1] 첨부파일master  18-01-23
질문 스텝모터 정지 댓글[1] 아두이노배우기 새글 02:47
질문 정말 감사합니다. 박취  20-02-19
질문 ov9655카메라와 stm32f4 보드를 이용한 영상처… 댓글[7] flap  20-02-19
질문 GLCD 텍스트 출력 댓글[2] 전자학습자  20-02-17
질문 아두이노 HC-11 통신관련입니다. 아두이노배우기  20-02-15
답변 답변 : 아두이노 HC-11 통신관련입니다. master  20-02-16
답변 답변 : 답변 : 아두이노 HC-11 통신관련입니다. 아두이노배우기  20-02-16
질문 led 불켜기 마스터 슬레이브 댓글[1] 공용  20-02-12
답변 답변 : led 불켜기 마스터 슬레이브 master  20-02-12
질문 아두이노 코딩 관련 질문입니다. bbeuniii  20-02-12
답변 답변 : 아두이노 코딩 관련 질문입니다. master  20-02-12
질문 uart 관련 질문 (wiegand통신) 댓글[9] 첨부파일jhyun8624  20-02-11
질문 회로, 코딩 문제 첨부파일공기구함  20-02-10
답변 답변 : 회로, 코딩 문제 댓글[2] master  20-02-10
질문 회로, 코딩문제 댓글[2] 첨부파일공기구함  20-02-10
질문 코딩어레이 질문 master  20-02-07
질문 컴파일 오류가나는데, 이유를 모르겠습니다. 댓글[5] 창고지기  20-02-06
질문 IR센서 2개로 LED, DC모터 제어 (입문자입니다 … 창고지기  20-02-05
답변 답변 : IR센서 2개로 LED, DC모터 제어 (입문… 댓글[1] master  20-02-05
질문 [초보]언어부분 접근 방법 문의 댓글[5] 에루후  20-02-04
답변 답변 : [초보]언어부분 접근 방법 문의 댓글[3] 에루후  20-02-05
질문 아두이노 PS/2 바코드 리더기 코드 해석 질문 master  20-02-02
질문 NodeMCU ESP-32S 외부 전원 모듈 질문드립니… y1234y  20-02-01
답변 답변 : NodeMCU ESP-32S 외부 전원 모듈 … master  20-02-01
답변 답변 : 답변 : NodeMCU ESP-32S 외부 전… 댓글[8] y1234y  20-02-01
질문 아두이노 쿨링팬 제어하기 위해 bjt를 쓰는 이유 질문 master  20-02-01
질문 감사합니다 댓글[1] 박취  20-01-30
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전