본문 바로가기

아두이노33

74hc595 shift register를 이용한 아두이노 포트 확장 74hc595 shift register를 이용한 아두이노 포트 확장 여러개의 LED를 켜려면 아두이노의 핀을 여러개를 사용해야한다. 그러나 핀 1개로 여러개의 LED또는 FND, 도트매트릭스등을 다룰수 있다. 즉 74hc595 shift register를 활용하여 아두이노의 포트를 확장하는 것이다. 74hc595는 8-bit serial-in, serial or parallel-out shift register 로 8비트의 데이터를 받아 병렬로 출력해주는 IC로 아두이노핀에서 10101010을 보내면 데이터를 받아 Q0핀~Q7핀에서 동시에 10101010을 각각 출력한다. 즉 Q0 -> 1 Q1 -> 0 Q2 -> 1 Q3 -> 0 Q4 -> 1 Q5 -> 0 Q6 -> 1 Q7 -> 0을 출력해준다... 2012. 6. 26.
서보모터 제어 서보모터 제어 서보모터는 일정한 각도내에서만 회전을 하는 모터로 RC비행기의 타각조절이나 휴머노이드 로봇등에서 많이 사용한다. 서보의 작동은 일정 시간 동안 신호를 보내면 그신호 펄스 폭이 서보의 작동 각도가 된다. 그림에 의하면 1.5ms동안 펄스를 보내면 서보는 90도 위치로 회전 다시 1ms동안 펄스를 보내면 서보는 0도에 위치한다. 즉 서보는 매20ms마다 신호를 받으려 기다리고 그때마다 보내는 신호의 길이에 따라 해당 각도로 회전한다. 소스 스케치 이 소스는 서보를 제어하기 위해 신호를 직접 계산함 --------------------------------------------------------------------------- // 키보드의 ,스페이스키 서보를 제어. // 날짜 .. 2012. 6. 26.
피에조 스피커를 이용, 소리에 반응하는 LED 피에조 스피커를 이용, 소리에 반응하는 LED 피에조 센서를 이용하여 외부에서 자극을 주면 LED가 반응하도록 하였다. 피에조 센서는 외부 소리나 압력에 의해 진동이 발생하면 전류가 흐른다. 피에조 센서를 이용해야하나 구조는 같으므로 피에조 스피커(부저)를 센서로 이용 LED를 소리에 반응 하도록 하였다. 일단 아두이노에 피에조 스피커를 연결은 (http://arduino.cc/en/Tutorial/Knock 그림참조함) 회로도 상으로는 1메가옴의 저항을 연결했지만 저항이 없어 10킬로옴으로 대체 소스 스케치 /*피에조 스피커를 이용 소리에 반응하는 LED*/ int ledPin = 10; int sensorPin = A0; int ledstate = LOW; int val = 0; int sensorc.. 2012. 6. 26.
센서값에 따른 Led 밝기 제어 map()함수 사용 센서값에 따른 Led 밝기 제어 map()함수 사용 센서값을 아날로그 입력핀으로 읽어(값은 0~1023사이의 값으로 읽는다) LED출력한다.(출력은 PWM으로 0~255 사이의 값으로 출력) 소스 스케치 ---------------------------------------------------------------------------- int ledPin = 9; //led핀은 9번 int sensorPin = A0; //센서 입력은 A0핀 int val = 0; //센서에서 읽은 값을 저장 변수 void setup(){ pinMode(ledPin, OUTPUT); } void loop(){ val = analogRead(sensorPin); //센서에서 읽은 값을 저장 val = map(val, 0.. 2012. 6. 26.
외부 빛의 양에 따른 LED깜박이기 + 부저 외부 빛의 양에 따른 LED깜박이기 + 부저 광센서(밝기에 따라 저항값이 변한다. 밝아지면 저항값이 작아진다)를 이용하여 외부의 빛의 정보를 A0핀에 연결하여 (0~1023사이의 값으로 받는다.) LED 깜박이는 시간간격, 부저의 소리내는 간격을 조정하여 출력한다. 스케치 소스 ----------------------------------------------------------------------- /*외부 빛의 양에 따라 LED 깜박이고 부저 울리기*/ int sensorPin = A0; //센서 입력핀 int ledPin = 12; int sensorval = 0; //센서값이 저장될 변수 void setup(){ pinMode(ledPin, OUTPUT); } void loop(){ senso.. 2012. 6. 26.
풀다운 스위치입력 LED 켜기 풀다운 스위치입력 LED 켜기 2번핀을 입력설정 5~9번핀으 출력 버튼입력시 순차적으로 LED켜고 끄기 스케치 소스 ----------------------------------------------- int ledPin[] = {5,6,7,8,9}; int buttonPin = 2; void setup(){ for(int i = 0; i 2012. 6. 26.