본문 바로가기

아두이노

[아두이노] 조도센서를 활용하여 아날로그 값 받아오기 이번 포스팅은 저번 포스팅에 이어 조도센서의 신호를 아날로그 값으로 받아오는 것입니다. 가변 저항이 위치하던 자리에 일반 저항과 조도센서만 부착하였습니다. 밑에 오류메세지는 무시하셔도 됩니다. 제가 포트 인식이 갑자기 안되더라구요.. ㅎㅎ; 정상적으로 연결하게 되면 이런 값이 뜹니다. 밝으면 값이 낮아지고 어두우면 값이 커집니다. 휴대폰 후레시를 통한 값 변화 측정도 한번 해보세요! 다음으로는 조도센서를 응용하여 LED 가로등을 만들어 봅시다. if문을 활용하여 일정 어둡기 이상이면 LED가 켜지게 프로그램 했습니다. 불이 잘 들어오는 것을 보실 수 있습니다 ^_ ^ 이 글은 인제대학교 의용공학부 네트워크 팀 '11 신윤호가 작성하였습니다. http://brian-s.tistory.com/60 더보기
[아두이노] 피에조 부저로 음계 만들기 이번 포스팅은 피에조 부저라는 간단한 스피커로 음계를 만들어 보려고 합니다! 이번엔 이를 활용하여 동요 하나를 재생하려 합니다. 코드를 보시면 '도레미파솔라시'를 frq에 배열형태로 저장한 후, 박자를 signatures에 배열형태로 저장하고, 음계를 scale에 배열 형태로 저장한 후, loop함수에서 박자와 음계를 for구문으로 손 쉽게 작성함을 알 수 있습니다. 이 글은 인제대학교 의용공학부 네트워크 팀 '11 신윤호가 작성하였습니다. http://brian-s.tistory.com/62 더보기
[아두이노] 서보 모터 사용하기 이번 시간에는 서보 모터를 사용하는 방법을 포스팅 하겠습니다. 서보모터란 위치제어가 손 쉬운 모터입니다. 단점으로는 회전 각도가 180도 범위에서만 회전이 가능하기 때문에, 용도에 맞게 사용하시면 되겠습니다. 가변 저항의 값을 아날로그 신호로 받아 모터를 회전시키는 원리입니다. 이 글은 인제대학교 의용공학부 네트워크 팀 '11 신윤호가 작성하였습니다. http://brian-s.tistory.com/63 더보기
[아두이노] 온도/습도 센서를 활용하여 온도/습도계 만들기 이번 포스팅은 온도와 습도를 측정할 수 있는 DHT11 센서를 활용하여 온도/습도계를 만들어 보겠습니다. 이번 포스팅은 DHT11이라는 추가적인 라이브러리가 필요합니다. 다음 주소에서 받아서 Arduino\libraries에 압축을 풀면 됩니다. https://github.com/markruys/arduino-DHT 이렇게 압축을 풀면 됩니다. 다음으로 아두이노 프로그램을 반드시 재시작 해주셔야 합니다! 회로를 구성하고 연결한 뒤 시리얼 통신을 켜보세요 ~! 정상적으로 출력이 됨을 알 수 있습니다! 이 글은 인제대학교 의용공학부 네트워크 팀 '11 신윤호가 작성하였습니다. http://brian-s.tistory.com/61 더보기
[아두이노] 가변저항 신호를 아날로그 신호로 받기 이번 포스팅은 가변저항을 아날로그 신호로 받아들이는 방법을 포스팅 하겠습니다. 아두이노 UNO의 경우 6개의 아날로그 핀이 제공이 되는데 이를 활용하여 아날로그 신호를 시리얼 통신으로 표시해보도록 합니다. 사용된 저항은 최대 10k의 가변저항입니다. 프로그램을 보게 되면 아주 간단하게 A0 핀을 adc로 변환하여 읽어옵니다. 그 것을 시리얼로 표현을 하게 됩니다. analogRead()의 경우 ADC의 값을 0에서부터 1023까지의 값으로 받아들입니다. 즉 0V일때 0, 5V일 때 1023이 됩니다. 위의 시리얼 통신 값은 제가 가변저항을 돌리는 중 캡쳐를 떠서 증가하는 형태를 띄고 있습니다. 이번 포스팅은 되게 간단하게 작성하였는데요, 아날로그가 무엇인지만 이해를 하고 있다면 아주 쉽게 넘어가실 수 있.. 더보기
[아두이노] 아두이노끼리 채팅하기 번외편으로 아두이노끼리 서로 연결하여 채팅하는 프로그램을 코딩해보았습니다. 이렇게 간단하게 작성하였고 핀은 2번과 3번을 사용하였고 이 핀은 통신의 특성 상 다른 보드에는 반대로 즉, 2-3 연결 3-2 연결을 해주시면 됩니다. 그라운드끼리 서로 연결은 꼭 필수적으로 해주셔야합니다 ~! 연결 후 채팅하는 모습입니다. 이 글은 인제대학교 의용공학부 네트워크 팀 '11 신윤호가 작성하였습니다. http://brian-s.tistory.com/57 더보기
[아두이노] Serial 통신 다루기 이번엔 아두이노와 다른 기기간의 통신을 위한 방법을 알아보도록 하겠습니다. Serial 통신에는 크게 3가지 종류가 있으며, 저는 그 중 UART 방식의 통신을 해보려고 합니다. 제가 사용하는 아두이노에는 UART 핀이 제공되고 있습니다. 먼저 다음을 타이핑 해보도록 합니다. 타이핑 해서 시리얼 모니터를 열어서 숫자를 입력해봅시다. 제가 숫자를 1을 입력하면 49라는 값을 받았다라고 표현이 됩니다. 이 값은 아스키코드 값으로 만약에 이 값을 정상적으로 표시하고 싶으시다면 타입을 변경해주시면 됩니다. 다음은 HEX 값으로 변경한 후의 값을 나타냅니다. 이제 시리얼 통신을 이용하여 저번에 구성했던 7-Segment의 dot 부분을 켜보도록 하겠습니다. 전 dot이 5번 핀과 연결되어 있습니다. 이제 저 시리.. 더보기
[아두이노] 7-Segment 다루기 이번 시간은 7-Segment라는 FND 소자를 가지고 숫자를 표현해보는 방법을 알아보겠습니다. LED 소자의 경우 Common Cathod type과 Common Anode type이 있습니다. 두 가지의 차이를 보자면 다음과 같습니다. Cathod type의 경우 1의 값이 인가 될 때 켜지고 Anode type의 경우 반대로 0의 값이 인가 될 때 켜집니다. 보통의 경우 1이여야 켜지는게 편하지 않겠냐고 하실 수 있지만, 실제 보드에서 끌어다가 쓸 수 있는 전류의 값이 한정되어 있고 산업 현장의 경우 Noise에 의해 1과 0의 값이 혼동되는 경우가 생기기 때문에 용도에 맞게 사용하시는게 좋습니다. 이제 실습으로 넘어갑시다. 1. FND (7-Segment) 사용하여 연결 테스트 [delay 500.. 더보기
[아두이노] 아두이노로 불을 켜볼까요? 오늘은 아두이노의 아주 간단한 예제로 불 켜보는 예제를 다루도록 하겠습니다. 먼저 아두이노를 실행하면 이런 창이 뜹니다. 개발 코드를 입력하고 디버깅 및 업로드 할 수 있는 창입니다. 먼저 알아두셔야 할 게 있는데요, 많은 프로그래밍 언어가 그렇듯 코드를 위에서 순차적으로 읽어들이는데 아두이노 또한 이 방식을 택하고 있습니다. 따라서 미리 필요한 내용을 setup 해주셔야 합니다. 그리고 밑의 loop 함수 안에서 입력된 내용을 계속 반복 수행 하신다고 이해를 하시면 되겠습니다. 저는 밑의 킷으로 공부를 진행합니다. 지금 사진 보시면 아두이노에 USB가 연결이 되어있는데요, 아두이노를 설치하고 저렇게 연결하면 자동으로 드라이브까지 설치가 됩니다. - 간혹 안되신다면 정품이 아니어서 그런 경우도 있습니다... 더보기
[아두이노] 아두이노 알아보기 오늘은 아두이노에 대해서 알아보겠습니다. 아두이노는 이탈리아에서 만들어졌으며, 오픈 소스를 기반으로 한 보드와 그 개발 툴을 말합니다. 처음에 학생들의 디자인 작품들을 손쉽게 제어 및 동작하게끔 하기 위해 만든 이 아두이노는, 오픈소스의 영향을 받아 빠르게 발전하며 간단한 시제품 혹은 연구용으로 쓰이게 되었습니다. 저는 학교에서 논리 회로를 배워 CPLD 칩에 기록 및 제어를 배운 적이 있는데요, 직접 해보니 이것과 유사하다고 할 수 있습니다. 어떻게 보면 라즈베리 파이와도 비슷하다라고 할 수 있겠지만, 그 차이는 전용 OS와 구동 속도에서 볼 수 있습니다. 아두이노의 가장 큰 장점은 부속품들을 쉽게 프로그래밍하고 동작시킬 수 있다는 점이 있으며, 전용 OS를 가지는 라즈베리 파이에 비하면 속도가 많이 .. 더보기