본문 바로가기

만들기 / making/sensing workshop

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파일을 아까와 같은 방법으로 구워 줍니다. 그래야만 아뒤노 프로그램이 제대로 작동하게 됩니다. 더보기
Arduino VS ATmega168 프로그래밍 Physical Computing on Sensors @ media.saii.or.kr‎ > ‎Day 3: AVR Studio / ADC&DAC‎ > ‎ Arduino VS ATmega168 프로그래밍 Arduino로 LED 켜기 File>SketchBook>Example>Digital>Blink Arduino에서 사용하는 프로그래밍 언어는 Arduino고유의 언어이다. 쉽게 만들다보니 한계점이 생길 수 밖에 없다. Code 분석--- int ledPin = 13; // LED connected to digital pin 13 // ATmega168의 PB5를 ledPin이라 명칭 void setup() // run once, when the sketch starts { pinMode(ledPin, OU.. 더보기
*Arduino 실행 문제 기타 *Arduino 실행 문제 Arduino 를 실행하면 Java Virtual Machine Launcher 에서 Could not find the main class 라는 에러를 내면서 실행이 안되었습니다. 나중에 보니까 폴더 아래에 있어야 할 java, lib 같은 디렉토리가 왜인지 없더군요. arduino.cc 에서 다운받은 arduino-0016-win.zip 파일이 이상했는지도 모르겠습니다. 현재는 집에 있던 PC 에서 복사해서 실행하니 잘 됩니다. 추가: 이제보니 압축을 푸는 프로그램인 빵집이 말썽이었네요. 압축을 풀다가 못푸는 파일은 에러 메시지를 내야 하는데 그냥 모르쇠예요. 아마 파일 중에 파일 패스가 너무 길어서 풀지 못하는 파일이 있었나봅니다. 디렉토리 제일 상위d:\ 에서 '여기.. 더보기
ADC/DAC ADC/DAC Analog to Digital / Digital to Analog Converter Analog 는 "전압값"을 의미함 센서의 핵심 Arduino 는 6개 Analog 핀. 실제로 ADC 는 8채널(?) 10bit. 알고 싶으면 Datasheet 를 찾아라. Intel Core2Duo http://download.intel.com/design/processor/datashts/318732.pdf Atmel Atmega128 http://www.atmel.com/dyn/resources/prod_documents/doc2467.pdf 10bit ADC 0~5V 를 2의 10승 개의 구간으로 나눔 5V/1024 대략 0.005V = 5mV Color 의 Bit Resolution True C.. 더보기
LED 켜기 LED 켜기 Light-emitting diode characteristic current-voltage curve of 6 LEDs PN Diode P는 보통보다 Hole 이 많고 N은 보통보다 Electron 이 많음. Junction 근처에는 공백이 있음. P/N Junction 순방향 전압에서 일정 전압 이상이 되어야만 Junction 을 전자가 뛰어넘을 수 있다. -> Forward Voltage LED 색깔마다 Forward Voltage 값이 다름. LED 색깔마다 다른 물질이므로. 1.6V 가량이 일반적인 Forward Voltage. Forward Voltage 이상에서는 I/V curve 에서 볼 수 있듯이 전류가 너무 잘 흐름. Forward Current 는 20mA 정도. 일반적으.. 더보기
옴의 법칙 옴의 법칙 이 페이지는 1주일동안 무료할지 모르는 여러분을 위해 마련하였습니다. 중학교때 배웠던 옴의 법칙 ( Ohm's Law) 에 대해서 다시 찾아보고 복습해봅시다. 다음 2가지를 조사해보세요~ 1. 옴의 법칙 V=I*R 2. Voltage Divider ( 이걸 알면 가변저항을 왜 그렇게 연결하여 센싱하였는지 알 수 있습니다!) 저항의 조합을 이용해서 우리가 원하는 크기의 전압을 뽑아낼 수 있습니다. Vin=5V R1=R2=1Ω 이 상황에서 Vout=2.5V -------------------------------------------------------------------------------------- 원자의 구조 수업 시간에 본 모형은 보어의 원자 모형과 같습니다. 앞으로 LED 등 전기.. 더보기
Day 1: Introduction Day 1: Introduction ADC: analog-to-digital converter DAC: digital-to-analog converter Hz=1/주파수: 1초에 몇번 진동하는가 ex) 100Hz = 1초에 100번 뭔가 바뀌는거 (전압이 바뀌는게 우리가 생각하는 대표적인예) Sampling rate: ~Hz Resolution: 8bit, 10bit, 16bit, 24bit, 등등 더보기