본문 바로가기

만들기 / making

Day 7: Audio Sensor Day 7: Audio Sensor 센서 사용법 소리 증폭률 |G| = R4 / R3 이다. 따라서 가변 저항 R4를 조정하면 전시상황에 따라 소리 민감도를 조정할 수 있다. 회로도에서 PC0이라 써있는 출력을 칩의 ADC 아무곳에나 연결하면 된다. * 이 회로는 보통 컨덴서 마이크를 써서 오디오 출력을 AC로 내주는 회로와 달리 0~5V 의 레벨로 출력이 나오기때문에 ADC 바로 연결해서 프로그래밍해서 사용하기쉽니다. 게다가 증폭회로로 쓰이는 LM358은 보통 Op Amp와 달리 +9,-9 (dual supply) 전원을 공급할 필요없이 5V, 0V(single supply) 전원을 공급해주면 되므로 일반적으로 쓰기에 편리하다. fritzing 연결도 http://www.kpsec.freeuk.com/.. 더보기
Day 5: Ultrasonic Sensor Day 5: Ultrasonic Sensor 인터럽트를 쓰지 않았을 때 비효율 적인 연산이 일어남을 보여주는 소스 #include #include #define LED 5 #define output_low(port,pin) port &= ~(1 더보기
ATmega168 USART ATmega168 USART ATmega168이 컴퓨터와 통신하기 위해 시리얼 포트를 사용하는데 그 동작원리와 한계 그리고 효율성을 높일 수 있는 방법을 알아보자 더보기
Day 4: InfraRed Sensor 적외선 센서값 받아들여 데이터 분석하기 -터미널 이용 -프로세싱이용 센서값의 Threshold값을 정해 LED켜기 센서 값의 필터링을 Comparator 로 하기 아날로그 필터링과 마이크로컨트롤러 사용의 이점 효율적인 센싱을 위한 블록다이어 그램 그리기 LM741 OP-Amp 사용법 http://www.uoguelph.ca/~antoon/gadgets/741/741.html LM2903 Comparator http://devicemart.co.kr/mart7/upload/pdf/LM2903.pdf 74LS148 / 74HC148 8-of-3 Encoder http://devicemart.co.kr/mart7/upload/pdf/74hc148.pdf eagle library from SPARKFUN h 더보기
ATmega168 ADC 3 ATmega168 ADC 3 *아래는 9시 이후부터의 수업 내용입니다. 이전 내용은 다른 분께서 추가 부탁드려요!! 실시간성!!! ADC 의 spec 을 알아야 미리 가늠할 수 있다. AVR 의 ADC spec # of channel, bit resolution, sampling rate free running: 계속 읽어 single conversion: 한 번만 읽어 ADC 가 전력을 많이 소모할 수 있음. interrupt on ADC conversion sleep mode noise canceller led 켜는 정도는 1년도 한다 adc multiplexer (ADMUX) adc register (ADCSRA) adc data register ( : bit data 전송 channel 을 선택하.. 더보기
ATmega168 ADC 2 ATmega168 ADC 2 (아직 수정중입니다. 현재 Resolution 쪽은 거의 수정 완료입니다.) ADC 에 있어서 가장 중요한 두가지 1. Resolution 2. Sampling Frequency //비행기의 예 비행기 이륙 때는 여러 스위치를 순서에 맞춰 작동 //기차의 예 파리->모스크바 선로가 파리에서부터 모스크바로 올바르게 순서대로 변경되가야할 것이다. 1. Resolution Resolution은 해상도를 의미한다. 해상도가 풍부하다 함은 그만큼 표현력이 좋다는 의미이기도 하다. //예 디지털 카메라, 디스플레이 ATmega는 10bit와 8bit의 Resolution을 지원한다. 그럼 Resolution이 10bit 라는 것은 무슨 뜻일까? 이는 ADC에 있어 아날로그 신호(전압)를.. 더보기
ATmega168 ADC ATmega168 ADC ATmega168 ADC의 동작원리와 한계를 알아보자 ADC 레지스터 설정 프로그래밍부분하고도 연관되기 때문에 정확히 알지는 못하지만 이해한 부분에 한해서 허접하게 설명해보겠습니다.-오늘 스터디의 결과물입니다 ㅎ 1.ADCMUX - ADC Multiplexer Selection Register ADconverter의 기준전압, 입력채널 설정 및 데이터레지스터의 저장형식을 결정하는 부분입니다. ADCMUX는 위의 그림(Data Sheet p.215 참조)과 같이 총 8 bit로 나누어져 있으며 각각의 영역마다 역할을 담고 있습니다. 1-1. REFS영역 (bit7,6) 기준전압을 설정하는 영역입니다. AREF,AVCC,내부전압등 상황에 맞게 선택하면 됩니다. ADCMUX 레지스터에.. 더보기
bit 연산 bit 연산 bit 연산을 알면 Datasheet 를 보고 원하는 영역에 원하는 걸(그래봤자 1아니면 0) 써넣을 수 있습니다. ->해커가 될 수 있습니다 -> 모든걸 할 수 있게 됩니다 bit 연산 공부하기 http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=37871 Bit Shift bit연산중 저는 특히나 bit shift가 헷갈렸는데요. 예를 들어 x = 0010 // x는 10진수로 2입니다. x = x >> 1 //오른쪽으로 1을 한칸 밀어주라는 얘기입니다. 그렇담 x = 0001 10진수로 1이 됩니 다. x = x 더보기
2진법 / 16진법 / ASCII 2진법 / 16진법 / ASCII 10진법 16진법 2진법을 넘나들면 우리가 추상적으로 쓰는 언어들을 어떻게 기계가 알아들을 수 있는지 확실한 감을 잡을 수 있습니다. 1 과 0 = 5V 와 0V 이니까요 아스키 테이블은 우리가 쓰는 문자들에 대한 1과 0의 조합의 약속을 보여주는 테이블입니다. ASCII 는 기관 이름으로 그 표준을 관장하고 있죠. 이 표준이 있기때문에 여러분이 적당한 1과 0의 조합을 통신으로 보내면 받는쪽에서 무슨 문자인지 알아먹을 수 있는것입니다. http://www.asciitable.com/ 위의 사이트에서 각 문자에 해당하는 10진법수, 16진법수가 있는데 2진법으로 바꿔보면 그야말로 1과 0의 조합으로 나타나죠. 따라서 시리얼 통신이 일어날때 전선에서 전압이 변하는걸 보면 .. 더보기
Arduino bootloader Arduino bootloader AVR studio를 열고 'AVR' 아이콘을 누르시고 ...을 눌러서 bootloader파일을 찾아가 봅시다. Arduino>Arduino-win>Hardware>Bootloader>각자의 칩에 해당하는 hex파일을 아까와 같은 방법으로 구워 줍니다. 그래야만 아뒤노 프로그램이 제대로 작동하게 됩니다. 더보기