VicPy 프로세싱 - 서보모터와 피에조 스피커 사용하기 > 아두이노

Arduino

아두이노 강의 리스트

VicPy | 프로세싱 - 서보모터와 피에조 스피커 사용하기

본문

※ 영상을 선명하게 보기 안내
  1. 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
  2. 팝업목록에서 "품질" 선택하세요.
  3. 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
VicPy님의 아두이노강의 청각장애인을 위한 자막
15444295033357.jpg

 de 5

안녕하세요 이번시간에는 아두이노 의 서보 모터와 피해 줘 스피커 등을
연결해서 프롤 프로세싱 으로 제어하는 것을 해 보도록 하겠습니다
먼저 서버 모터는 연결한 다음에 키봇 2로 서보 모터를 제어하는 것을
해보고요
그 다음에 피해 줘 스피커를 연결해서 키보드로 피해서 스피커를 연주하는
것을 해 보도록 하겠습니다
음 서보모터 루 키보드를 제어하는 것은 먼 jr 같은 식으로 해 볼까요
만약 키보드의 위 아래 방향키를 누르면 화면에 있는 각도가 변경 이
되면서 똑같이 서보 모터의 각도가 바뀌도록 한번 해볼까 합니다
재료는 서버 모터 한 개만 있으면 됩니다
회로도는 오벌 트와 그라운드를 서 버터 쪽에 한쪽에 연결을 해 주시고
또한 쪽에 디지털 핀 의 연결하는 것은 아 2인의 9 보안 핀을 연결을
해주시면 됩니다
코 세신 코드를 한번 살펴보겠습니다
앞부분에서 봤던 것처럼 라이브러리를
불러오는 것과 또 아두이노 변수를 선언하는 것을 넣어 주시고요
그 다음에 여기서 우리가 9번 핀을 통해서 서보 모터를 제어할 것이기
때문에 서버 라는 변수에 다가 9 를 할당 해줬습니다
그리고 여기 a led 라드 라고 되어 있는 것은 현재 서번트의 각도를
저자 하기 위해서 설정해 놓은 변수 고요
응 여기에 cx cy 는
여러분들이 이제 화면에 보이는
이와 같이 각도를 이제 화면에 표시 표시를 할 때 2호 라고 하는데
2호에
중심 좌표를 4번 기록하기 위해서 나도 봅니다
3 억 부분을 보시면 은 창에 크기를 400 곱하기 400 올 설정을
했고요
글자 크기를 30 으로 설정한 다음에
텍스트 온라인 이라고 해서 센터라고 설정을 했어요
예 값도 값을 이제 텍스트를 출력하기 위해서 인데
텍스트 온라인 을 위해서 한번 설명을 드리면 은 텍스트 온라인 이랑 글자
가 출력되는 기준을
왼쪽 적 면으로 함량 오른쪽 정렬이 냐 가운데 정렬이 냐
이걸 설정 하는 거예요 여러분들이 한글이나 워드 문서에서 불 차를 정렬
했던 것과 같이 여기서도 수평 이나 수직 또는 이러한 수직과 수평이 나
수직으로 글자를 정렬할 수 있습니다
한번 예로 보면은
여기서 지금 똑같이 x 좌표가 가운데 출력되도록 하는 대신에
모두 이제 높이만 y 좌표 많다 를 해 놓았구요
그 처음에 그냥 헬로 를 입력하고 하나는 이제 텍스 온라인 센터 하는
텍스트 온라인 라이트로 설정을 했습니다
서 출력을 하면 은
이아 같이 글자들이 정렬이
다르게 되어 있는 것을 볼 수가 있죠
마찬가지로 만약에 수평니라 수직으로 설정을 하시고 싶으시다면 은
뒤에다가 탑 바 틈 센터 등을 입력을 해주시면 됩니다
이제 텍스 온라인 설명해 드렸고 다시 돌아오면 은 cx 바로 이제 앞서
보여드렸던 호의 중심의 x 좌표 중심 y 좌표 호의 중심의 x 좌표는
윈도우 크기에 나누기 이니까 는 바로 윈도의 중심점 물어 이제 설정을
했고요
그 다음에 호의 그 중심점 의 y 좌표는
녹 윈도우 크기의 3분의 1을 곱한 거기 때문에
이와 같이 5에 중심 좌표 가 나 둘 셋 했을 때
3분의 3분의 2에 해당되는 자 표가 설정 되도록 했습니다
2 다음에 밑에 코드들은 설정 하는 것이기 때문에 동일한데 여기서 좀더
다른 점은
원래 아드 위너 에서 써보 를 제어할 때 써 보라는 라이브를 사용 사용한
다음에 써보 변수에 다가 어때 칠하는 메서드를 사용해 가지고 사용하고자
한 핌 번호를 서넛 그 4개 방수로 넣어주는 것을 했잖아요
여기서는 아들인 어쩜 핌 얻으라고 설정 하신다음에 서버 핑 번호를 입력해
주시고
아들의 노천 써 보라는 상수를 이렇게 입력을 해주시면 은 바로 아두이노
쪽에서 서버 퇴치 와 같은 식으로 몇 명이 전달되게 됩니다
그 다음으로 들어오 들어 오게 함 술 쪽 코드 한번 살펴보도록 하겠습니다
앞서 봤던 것처럼 키 프레스드 라는 게 바로 이제 여러분들이 키보드를
눌렀는지 확인 하고요
키 현재 키랑 코디드 라는 상수를 이제 확인을 하는데
디아 와서 확인을 하면 은 키 이랑 코디드 라는 상수를 확인 하는 이유는
여러분들이 만약에 키보드에서 일반 숫자나 글자가 아닌 무슨 알트 나
컨트롤 쉬프트 등을 입력하게 되면 은 키에 코디 d 라는 이런 삼수 에
해당 는 값이 할당이 됩니다 따라서 이웃을 서로 비교를 했었을 때 참이
되면은 여러분들이 일반 문자가 아니라 ito 컨트롤 드 또는 다양 키를
눌러 따는 것을 인식하게 됐다는 겁니다
그래서 만약에 이제 방향키 등은
눌렀는지 이제 확인하고 다시 한번 현재 그 키값이
여러분들이 방향 키를 눌렀는지 확인을 하고 또 난방 야키 아래를 눌러
인지 확인을 한 다음에 방향키 위를 눌러 쓰면 은
각도 해당되는 값을 증가시키고 또 하나 각도 해당되는 가슴 감소
시키도록 지금 설정해 놨습니다
여기 보시면 여기 보시면은 라드 2 콜 하고 커 스트레인 한 다음에 함서
보이는데 이 부분을 설명을 드리면 은
이거는 이제 프로세싱 에서 만들어지 함수입니다
이제 값이 정해진 범위 안에서 제한하도록 만든 함수입니다
여기 보시면은 3개의 인자를 봤는데
기준값 채소값 최대 갑니다
만약에 라디 라는 역이 값도 해당되는 밥 c -
지금 설명하지만 -2 라고 하면은
영이라는 채소 가스의 봄보다 밑으로 떨어져 짜 나요
그러면은 이 컨텐츠의 함수는 자동으로 얘를 영어로 만들어 줍니다
반대로 나드 라는 이런 값도 해당되는 값이 165 라던지 이렇게
그 더 최대 값보다 더 높아지면 은
예 컨 스트레인 함수는 다시 이것을 160 으로 만들어 줍니다
따라서 그 변경된 값이 다시 앞에 있는 값에 저장되도록 했습니다
결론은 모든 값이 항상 0이나 배경과 16있도록 해주는 함수 라고
보시면 됩니다
또 다시 코드로 이 이동을 해서
여기서 들어 500건 라운드 라는 함수를 호출 하는 데 이 들어
백그라운드 는 밑에서
더위가 임의적으로 이제 안들어서 함수 고요
그 다음에 그 깨끗 배경을 그리는 함수 호출 한 다음에 그 다음에
아들이는 서버 라이트라는 마찬가지로 아두이노 에서 서버 라이브를 위해
라이타 메서드와 마찬가지로 써보 피는 핀 의 값도 값을 이제 보내서 써보
못해 값도 를 설정 하는 것을 명령어로 보내는 겁니다
그래서 1,000분의 5 10조를 딜레이 하도록 되어 있고 여기서 들어온
백그라운드 라는 함수를 좀 더 자세히 살펴 부분을
이해가 가지 되어 있습니다 화면에 그림을
하얀 색으로 색칠을 해 준 다음에 면에 있는 색깔을 하얀 색으로 색칠을
준비를 하고요
그 다음에 아크 라는 함수가 나옵니다
크 라는 함수가 바로 앞서 맨 처음에 봤던 호를 그리는 명령어입니다
여기서 보시다시피 아크라 남순은 인자 값을 상당히 많이 받아요
그래서 호에 포드 결국에 이제 전체적으로 봤을때 원의 1 부분이기 때문에
원과 같이 볼 수가 있는데
호 중심의 x 좌표 i 작품 2개를 받고 호에 넓이 까 왜 높이 값을
받습니다
그리고 2호가 시작도 끝도 를 봤는데 이 시작 또는
여기가 0이고
여기가 90도
여기가 180도 1회 7시 더 360도 됩니다
여기서는 각도를 설정할 때 연구 13 165 로 입력하는 것니라
180도 에 해당되는 것이 파이로 입력하고
2 360도 가 이 파일 입니다
프로세싱 쪽에 가서 호를 그리는 사람 보살펴 부분은
먼저 이제 참 크기는 일반적으로 400 곱하기 400 하고 화면에 회색
으로 설정한 다음에 호흡의 이렇게 그리면 은
현재 호의 중심가 표를 윈도우 창 의 중심점으로 잡아 두었습니다
그 다음에 호의 높 넓이를 202 배부를 설정한 다음에 시작 각도와
0에서
파이의 3분의 5 해당되는 각도를 그리도록 하니까 이렇게 표시가 됐죠
만약에 호 를 이용해 가지고 완전한 원을 그린다고 하시면은
0에서 그래서 파이 곱하기 부분을 투 화 이라고 입력을 하시면
완전한 원으로 그릴 수가 있습니다
그리고 마찬가지로 호 부분에
모드가 존재한다. 고 돼 있는데 한번 서로 1c 임명을 해보시면 은
오픈으로 원을 그리며 이렇게 되고요
코드로 입력하게 되면 원이 이렇게 그려주고
선이 구워 졌지요 그 다음에
파이로 떨어지게 되며 4호가 이와 같은 식으로 그려줍니다
이제 호를 그리는 것이 여기서 됐구요
여기서 r 하고 트 식 있어 전 이유는 현재 이제
저희가 키보드를 움직였을 때
이 각도를 표시해주는 오고 직선의 그려주기 위해서 써준 공식입니다
어찌 보면 복잡한 수학 공식이 때문에 굳이 여기서 이해 하실 필요는
없구요
간단히 넘어가면 은 여기서 맵 함수와 같이
여기서 각도 값이 0에서 360도 사이에 존재할 수 있는데 그 범위 값을
0 에서 투 파 의 사이에 있는 범위 값으로 변환을 시켜 준 다음에 투
파 에서 빼 주는 겁니다
그런 다음에 원
직선을 긋는 데 직선의 시작점은 5에 중심 저민 xcx ci 를 넣어주고
여기서는
어떤 호에서 어떤 각도의 해당되는 직선을 그어 줄 때 이와 같은 식으로
한다.고만 아시면 됩니다
그 다음에 면의 색깔을 검정색으로 놓으시고
왜냐하면 글자 색깔을 검정으로 하셔야 되어 있군요
그 다음에 텍스트 함수를 통해서 현재 각도 해당되는 라드 변수를
원 의 중신 좌표 인 씨 x 루시 y 에서 c y y 좌표에서 30p
30 픽셀 밑에 있는 곳에
밥도 를 써 지도록 설정해 두었습니다
다음으로 이제 넘어가서 실제 코드를 한번 돌려서
확인을 해보도록 하겠습니다
네 이제 한번 코드를 실행해 보도록 하겠습니다
이렇게 코드를 실행하면 은호가 그려지고 화면 2 와 같은 그림이 표시된
것을 볼 수가 있죠
그 다음에 방향 필요 한 번 눌러 볼게요
다시 방 표 2 아래로 눌러주면 에 이렇게 방향키를 위 아래로 눌러주면
따라서 화면에 글리 미토 변하고 그 그림이 변하는 것과 같이 서보 모터가
이동되는 것을 볼 수가 있죠
여기서는 최대 160도 까지 설정 하도록 해 두었습니다
다음은 아두이노 의 피해 줘 스피커를 연결한 다음에 프로세싱 을 이용해서
키보드로 피에조 스피커 를 연주하는 것 회복합니다
윈도우에서는 여러분들이 눈에 키보드 마다 해당되는 개 이름이 화면에
표시되도록 할 겁니다
재료 피해 줘 스피커 하나만 있으면 됩니다
페로 더는 이전에 아들이 내에서 했던 것과 같이
비해도 스피커 의 한쪽 플러스 부분을 아주 인어의 8번 핀에 연결 해
주시고요
그라운드 부분을 이제 아도 있는 그라운드 핀의 연결해 주면 됩니다
바로 코드를 살펴보도록 하겠습니다
앞에 까지는 아두이노 에서 퍼 마탄 라이브 를 설정하고 프로세싱 에서
아두이노 라이벌을 사용했었는데요
이번에는 좀 더 다르게 해 볼까 합니다 왜냐하면 은 퍼 마테 라이브러리의
에서는
피해자 스피커를 재생하기 위한 토니 난 5톤 함수가 없습니다
따라서 별도로 아두이노 쪽에 코드도 좀 수정을 해주셔야 합니다
먼저 플러스 c 코드 쪽을 한번 보면은
먼저 앞과 앞에서 아두이노 라이브를 사용했던 것처럼
cdr 라이브 를 사용한다.고 선언을 해 주시고 그 12월 라이벌에 해당
은 변수를 선언해 줍니다
여기서 캐릭터 배열과 스트링 배울 났던데
2 캐릭터 배열은 여러분들이 실제 연주할 때 사용할 키보드 해당되는
문자로 여기다 지정해줘야
그 다음에 그 문자의 해당되는 개 이름을 표시하기 위해서 배열을 만들어
두었습니다
그 다음으로 3 억 부분을 살펴보시면 은
화면의 크기를 설정하고 그 다음에 배경색을 하얀색 아까 봤던 것처럼
텍스쳐 온라인에
이용해서 문자의 배열을 좀 문장의 정열을
수평 가운데 수집 가운데 를 설정해 두었습니다
또 글자 크기를 200 으로 설정해놓고
글자 색깔을 영우 검정색으로 학에서 피해 영이라고 설정해 줬습니다
여기 부분에 아두이노 울 알고 를 사용하는 것처럼 미스트 함수를 이용해
가지고
연결된 포트 목록을 확인하고 똑같이 와 같은 식으로 연결 해 주시는데
여기선 아두이노 코드에서 보드 레이트를 9600 으로 사용할 것이기
때문에 여기서도 9600 이라고 적어주시면 됩니다
여기서는 이제 키 프레스드 의 이벤트 를 사용하는데
여러분들이 만약 키 를 입력하게 되면 은 시리얼포트 라이벌이 를 이용해서
바로 여러분들이 둘은 키를 아 주인한테 전달할 해 주게 되고요
그 다음에 화관을 다시 한번 하얗게 칠한 다음에
여러분들이 눌렀던 키를 확인을 한 다음에 화면에 표시해주는 것을 여기다
g 코드로 구현해 놓은 겁니다
그래서 앞에 보면 a 배열 들의 크기가 13개로 되어 있는데 13 으로
되어 있는데 총
여기서 0 부터 12 까지 결국에는 13 번 반복하게 되면서
갑자 여러분이 눌렀던
키보드의 키 와 저 배열에 등록되어 있는 문자 들과 비교해서 실제 있는
문제인지 확인을 한 다음에 만약 저 배열에 있는 문자가 맞다며 는 텍스트
함수를 이용해 가지고 화면에
가운데에 나가 해당 되는 음표를
화면에 표시하도록 해 두었습니다 바로 이제 여기 노 특 노트 언더와
캐슬을 하고 적혀 있는게
여러분들의 키보드 값이고 놓지 라고만 적혀 있는 게 본격 값입니다
이걸 하기 위해서는 아두이노 촉의 코드도 좀 수정을 해줘야 되는데요
마찬가지로 놓지 해당되는 것은 피해 줘 스피커가 재생하기 위한 그 음에
대한 주파수 캅스 여기다 적어 놓았구요
노트 켈스니 아까 프로세싱 에서 했던 것처럼 여러분들이 입력했던 키보드
값을 인식하기 위해서 따로 배열을 만들어서 옵니다
여기서 시리얼 비긴 9601 대고 해서 보드 라이트 를 설정해 주시고
아둥 있는 루프 함수에서 cd 어업에 l 업을 해 가지고 시리얼 쪽에서
컴퓨터 쪽에서 아두이노 쪽으로 데이터가 날라왔다 면에
2 부 문 안으로 들어가고 시대 열정 리더 라고 해가지고
여러분들이 보내기 값을 여기 노트 라는 캐릭터 변수에 다가
집어넣습니다 그 다음에 아까 프로세싱 에서 여러분들이 누른 키값을
확인했던 것과 같이
아두이노 의 프로세싱 에서 아두이노 루프 프로세싱 에서 아들인 으로 보내
키보드의 키 값이 어떤 키가 눌렀는지 확인을 한 다음에 해당되는 키값을
피해도 스피커를 이용해서 올리도록 했습니다 여기서는 비프 란 함수를
사용했는데 b 프라나 음순은 이렇게 따로 만들어 준 상수로
노트 인덱스 라고 이렇게 매개 변수를 설정해 놓았는데 해당되는 매개변수의
해당되는
주파수를 재생하도록 설정해 놓은 것입니다
따라서 실제 코드를 한번 실행해 보겠습니다
d 모드 를 보시면 현재 asdf ch j
그리고 반음 해당되는 더 벌리기 tyu 를 통해서 연출할 수 있게 해
놓았구요
그래서 여러분들이 지금 누르는
p 에 해당되는 음표가 표시 되고 또 그 기회에 해당되는
주파수가 피해 줘 스피커를 통해서 재생되는 것을 볼 수가 있습니다
이번 시간에는 서버 토와 피해 줘 스피커를 이용해서 재미난 것을 해
보았는데요
좀 더 나아가서 이번 키보드를 이용해 가지고 서보 모터를 제어하는 게
아니라 여러분들이 움직이는 마우스 좌표를 이식해 가지고 서보모터의 갑을
변하도록 한다.던가 아니면 은
지금은 음표 에 해당 내는 음표 값을 텍스트로만 이제 표시를 해 줬는데
그게 아니라 여러분들이 키보드로 건반을 누르면 은 화면에 피아노 공부하니
표시가 내가 지고 해당되는 건반이
뭐 노란색이나 빨간색 옥 안쪽 강조돼 가지고 보여줄 수 있게 한 번 표시
해 보는 것을 해 보시기 바랍니다
이번 시간은 여기서 마치도록 하겠습니다 감사합니다

댓글 0개

등록된 댓글이 없습니다.

본 사이트의 컨텐츠는 명시적으로 공유기능을 제공하고 있는 공개된 자료를 수집하여 게시하고 있습니다.

저작권, 강의등록, 광고, 제휴등은 "관리자에게 문의"로 메세지 주시면 확인후 답변드립니다.

Menu