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

TODAY1,420 TOTAL1,081,091
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


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

페이지 정보

작성자 준구 작성일2018-10-16 20:40 조회987회 댓글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

조회수 987

등록된 댓글이 없습니다.

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은 질문게시판에서만 작성 가능합니다. 스태프 19-01-15 1690
공지 사이트 이용 안내댓글[11] master 17-10-29 11178
공지 [무료 공개] 소스코드 하이라이트 v2.0 beta [2013.02.07]댓글[1] 이미지첨부파일 master 18-01-23 4210
질문 타이머/카운터 1을 10비트 분해능의 Fast PWM 모드로 설정, 문제좀 알려주세요 새글 Tani 22:20 4
질문 AVR 코드로 7세그먼트 4자리 불 들어오는법이요!!댓글[1] 이미지새글첨부파일 dslaks 21:00 9
질문 아두이노 시리얼 통신 새글 눈의궁전 19:04 6
답변 답변글 답변 : 아두이노 시리얼 통신 새글 master 21:25 6
질문 아두이노 소스코드 합치기 질문 드립니다.댓글[1] 새글 하기싫다 15:47 11
질문 키패드설정값 문자표기 릴레이작동댓글[2] 새글 왕왕초a 01:34 14
질문 아트메가와 아두이노 통신 하는방법! 새글 jiseok 00:11 13
답변 답변글 답변 : 아트메가와 아두이노 통신 하는방법! 새글 master 08:57 9
질문 atmega128을 이용하여 PORTA에 2진수 패턴이 출력되도록 하는 C프로그램 작성 새글 혀스석 20-05-31 21
답변 답변글 답변 : atmega128을 이용하여 PORTA에 2진수 패턴이 출력되도록 하는 C프로그램 작성댓글[2] 새글 master 08:46 18
질문 센서 평균값 구하기댓글[2] 새글 팬다 20-05-31 22
답변 답변글 답변 : 센서 평균값 구하기 새글 master 08:41 6
질문 Atmega128P BLDC 모터관련 질문좀할게요(3)댓글[1] 차니 20-05-30 35
답변 답변글 답변 : Atmega128P BLDC 모터관련 질문좀할게요(3) master 20-05-30 31
질문 (질문)atmega128을 이용한 LED제어댓글[2] 발양말 20-05-29 58
질문 아두이노와 자동차 연결댓글[1] 수닝 20-05-29 34
질문 micros() 함수 질문입니다.댓글[1] 아누이도 20-05-29 26
질문 avr 미세먼지센서에 관련하여 질문 있습니다!!댓글[1] jhjh 20-05-28 26
질문 아두이노 질문입니다!댓글[1] 아누이도 20-05-28 32
질문 아두캠 사진촬영댓글[1] 던질까 20-05-28 33
질문 atmega 128 을 이용한 UART 통신 질문 있습니다! 이미지첨부파일 옥수수깡 20-05-28 32
답변 답변글 답변 : atmega 128 을 이용한 UART 통신 질문 있습니다! master 20-05-28 39
질문 아두이노 실행 반복/중단 문제입니다댓글[1] KSJ126 20-05-28 28
질문 아두이노 수정 부탁드려요댓글[1] 알둘이놀 20-05-28 29
질문 안녕하세요.. 아두이노 완전초짜질문있습니다.댓글[2] 이미지 g대학 20-05-28 40
질문 아두이노 관련 질문입니다.댓글[1] 이미지 아누이도 20-05-28 30
질문 초음파 2개 제어해서 거리에 따른 LED 불 켜기댓글[1] 전과자14학번 20-05-28 37
게시물 검색

2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기