모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    박용님의
    개인페이지입니다
    가입 : 14-03-10
    방문 : 197회
    닉네임변경 이력
    회원차단
    회원차단해제
    게시물ID : programmer_23386
    작성자 : 박용
    추천 : 0
    조회수 : 1891
    IP : 123.248.***.241
    댓글 : 3개
    등록시간 : 2023/01/26 13:30:55
    http://todayhumor.com/?programmer_23386 모바일
    아두이노 코딩좀 도와주세요..
    <p>안녕하세요 ...</p> <p>아두이노 작업중인데 ... 몇날몇일을 밤새고 머리 쥐어싸매도 답이 안나와서 도움요청드립니다 ㅠㅠㅠㅠ</p> <p> </p> <p>원래 RFID까지 적용 예정이였는데 ... RFID 불량품이 와버려서 삭제할 예정입니당..</p> <p> </p> <p> </p> <hr style="height:1px;background-color:#999999;border:none;"><p> </p> <p><img src="http://thimg.todayhumor.co.kr/upfile/202301/167470778869f38bf44fc14669a712f9f2790118a2__mn533955__w800__h457__f22241__Ym202301.png" alt="KakaoTalk_20230126_132038686.png" style="width:800px;height:457px;"></p> <p> </p> <p>아두이노로 EM락 2개를 제어해야함.</p> <p> - 스위치 5개 조합으로 1번 EM락, 2번 EM락 제어를 해야함</p> <p> - 스위치 조합 : 흰색 + (조합) + 흰색 / 흰색이 시작과 끝을 의미함</p> <p> <br></p> <p> <br></p> <p>문제 사항</p> <p> - 현재 테스트로 [ W R Y G B W ] 1번 EM락 해제, [ W B G Y R W ] 2번 EM락 해제로 설정해둔 상태</p> <p> - 1번 EM락 해제까지는 정상 작동 함. 이후 W (4개 스위치 아무거나) W 눌러도 1번 EM락만 해제가 됨.</p> <p> - 2번 EM락 해제가 안 됨</p> <p> <br></p> <p>조건</p> <p> 1. 정답일 경우 파란색 경광등 5초간 회전</p> <p> 2. 오답일 경우 빨강색 경광등 5초간 회전</p> <p> 3. 경광등이 작동중일 경우 스위치를 작동 불가.</p> <p> 4. 경광등 작동 종료된 후 스위치 재입력 가능상태</p> <p> 4. W 스위치는 시작과 끝을 의미함.</p> <p> 5. W 스위치를 누르지 않고 조합을 누를경우 무효.</p> <p> </p> <hr style="height:1px;background-color:#999999;border:none;"><p> </p> <p> ```cpp</p> <p>int s1 = 2;  //스위치 1 흰색</p> <p>int s2 = 3;  //스위치 2 빨강</p> <p>int s3 = 4;  //스위치 3 노랑</p> <p>int s4 = 5;  //스위치 4 초록</p> <p>int s5 = 6;  //스위치 5 파랑</p> <p> <br></p> <p>int em1lock = 7;</p> <p>int emlock;</p> <p> <br></p> <p>int s1c = 0;  //스위치1 누른횟수</p> <p>int s2c = 0;  //스위치2 누른횟수</p> <p>int s3c = 0;  //스위치3 누른횟수</p> <p>int s4c = 0;  //스위치4 누른횟수</p> <p>int s5c = 0;  //스위치5 누른횟수</p> <p> <br></p> <p>int s1s;  //스위치 1 동작정의</p> <p>int s2s;  //스위치 2 동작정의</p> <p>int s3s;  //스위치 3 동작정의</p> <p>int s4s;  //스위치 4 동작정의</p> <p>int s5s;  //스위치 5 동작정의</p> <p> <br></p> <p>int timeron = 0;  //타이머 on</p> <p> <br></p> <p>int start1 = 0;  //1번방 동작 시작</p> <p>int start2 = 0;  //2번방 동작 시작</p> <p> <br></p> <p>int room1clear = 0;  //첫번째방 성공</p> <p>int room2clear = 0;  //두번째방 성공</p> <p> <br></p> <p>int act1 = 0;  //룸1 첫번째 동작 성공</p> <p>int act2 = 0;  //룸1 두번째 동작 성공</p> <p>int act3 = 0;  //룸1 세번째 동작 성공</p> <p>int act4 = 0;  //룸1 네번째 동작 성공</p> <p> <br></p> <p>int act5 = 0;  //룸2 첫번째 동작 성공</p> <p>int act6 = 0;  //룸2 두번째 동작 성공</p> <p>int act7 = 0;  //룸2 세번째 동작 성공</p> <p>int act8 = 0;  //룸2 네번째 동작 성공</p> <p> <br></p> <p>int sus = 0;   //성공</p> <p>int fail = 0;  //실패</p> <p> <br></p> <p>int rfidsus = 0;</p> <p>int rfidfail = 0;</p> <p> <br></p> <p>int red = A0;   //경광등 빨강</p> <p>int blue = A1;  //경광등 파랑</p> <p>int em1 = A2;   //EmLock 1</p> <p>int em2 = A3;   //EmLock 2</p> <p> <br></p> <p>//***************************************************************************************************************************************************************************************************************************</p> <p>void setup() {</p> <p> <br></p> <p>  //스위치 1~5 입력모드</p> <p>  pinMode(s1, INPUT);</p> <p>  pinMode(s2, INPUT);</p> <p>  pinMode(s3, INPUT);</p> <p>  pinMode(s4, INPUT);</p> <p>  pinMode(s5, INPUT);</p> <p>  pinMode(em1lock, INPUT);</p> <p> <br></p> <p>  //A0 빨강 경광등 출력</p> <p>  pinMode(red, OUTPUT);</p> <p>  digitalWrite(red, HIGH);</p> <p> <br></p> <p>  //A1 파랑 경광등 출력</p> <p>  pinMode(blue, OUTPUT);</p> <p>  digitalWrite(blue, HIGH);</p> <p> <br></p> <p>  //A2 EmLock1 출력</p> <p>  pinMode(em1, OUTPUT);</p> <p>  digitalWrite(em1, HIGH);</p> <p> <br></p> <p>  //A3 EmLock2 출력</p> <p>  pinMode(em2, OUTPUT);</p> <p>  digitalWrite(em2, HIGH);</p> <p>}</p> <p> <br></p> <p>//***************************************************************************************************************************************************************************************************************************</p> <p>void loop()</p> <p> <br></p> <p>{</p> <p> <br></p> <p>  Serial.println("s2c");</p> <p>  Serial.println(s2c);</p> <p>  Serial.println("s3c");</p> <p>  Serial.println(s3c);</p> <p>  Serial.println("s4c");</p> <p>  Serial.println(s4c);</p> <p>  Serial.println("s5c");</p> <p>  Serial.println(s5c);</p> <p>  Serial.println("act5");</p> <p>  Serial.println(act5);</p> <p>  Serial.println("act6");</p> <p>  Serial.println(act6);</p> <p>  Serial.println("act7");</p> <p>  Serial.println(act7);</p> <p>  Serial.println("act8");</p> <p>  Serial.println(act8);</p> <p>  Serial.println("emlock");</p> <p>  Serial.println(emlock);</p> <p> <br></p> <p>  if (digitalRead(em1lock) == HIGH) {</p> <p> <br></p> <p>    emlock = 1;</p> <p>  }</p> <p>  else {</p> <p>    emlock = 0 ;</p> <p>  }</p> <p> <br></p> <p>  //스위치1*******************************************************************************************************************************************************************************************************************</p> <p>  if (digitalRead(s1) == LOW) {</p> <p>    if (s1s == 0) {</p> <p>      delay(50);</p> <p>      s1s = 1;</p> <p>    }</p> <p>  }</p> <p> <br></p> <p>  if (digitalRead(s1) == HIGH) {</p> <p>    if (s1s == 1) {</p> <p>      start1 += 1;</p> <p>      s2c = 0;  //s2c 초기화</p> <p>      s3c = 0;  //s3c 초기화</p> <p>      s4c = 0;  //s4c 초기화</p> <p>      s5c = 0;  //s5c 초기화</p> <p> <br></p> <p>      act1 = 0;  //룸1 첫번째 성공 초기화</p> <p>      act2 = 0;  //룸1 두번째 성공 초기화</p> <p>      act3 = 0;  //룸1 세번째 성공 초기화</p> <p>      act4 = 0;  //룸1 네번째 성공 초기화</p> <p> <br></p> <p>      act5 = 0;  //룸2 첫번째 성공 초기화</p> <p>      act6 = 0;  //룸2 두번째 성공 초기화</p> <p>      act7 = 0;  //룸2 세번째 성공 초기화</p> <p>      act8 = 0;  //룸2 네번째 성공 초기화</p> <p> <br></p> <p>      delay(100);</p> <p>      s1s = 0;</p> <p>    }</p> <p>  }</p> <p> <br></p> <p>  //스위치2*******************************************************************************************************************************************************************************************************************</p> <p>  if (digitalRead(s2) == LOW) {</p> <p>    if (s2s == 0) {</p> <p>      delay(50);</p> <p>      s2s = 1;</p> <p>    }</p> <p>  }</p> <p> <br></p> <p>  if (digitalRead(s2) == HIGH) {</p> <p>    if (s2s == 1) {</p> <p>      s2c += 1;</p> <p>      delay(100);</p> <p>      s2s = 0;</p> <p>    }</p> <p>  }</p> <p> <br></p> <p>  //스위치3*******************************************************************************************************************************************************************************************************************</p> <p>  if (digitalRead(s3) == LOW) {</p> <p>    if (s3s == 0) {</p> <p>      delay(50);</p> <p>      s3s = 1;</p> <p>    }</p> <p>  }</p> <p> <br></p> <p>  if (digitalRead(s3) == HIGH) {</p> <p>    if (s3s == 1) {</p> <p>      s3c += 1;</p> <p>      delay(100);</p> <p>      s3s = 0;</p> <p>    }</p> <p>  }</p> <p> <br></p> <p>  //스위치4*******************************************************************************************************************************************************************************************************************</p> <p>  if (digitalRead(s4) == LOW) {</p> <p>    if (s4s == 0) {</p> <p>      delay(50);</p> <p>      s4s = 1;</p> <p>    }</p> <p>  }</p> <p> <br></p> <p>  if (digitalRead(s4) == HIGH) {</p> <p>    if (s4s == 1) {</p> <p>      s4c += 1;</p> <p>      delay(100);</p> <p>      s4s = 0;</p> <p>    }</p> <p>  }</p> <p> <br></p> <p>  //스위치5*******************************************************************************************************************************************************************************************************************</p> <p>  if (digitalRead(s5) == LOW) {</p> <p>    delay(50);</p> <p>    s5s = 1;</p> <p>  }</p> <p> <br></p> <p> <br></p> <p>  if (digitalRead(s5) == HIGH) {</p> <p>    if (s5s == 1)</p> <p>    {</p> <p>      s5c += 1;</p> <p>      delay(100);</p> <p>      s5s = 0;</p> <p>    }</p> <p>  }</p> <p> <br></p> <p> <br></p> <p>  //1번룸*******************************************************************************************************************************************************************************************************************</p> <p> <br></p> <p>  if (room1clear == 0 || emlock == 1) {</p> <p>    //흰색 누른 후 빨간색 스위치 1번 눌렀을때</p> <p>    if (start1 == 1 && s2c == 1) {</p> <p>      act1 = 1;</p> <p>    }</p> <p> <br></p> <p>    //흰색 누른 후 노란색 스위치 1번 눌렀을때</p> <p>    if (act1 == 1 && s3c == 1) {</p> <p>      act2 = 1;</p> <p>    }</p> <p> <br></p> <p>    //흰색 누른 후 초록색 스위치 1번 눌렀을때</p> <p>    if (act2 == 1 && s4c == 1) {</p> <p>      act3 = 1;</p> <p>    }</p> <p> <br></p> <p>    //흰색 누른 후 파란색 스위치 1번 눌렀을때</p> <p>    if (act3 == 1 && s5c == 1) {</p> <p>      act4 = 1;</p> <p>    }</p> <p> <br></p> <p>    //모두 완료 후 하얀색 버튼 눌렀을때</p> <p>    if (act4 == 1 && digitalRead(s1) == HIGH) {</p> <p>      sus = 1;</p> <p>      delay(200);</p> <p>    }</p> <p> <br></p> <p>    //클리어시</p> <p>    if (sus == 1) {</p> <p>      digitalWrite(em1, LOW);</p> <p>      digitalWrite(blue, LOW);</p> <p>      room1clear = 1;</p> <p>      start1 = 0;</p> <p>      s2c = 0;  //s2c 초기화</p> <p>      s3c = 0;  //s3c 초기화</p> <p>      s4c = 0;  //s4c 초기화</p> <p>      s5c = 0;  //s5c 초기화</p> <p> <br></p> <p>      act1 = 0;               //첫번째 성공 초기화</p> <p>      act2 = 0;               //두번째 성공 초기화</p> <p>      act3 = 0;               //세번째 성공 초기화</p> <p>      act4 = 0;               //네번째 성공 초기화</p> <p> <br></p> <p>      delay(5000);</p> <p>      digitalWrite(em1, HIGH);</p> <p>      digitalWrite(blue, HIGH);</p> <p>      sus = 0;</p> <p>    }</p> <p> <br></p> <p>    //실패시 하얀색 버튼 눌렀을때</p> <p>    if (act4 == 0 && start1 == 2 && sus == 0) {</p> <p>      s1c = 0;  //s1c 초기화</p> <p>      s2c = 0;  //s2c 초기화</p> <p>      s3c = 0;  //s3c 초기화</p> <p>      s4c = 0;  //s4c 초기화</p> <p>      s5c = 0;  //s5c 초기화</p> <p> <br></p> <p>      act1 = 0;  //첫번째 성공 초기화</p> <p>      act2 = 0;  //두번째 성공 초기화</p> <p>      act3 = 0;  //세번째 성공 초기화</p> <p>      act4 = 0;  //네번째 성공 초기화</p> <p> <br></p> <p>      delay(100);</p> <p>      fail = 1;</p> <p>    }</p> <p> <br></p> <p>    //실패시</p> <p>    if (fail == 1 || timeron == 1) {</p> <p>      digitalWrite(red, LOW);</p> <p>      timeron = 0;</p> <p>      fail = 0;</p> <p>      delay(5000);</p> <p>      digitalWrite(red, HIGH);</p> <p>      start1 = 0;          //스타트 초기화</p> <p>    }</p> <p>  }</p> <p> <br></p> <p>  //2번룸*******************************************************************************************************************************************************************************************************************</p> <p> <br></p> <p>  if (room1clear == 1 && emlock == 0) {</p> <p>    //흰색 누른 후 파란색 스위치 1번 눌렀을때</p> <p>    if (start1 == 1 && s5c == 1) {</p> <p>      act5 = 1;</p> <p>    }</p> <p> <br></p> <p>    //흰색 누른 후 초록색 스위치 1번 눌렀을때</p> <p>    if (act5 == 1 && s4c == 1) {</p> <p>      act6 = 1;</p> <p>    } else {</p> <p>      s4c = 0;</p> <p>    }</p> <p>    //흰색 누른 후 노란색 스위치 1번 눌렀을때</p> <p>    if (act6 == 1 && s3c == 1) {</p> <p>      act7 = 1;</p> <p>    }</p> <p>    //흰색 누른 후 빨간색 스위치 1번 눌렀을때</p> <p>    if (act7 == 1 && s2c == 1) {</p> <p>      act8 = 1;</p> <p>    }</p> <p>    //모두 완료 후 하얀색 버튼 눌렀을때</p> <p>    if (act8 == 1 && digitalRead(s1) == HIGH) {</p> <p>      sus = 2;</p> <p>      delay(200);</p> <p>    }</p> <p> <br></p> <p>    //클리어시</p> <p>    if (sus == 2) {</p> <p>      digitalWrite(blue, LOW);</p> <p>      room2clear = 1;</p> <p>      start1 = 0;</p> <p>      s2c = 0;  //s2c 초기화</p> <p>      s3c = 0;  //s3c 초기화</p> <p>      s4c = 0;  //s4c 초기화</p> <p>      s5c = 0;  //s5c 초기화</p> <p> <br></p> <p>      act5 = 0;               //첫번째 성공 초기화</p> <p>      act6 = 0;               //두번째 성공 초기화</p> <p>      act7 = 0;               //세번째 성공 초기화</p> <p>      act8 = 0;               //네번째 성공 초기화</p> <p>      delay(10000);</p> <p>      digitalWrite(blue, HIGH);</p> <p>      sus = 0;</p> <p>    }</p> <p> <br></p> <p>    //rfid까지 성공</p> <p>    if (sus == 2 && rfidsus == 1) {</p> <p>      digitalWrite(em2, LOW);</p> <p>      digitalWrite(blue, LOW);</p> <p>      room2clear = 1;</p> <p>      start1 = 0;</p> <p>      delay(10000);</p> <p> <br></p> <p>      digitalWrite(em2, HIGH);</p> <p>      digitalWrite(blue, HIGH);</p> <p>      sus = 0;</p> <p>    }</p> <p> <br></p> <p>    //실패시 하얀색 버튼 눌렀을때</p> <p>    if (act8 == 0 && start1 == 2 && sus == 0) {</p> <p>      s1c = 0;  //s1c 초기화</p> <p>      s2c = 0;  //s2c 초기화</p> <p>      s3c = 0;  //s3c 초기화</p> <p>      s4c = 0;  //s4c 초기화</p> <p>      s5c = 0;  //s5c 초기화</p> <p> <br></p> <p>      act5 = 0;  //첫번째 성공 초기화</p> <p>      act6 = 0;  //두번째 성공 초기화</p> <p>      act7 = 0;  //세번째 성공 초기화</p> <p>      act8 = 0;  //네번째 성공 초기화</p> <p> <br></p> <p>      delay(100);</p> <p>      fail = 1;</p> <p>    }</p> <p> <br></p> <p>    //실패시</p> <p>    if (fail == 1 || timeron == 1) {</p> <p>      digitalWrite(red, LOW);</p> <p>      timeron = 0;</p> <p>      fail = 0;</p> <p>      delay(5000);</p> <p>      digitalWrite(red, HIGH);</p> <p>      start1 = 0;          //스타트 초기화</p> <p>    }</p> <p>  }</p> <p> <br></p> <p>  //RFID*******************************************************************************************************************************************************************************************************************</p> <p> <br></p> <p>}  //loop문</p> <p> <br></p> <p>```</p>
    박용의 꼬릿말입니다
    함께의 가치를 믿습니다.

    이 게시물을 추천한 분들의 목록입니다.
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    66
    화물자동차 차고지증명제 도와주세요.. 박용 23/03/17 13:29 171 0
    아두이노 코딩좀 도와주세요.. [4] 박용 23/01/26 13:30 314 0
    63
    마비노기 처음 시작하려는데 도와주십셔.. [6] 박용 22/07/22 22:18 196 4
    62
    스피커 연장케이블+커플러 사용시 노이즈가 발생할까요 ? [1] 박용 22/02/01 00:31 134 0
    57
    집주인때문에 미쳐버릴것 같아요 [3] 박용 21/04/02 13:48 473 1
    53
    돈 빌려준지 2년이 지났는데 연락두절됐습니다 [2] 박용 19/10/30 07:01 54 1
    51
    베이킹 반죽밀대 질문드려요. [2] 박용 19/05/30 03:46 213 0
    50
    일본여행중에 질문드립니다. [1] 박용 19/04/21 17:07 106 1
    49
    운송료 미지급 관련 소송문의 [2] 박용 19/01/14 08:37 71 0
    47
    20년 된 아파트 주차문제 - 3 [15] 박용 18/04/14 23:51 182 1
    44
    어느순간부터 에픽이 너무 안 뜨는것 같아요. [5] 박용 18/03/02 03:15 201 0
    41
    맥북으로 배틀그라운드 돌아가나요 ? [4] 박용 17/12/08 02:11 187 0
    40
    이 차는 주차선을 벗어난건가요 벗어나지 않은건가요 ? [16] 박용 17/10/14 10:33 404 0
    39
    캐리어 투명커버 질문드려용 ㅜㅜ 박용 17/08/19 22:16 32 0
    38
    20년 된 아파트 주차공간 문제 - 2 [5] 박용 17/08/13 10:09 194 0
    [1] [2] [3]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈