VicPy 프로젝트 - 초음파 레이더 만들기 > 아두이노

Arduino

아두이노 강의 리스트

VicPy | 프로젝트 - 초음파 레이더 만들기

본문

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

 de 5

안녕하세요 여러분 혹시 여러분들 영화 보실때 배나 잠수함 같은거 많이
나오잖아요
배나 잠수한 같은 보면 어김없이 나오는 게 제 레이더 줘
거기 보시면 이제 초음파 레이더가 나오는데 졸업
이제 검은색 바탕에 초록색의 레이더가 나오면서
좌우로 움직이면서 주위에 물체가 있는지 어떤 적이 있는지 감시하는 것들이
많이 나오잖아요
이번 시간에도 이아 비슷한 것을 서버 못하나 초음파 센서를 이용해서
초음파 레이더를 한번 만들어 보려고 합니다
따라서 이번 시간에 총 8일 더 례 제 아주의 노랑 프로세싱을 한번
만들어 있구요
좀더 자세하게 설명 드리면 은 지금 화면에 보이시는 게 실제 만든
프로세싱 이고 화면이에요
이아 같은 식으로 여러분들이 지금 일단 제가 제안을 2개 1m 이내의
있는 사물을 인식해서 1m 이내의 사물이 인식되며 는 이렇게 동그라미로
표시해서 레이더로 이렇게 좌우로 움직이면서 표시하도록 한번 보여 늘
회복합니다 그래서 먼저 구현에 놓은 것을 먼저 살펴보도록 하겠습니다
네 지금 이제 프로세싱 이나 이렇게 연결된 것을 실행 해 보았는데요
보시다시피 지금의 m 안에 있는 벌이를 인식하도록 설정을 했어요 그래서
여기가 최대 1m 구요
물론 여기 그 범위에 까지 인식이 되어야 하는데 1m 이렇게 표시가
해놨고 만약 그 1m 이내의 물 어떤 사물이 인식되며 는
동구 등 구라미 로 표시 되도 예로 들어 가지고 만약에 제가 무지
가까이 이렇게 표시 라면은
즘 같은게 체 지금 손가락 부분이 로 표시된 것을 볼 수가 있죠
사실 한 번 여기 보시면은 좀 보이시죠
이렇게 좌우로 움직이면서 총판 레이더 처럼 이렇게 주 1m 이내 3월에
인식하는 것을 한번 만들어 보도록 하겠습니다
이번 시간에 초음파 레이더 이제 만들 때 또 이제 3d 모델이
사용하는데요
여기 표시된 url 로 이동을 하시면 은
이와 같이 이런 3d 모델을 볼 수가 있어요 그래서 여러분들
이전에 레이저 장난감 했던것처럼 여러분들이 주로 가지고 있는 서보모터의
맞는 형태의
이렇게 초음파 이렇게 이쁘게 꾸밀수 있는 음
브라켓이 라는 이렇게 3d 모델 함께 올라가 있구요
웨딩 파일 슬 눌러 오시면 은 그 모델 두 개의 올라가 있는 것을 볼
수가 있어요
그래서 지금 1개는 몸통에 당 되는거 함경 외전 머리 회담 되는거 이렇게
해서 여러분들이 다운로드 하셔서 여러분들 가지고 있는 3d 프린터의
출력하시면 되고 이 같은 경우에 구조가 단순하기 때문에 쓰디 프린터 없는
분들도
종이나 이런 것들을 쉽게 이와 같은 몸통 쉽게 만드실수 있을 거에요
그래서 일단 습이 프린터로 만든 다고 과정을 하고요
더 만약에 지금 한 화면에 보이는 게 지금 3d 프린터를 출력한 거에요
그래서 여기가 몸통 해당되는 거 a 라고 표시를 해 줬구요
그다음 머리에 해당되는 거 초음파 센서의 지지대 이걸 이제 b&b 라고
표시를 놓았구요
그 다음에 첫번째로 2a 에 나가 서보모터를 뽑아 주시고
나사로 이제 조여 주세요 나사로 쫌 해 주시고
그 다음에 b 에다가 초음파 세스 이와 같이 연결해주세요 그래서
둥근 부분이랑 이렇게 평평한 부분에
차이를 9분 하셔서 잘 뽑아 주세요 홈을 보시면은 그 딱 맞게 들어가도
설정이 되어 있어요 그래서 이와 같이 여기 핀 연결되는 부분래쪽의
되도록 둥근 쪽 아래쪽에 되도록 잘 뽑아 주시고
네꼬 보셨으면 은 비 밑부분에 보시면 홈이 있어요 이와 같이 바로 이제
그 서보모터 축가 딱 맞는 형태 홈이 있는데 여기를 이제 글루건을 불
블로거 늘 통해서 붙여주세요
되어 주신 다음에 이제 글루건을 통해서 이제 묻었으며 는
아까 준비했던 a 에다가 그래서 연결 해 주시면 되요
더 회로 재료를 살펴보면 은 서버 모터 1
총 파 센스 1개가 필요합니다 패럿 오는 이 야간 조성이 되어 있구요
그래서 회로를 한번 살펴 보면요
그래서 여기 보시면 지금 회로와 연결되어 있는데 지금 구원 부분이 이제
써본 버터랑 연결되어 있는 거고 그다음에 232
이가 이제 초음파센서 트리거 3번의 촌 파스 서혜 코 쪽에 다이제 연결해
주시면 되요
연결의 이제 제대로 됐으며 는 가 축성 이 되어 있으면 되고요
그 다음에 이제 여기다가 이제 아도 있는 코드를 작성해서 넣어 보도록
하겠습니다
아두이노 코드 내의 아 가치도 구성이 되어 있는데요 먼저 여러분들이 이제
처음 보는 것을 설명 드리고 바로 이제 다시 한번 전체적으로 보면
설명해드릴께요
여기 보시면 이제 펄 3인이 나 함수가 나와요 근데 여러분들이 이전에
바로 이제 초음파 센서를 사용 했을때 8 3인을 배우셔서 짜 나요 근데
여기서 새로 배우는 것처럼 이렇게 왜 이제 새로 나왔나
이따 의아해 하실 텐데 여기 보시면은 이전과는 달리 인자를 이제 3개를
많아요
데코 부 핀번호 하이 그 다음에 여기 가지고 숫자가 적혀 있죠 바로 이제
이것도 동일하게 마찬가지로 기존의
여러분들이 사람부터 펄 시인 이라 동일한 뭐예요
이제 걸린 시간 그 지적 4핀 2
어떤 상태로 변하는데 걸리는 시간에 알려주는 함수 동일한데 2
인자가 너 들어간거 에 차이는
벌이 인재가 들어오는걸 차이는 바로 이제 이 펄스 행위라는 함수와 실행될
때 기다리는 시간 이예요
만약 여러분들이 인자를 2개만 주면은 이게 기본으로 설정된 그 기다리는
시간 되게 시간을 가지고 하는데
기다리는 대기 시간이 올래 기본으로 는 1초 로 되어있어요
그래서 만약에 여러분들이 지금 초음파 센서를 해서 했는데
주위 멀리 아무것도 없을 없다고 하며 는 초음파 멀리 갔다 돌아 오지
않잖아요
그러면 이해가 그 앱 트리거 쪽에서 총 파가 발산 에서의 코 쪽으로 돌아
와야 되는데 에코 초고를 안 돌아오면 시간이 계속 연간 에다가 1초가
지나면 은 자동으로 제 영혼을 반환 하면서 이 함수가 멈춰요
근데 그게 단순히 오래 걸릴 때까지 기다리 많은 시간이 너무 오래
걸리니까 는 여기서 그 대기 시간을 설정할 수가 있어요
그래 대기 시간을 설정한 뭐 보시면은 절제 5800 이라고 했는데 이 8
3인의 경우에는
걸린 시간을 반해 준다 고 설명해 드렸잖아요 근데 그 걸린 시간 에서
예전에 58일 나누며 는 cm 로 반환 을 한다.고 했죠
반대로 9 말은 cm 에서 58 을 하면 그게 이제 펄스 인해서 걸리는
시간과 마찬가지죠
지금 여기서 제가 5008 * 한 이유는 바로 2대 대기시간에 1m
이내의 있는 것만 인식하도록 하기 위해서
그예 m 에 해당되는 5,800원 등 거에요 바로 이제 5800 에서
58일 나눠주면 100이 되고
100cm 는 결국에 1미터가 되겠어 따라서 이제 그 대기 시간을 좀 더
쭈 려 주기 위해서 이 설정을 했구요
이게 마이크로 세컨드 다니기 때문에 대기 시간 얼마나 많이 쫓는 는 야를
여러분의 아실 수 있는게 1초 같은 경우에는 처음 밀리 세컨드 라고
했어요
2 마이크로 세컨드 같은 경우에는 처음 마이크로 세컨즈 가 1mm 세컨
주고요 앞서 말한 1초가
처음 1 2 3 컨 주니까 천에 1000 월 곱해서 여기 표시 되었죠
100만이 100만 마이크로칩 건조 애초에 요 그래서 여러분들 많아
기본으로 설정해서 이에 앞에 이제 여러분들 총판 레이더 같은거 를
만들라고 하면 은
만약에 초음파가 주의 아무것도 없으며 는 이 움직이는게 상당히 느리게
움직일 수가 있어요 그래서 그것을 방지하기 위해서 제 5800 을 설정한
보고요
더 앞으로 이동하면서 코드를 하나씩 하나씩 살펴보도록 하겠습니다
첫번째로 이제 서버 라이브벨 설정을 했구요
그러 상수로 틀리거나 에 꼽힌 언어설정 했고요
그 다음에 서브 디렉션 은 바로 이제 서버와 자로 5 로 이동을 할 거
아니에요
그래서 이 서브 디렉션 은 바로 그 각도 값에 다 더해주는 값이 에요
그래서 만약 여러분들이 이 서브 디렉션을 지금 상태에서 계속 더해주면 1
10 추가 되겠죠
그런데 만약에 제가 - 일로 변경했어요
그러면 - 쉽게 서 감소 되겠죠 바로
만약에 0에서 180도로 갔으며 는 잇어 본드 빅션 2 - 1 돼서 계속
감소시키고
만약에 0이 되면 n 다시 이걸 일로 만들어서 계속 증가 시키는 거예요
그리고 옆에 라드 라디안 해당 들 라 드는 각도의 당 되는거 저장되는
변수 고요
22r 통신은 통해서 아드 위너 쪽에
컴퓨터 쪽 pc 쪽으로 이제 데이터를 전송하기 위해서 시대 10점 비기닝
9600 설정해주고 p 뭐 드로 트리거 라
에코 핀 추
0 입력 설정 해 주고요 그리고 9번 피는 써보 설정 하는 핀으로 설정을
했고요
그 다음으로 디지털 라이트로 해가지고 여러분들 이제 초음파 사용하는 거죠
그래서 로 하이로 해가지고 초음파를 발산한 다음에 펄 3인으로
이제 걸린 시간을 계산 했고 제가 이제 5800 마까 설명 드렸죠
그래서 넘어와서 권리 시간을 58로 나서 cm 로 변화하고
지금 보시면은 시리얼 프린트 씌워 프린트 실험 프린트 프린트 에렌 이렇게
해가지고
각 값들을 r 하고 여기가 똑같 이 하고 거리 까
이렇게 보내 도로 이제 설정을 했어요
세번째로 마저 보시면은 여기 라드 이제 전 데이터를 전송하고 나서는 이제
서보모터 넣기 좌우로 움직여 줘야 되잖아요 그래서 이제 서버 디렉션을
그 각도 해당되는 변수에 다 더 해주시고
만약에 이제 체크 라는 거예요 지금 각도와 180도 이상 이냐 아니면
영도 니냐에 따라서 제가 설명 드렸던 것처럼 서브 디렉션을 -
일이나
1로 설정해 줘 그 다음에 각도를 바꿔 준 다음에 각도 바뀌는걸 기다리기
위해서
딜레이 15를 좋죠 그래서 한번 아들이는 코드를 한번 돌려 보도록
하겠습니다
지금 아 2에 4쪽 준비가 되서 이제 전원을 켰는데 요
지금 제가 이제 12월 모니터를 열면 은
값들이 마 들어오죠 지금 각도가 변하면서
좀 워낙 빨라서 못 보시는 분들도 계실텐데
0에서 180 180 에서 여 왔다갔다 하면서 몸과 이제 각도 값이라
지금 거리 값이 인식이 되죠 증치 표시가 되면 여러분들이 좀 지금
제대로 이제 프로그래밍을 해서 업로드 하신 거예요
그 다음으로 넘어가서 이제 아두이노 쪽에 준비가 됐잖아요
그럼 이제 화면에 다가 멋있는 이제 레이더를 그려야 되는데 바로 젤
화면에 그리는 프로세싱 코드를 한번 살펴보도록 하겠습니다
이제 코드를 살펴 보시면 은 지금 이제 어뢰 리스트
이런 형태의 처음 보는 것들을 볼 수가 있어요
그래서 것들에 대해서 간단히 설명하고 다시 앞으로 넘어와서 설명을
드릴께요
그래서 원래는 지금 앞서 이제 먼저 설명드리면 은 여기서는 제가 보리라는
클래스를 따로 만들어서 사용하고 있어요
그런데 앞에 어뢰 리스트 란 것을 볼 수가 있는데 이 어레이 리스트도
바로 이제 배열이 배열에 해당되는 하나의 변수에 요 하나의 자료 형태에요
그래서 좀 더 다른 점이 있다면 은 얘는 안에
명령어와 있어 가지고 그 안에다가 이제 자기가 원하는 값을 넣거나 빼거나
아니면 은 뭔가 다시 조작하는 것을 쉽게 알 수가 있도록 만들어져 있어요
어레 리스트
그래서 한번 살펴보시면 은 지금 여기 이제 바로 한 다음에 보리라고 내
있는데 여기 변수 형태가 들어가고요 만약에 지금 저는
보리라는 클래스를 만들어서 이어 레 미스트 라는 것을 사용했지만 은
여러분들이 원하신다면 인 트 스트링 또는 플로트 원하는 자료 형태로
여기다 입력해주시면 되요
입력하고 변수명 입력하는 건 독이라고
기존의 클래스 투기하는 것처럼 유해 가지고 앞에 썼던거 동일하게 써주시고
바로 이렇게 해주시면 은 초기 하는거예요
그 다음에 보실 께 어레 리스트 같은 경우에는 사이즈 라는 명령어가
있어서 그 배열의 크기가 얼마인지 이제 반환하는 함수가 있어요
그 다음으로 보일 수 있게 하면 n
여러분들이 그 어뢰 리스트에 다 값들을 많이 넣어 짠 아요
올 클래스의 닦는 것들 그런데 어느 위치에 있는 볼 클래스 값만 딱
갖고싶다 그러면은 볼수 하고 점 겟 하고 인덱스 값 i 에서 여기서
주의하실 점은
예전에도 깨서 말씀드렸는데 컴퓨터 프로그래밍 쪽에서는 첫번째가 0이니까
는 사이즈의 - 1 2일까지 0에서 사이즈에 맞는 실 까지의 값을
인덱스로 하겠죠 그래서 그 인덱스 값이 여기가 넣고 해당되는 볼 클래스
의 변수를 받아온다 생각하시면 되고요
거기다 위치를 놓고
그 다음에 림 오브 바탕 마찬가지로 여기 인덱스가 있는데 값을 지우는
거에요
앞서 지우는 뭐고
그 다음에 보시면 애드가 바로 이제 값을 넣는 거예요 값을 넣을 때 볼을
여기 생성하는 초기 않은 갚지 보이죠 그래서
볼 클래스 해당 는 어뢰 비스트 이니까 는 볼을 초기 않은 값을 아
여기도 아내가 더 가지고 오래 해당되는 자료를
2 어레 미스트에 단어 없는거예요 뉴 볼 해가지고 초기 학 생 성 작가
패 가지고 이렇게 설정이 되겠죠
앞으로 이동해서 한번 살펴볼게요
코드를 살펴 보시면 은 첫번째로
시리얼 라이브러리 여러분들이 계속 사용하시는 것 동일하게 되어 있고
여기서도 라드 하고 영웅 되어 있어요 각도 가스 설정 할라고
로 cxc 아이는 여러분들 레이더 부릴 때 실제로 능 반원 이지만 은
온라인 지원 이잖아요 원에 해당하는 거잖아요 그래서 그 원이 라고
가정했을 때 센터 중 심각
그 중 식 값에 x y 좌표 기록 저장 할라고 플로트 cx cy 해왔고
볼수 한 다음에 어려 비슷했는데 아마 일 전에 프로세싱 해서
레이더 그리는거 여러분들이 또 따른 것도 관련된 했었는데 서버 못했을 때
네이던 아니었지만 써먹었다 각도조절 하는거 하셨을때 해보셨던 분들은 다
이제
동일하다는 것을 이해하실 거에요 그래서 싸 이 즈 404회 설정하고
센터 각 설정 햇죠 그래서 설정하고
여기는 제모 변 채우는 것을 정하고 그 다음에 여기는지 시대 여름과
관련된 초기 아 설정한 다음에
드로우 부분에서 백그라운드 영어 했어요 영원히 제
배경은 검정색으로 7회가 7 하였다는 거죠
그 그리고 스트로크 같은 경우에 역 e50 2536 했는데
야 강 의 초록색 약간 아까 봤던 그 야 강 초록색 그 색깔 나는 이렇게
색깔 설정 을 했고 해서 색깔로
아크 부분 이전에
레이더 파 이처럼 그려 주 동거 동일하게 사용하시면 되고요 서버 쪽에서
하실 때 했던 것처럼 다른 점이 있다면 은 업데이트 뭐 일상 디스플레이
볼 씨가 라는 이제 함수를 호출하는 게 보여요
그래서 업데이트 볼수 를 먼저 보면은 여기 보시면은 여기 바로 이제
카운터 변 술과 볼수 사이즈의 - 1 부터 0 까지 가겠죠
아이는 - 1 이상이 니까 이렇게 없고 로 이동하면서 보류 업데이트하고
만약에 만약 이스 데드 로트 로 인지 볼 수 있는지 확인해서 제거 하는
거죠
이게 무슨 말이냐면 은 2볼 스 한 다음에 갯 한 다음 업데이트 라는걸
하면 보이스 클래스 에서 업데이트 명령 을 호출하면 은 그 뒤에 가서
설명드리면 데 볼 수 의 라이프 라는거
지금 먼저 가서 한번 설명을 드리면 은 바로 여기 있어요 이 업데이트 -
라이프 져 라이프를 - 일로 만들 줘
그래서 만약에 이젠 아이프리 - 일로 만들어서 최종적으로 0 까지 가도록
해 놨어요 그래서
뒤에서 다시 한 번 보지 원의 이즈 데드 같은 경우에는 라이프가 00
인지 확인 해서 그의 참 거짓 여부 반환하도록 되어 있죠 그래서
앞에 거 보시면 에 업데이트 볼수가 업데이트하면 라이프 라는 개가 가지고
있는 변수는 - 일로 - 한칸 줄어 주위에 하고 만약 이 즈 대들이
통해서 개가 0 인지 라이프와 여기 인지 확인해서 0이면 은 그것을 제거
하도록 했어요 그래서 이거 지금 카운터 변수를
볼수 사이즈 - 1부터 시작해서 거꾸로 가도록 한 이유는 여러분들이
만약에 그 어레이 비스트 안에 있는 자료를 삭제를 해 주셨나요
그러면 인덱스가 만약에 기회가 착지 아내가 삭제한 뒤에 뒤에도 또
여러가지 변수들이 만약에 쓸수도 가 있잖아 그래 체가 가운데 있는 녀석을
지웠어요
그러면은 개 뒤에 있는 애들은 인덱스가 다한 가 씨 앞으로 땡겨 주는
거예요 그래서 그 예를 아이를 0 부터 시작하면 그 인덱스가 다 꼬일
수가 있기 때문에 한가지 앞으로 땡겨 주니까 보일 수가 있기 때문에
뒤에서부터 돌아가면서 확인해서 지어 버리는 월 이렇게 해 놓은 거에요
업데이트 볼수
그 다음에 디스플레이 볼 수는 단순하게 하나씩 높은 반복을 하면서
디스플레이 라는 올해 디스플레이나 함수를 호출한 거고요
그래서 브레 디스플레이나 함정 보심 아
그냥 1 x 명령 호출 할 뿐이죠 대신 라이프 해당되는 것을 지름으로
해가지고
원을 그리는 보구요
그 다음에 디스플레이 볼스 밑에 보시면 이제 시리얼통신 하는 이벤트 시련
이벤트 가 표시되어 있어요
그래서 인 스트링 쪽에 이제 계획 문제가 있는 고까지 읽어서 여기에
이렇게 넣게 해 주고
만약에 그러면 아까 아드 인어 쪽에서 r 하고 각도 d 하고 거리 얻죠
그러면은 r 하고 각도 디아 오거리 해당되는 것이 여기에 들어가요
그래서 만약에 애가 인 스트링이 값을 못 익었는지 확인하고 그 다음에
정확하게
en 스트링이 알로 시작하는지 확인해요
모두 정상적으로 왔다며 이렇게 하나씩 순서대로 하죠
트램 여러분들 배웠죠 갱이 나 공백의 해당 되는거 제거 하는거
그래서 인 스트레이 점 트림 해서 그 값 앞에 뒤에 있는 공백이나 개인
물자 지어 주시고 리플 에이스 또 전에 사용했죠
a 문자를 b 로 변환한 거 여기서는 아래 그럼 제거해 주는 거에요
빈칸이 까
제거해 준 다음에 스플릿 이라고 되어 있는 것은
2d 라는 9분자를 통해서 쪼개 주는 거에요
글자를 만약에 아래 빈칸으로 쪼개 주면은
거리에 대해 해당되는 숫자 t
그 다음에 아 거리가 아니라 각도 해당되는 숫자 하고 d 하고 거리 겠죠

댓글 0개

등록된 댓글이 없습니다.

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

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

Menu