2022-05-02 Arduino_6

아날로그 온도센서

1초마다 아날로그 값을 가지는 온도 값을 받아와 섭씨온도로 출력하는 프로그램

int Pin=A0; //입력 핀
int reading;
float tempC;

void setup(){
    Serial.begin(9600);
}

void loop(){
    reading=analogRead(Pin); //온도 센서에서 값을 읽음
    Serial.print(reading);
    tempC=(5.0*reading*100.0)/1024.0; //센서 값 섭씨온도로 변환(LM35 계산 공식) 
    Serial.print(tempC);
    Serial.println("oC");
    delay(1000);
}
Code language: JavaScript (javascript)

analogRead(pin) : 온도 센서에서 아날로그 값을 읽어오는 함수


라이브러리 사용

TinkerCad는 다양한 아두이노 라이브러리를 제공한다.

서류 보관함 모양을 버튼을 누르면 사용할 수 있는 다양한 종류의 라이브러리를 볼 수 있다.


서보 라이브러리

함수설명
void attach(pin)서보모터를 제어할 핀을 설정
void write(angle)특정 각도만큼 모터를 회전(angle: 0~180)
int read()현재 각도를 읽음. 반환 값은 [0~180]의 정수
boolean attached()서보모터 핀이 지정되어 있는지 검사
void detach()서보모터의 지정된 핀을 내부적으로 제거

위의 함수를 사용하기 위해서는 우선적으로 Servo 객체를 생성해야 한다.

#include <Servo.h>

Servo myServo; // 서보 객체 생성
int angle = 90; //서보 각도를 저장하기 위한 변수

void setup(){
        myServo.attach(12); // 12번 핀에 연결된 서보를 서보 객체에 배속시킴
}

void loop(){
    for (angle=0; angle <= 180; angle+= 1){
        myServo.write(angle);
        delay(15); // 서보가 해당 위치에 도달할 때까지 대기
    }
    for (angle=180; angle >= 0; angle-= 1){
        myServo.write(angle);
        delay(15); // 서보가 해당 위치에 도달할 때까지 대기
    }
}Code language: PHP (php)

 

댓글 남기기