본문 바로가기

분류 전체보기83

2button으로 LED ON OFF하기 constrain()함수 두개의 스위치를 이용한 LED 제어다 일단 스위치는 풀업저항으로 설정 누를때마다 밝기를 증가 또는 감소하도록 LED는 PWM출력으로 한다.(아날로그 출력) 소스 스케치 ----------------------------------------------------------------------------------------- /*LED 2button*/ int onPin = 2; //on스위치 연결핀 int offPin = 3; //off스위치 연결핀 int ledPin = 9; int val = 0; //LED밝기 값 변수 void setup(){ pinMode(onPin, INPUT); // on스위치 입력 설정 pinMode(offPin, INPUT); // off스위치 입력 설정 digitalW.. 2012. 6. 26.
FND FND FND는 LED 7개를 8자로 배열한 전기소자로 공통 애노드형과 공통 캐소드형이 있다. 공통 애노드형은 7개의 LED +를 공통으로 묶어 놓은 것으로 각 핀에 '0'입력되어야 불이 켜진다.공통 캐소드형은 7개의 LED -를 공통으로 묶어 놓은 것으로 각 핀에 '1'입력되어야 불이 켜진다. 2012. 6. 26.
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.