#include<Servo.h> //Servo 라이브러리를 추가
Servo servo; //Servo 클래스로 servo객체 생성
int value = 0; // 각도를 조절할 변수 value
void setup() {
servo.attach(7); //맴버함수인 attach : 핀 설정
Serial.begin(9600); //시리얼 모니터 사용 고고
}
void loop() {
if(Serial.available()) //시리얼 모니터에 데이터가 입력되면
{
char in_data; // 입력된 데이터를 담을 변수 in_data
in_data = Serial.read(); //시리얼모니터로 입력된 데이터 in_data로 저장
if(in_data == '1') //입력된 데이터가 1이라면
{
value += 30; //각도를 30도 증가시킨다.
if(value == 180) //각도가 180도가 되면 (150도보다 커지면)
value = 0; //각도를 0으로 초기화
}
else //그외의 데이터가 입력되면
value = 0; //각도를 0으로 초기화
servo.write(value); //value값의 각도로 회전. ex) value가 90이라면 90도 회전
}
}
int LED = 9; //LED 아두이노 9번핀에 연결
void setup() {
Serial.begin(9600); //시리얼모니터 오픈
pinMode(LED, OUTPUT); //9번 핀의 모드를 OUTPUT으로 설정
}
void loop() {
//Potentiometer
int val = analogRead(A5)/4; // 가변저항을 아날로그 A5에 연결하고 이를 'val'에 저장 /안하면 처음부터 끝까지 돌릴때 밝아지고 어두워지는것 4번 반복됨
Serial.println(val); // 시리얼 모니터로 가변저항 값을 출력
analogWrite(LED, val); // 가변저항의 값을 LED(9번핀)로 보내 출력
//CDS
int cds = analogRead(A1); // 조도센서 A1으로 들어오는 값을 cds에 저장
if(cds > 230)
{
digitalWrite(LED, HIGH); // 측정값 230 보다 클 때 LED ON
}
else
{
digitalWrite(LED, LOW); // 측정값 230보다 작으면 LED OFF
}
}
'임베디드 > Atmega128' 카테고리의 다른 글
atmega128- 03_external_pullup.c , internal_pullup 내부풀업 외부풀업 (0) | 2020.12.22 |
---|---|
atmega128- 03_external_pulldown 외부 풀다운 (0) | 2020.12.17 |
도트매트릭스 8x8 숫자 0~9 띄우기 / 흐르게 하기 (0) | 2020.12.14 |
반도체 다이오드 트랜지스터 (0) | 2020.12.14 |
HBE - MCU - Multi 2 base 로 배우는 마이크로 컨트롤러(AVR) (0) | 2020.12.13 |