728x90
반응형
📃 움직이는 물체가 감지되면 LED를 번갈아가면서 켜기
// C++ code
//
void setup()
{
pinMode(7, INPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void loop()
{
int readVal = digitalRead(7);
if(readVal == HIGH) {
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
delay(1000);
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, LOW);
delay(1000);
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, HIGH);
delay(1000);
}
else {
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
}
}
📃 분압기 이용
// C++ code
//
void setup()
{
Serial.begin(9600);
}
void loop()
{
int readValue = analogRead(A0);
delay(500);
Serial.println(readValue);
}
📃 가변저항으로 LED 밝기 조절
// C++ code
//
void setup()
{
Serial.begin(9600);
}
void loop()
{
int readValue = analogRead(A0);
delay(500);
Serial.println(readValue);
}
📃 조도센서
▪ 빛이 많으면 전류를 적게 보내고, 빛이 적으면 전류를 많이 보낸다.
📃 온도 센서
// C++ code
//
void setup()
{
Serial.begin(9600);
}
void loop()
{
int readValue = analogRead(A0); // 아날로그 신호를 측정
float volt = readValue * 5.0 / 1023;
float tempur = volt * 100.0 - 50;
Serial.println(tempur);
}
📃 가변저항의 값으로 인한 LED 밝기 변경
// C++ code
//
void setup()
{
Serial.begin(9600);
}
void loop()
{
int readValue = analogRead(A0);
// map() 함수를 이용해 입력 값의 범위를 변경
int convertedValue = map(readValue, 0, 1023, 0, 255);
analogWrite(9, convertedValue);
// 시리얼 모니터로 가변저항의 값과 범위 변경된 값을 출력
Serial.print(readValue);
Serial.print("\t");
Serial.println(convertedValue);
}
🙏재범님에게 감사드립니다...
📃 LCD
// C++ code
//
#include <LiquidCrystal.h>
int seconds = 0;
LiquidCrystal lcd_1(12, 11, 5, 4, 3, 2);
void setup()
{
lcd_1.begin(16, 2);
lcd_1.print("ONDO");
}
void loop()
{
int readValue = analogRead(A0);
delay(500);
Serial.println(readValue);
float volt = readValue * 5.0 /1023;
float temper = volt * 100.0 - 50;
lcd_1.setCursor(0, 1);
lcd_1.print(temper);
delay(1000);
seconds += 1;
}
📃 세그먼트 디스플레이
// C++ code
int A = 2;
int B = 3;
int C = 4;
int D = 5;
int E = 6;
int F = 7;
int G = 8;
int DP = 12;
void setup(void)
{
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
pinMode(DP, OUTPUT);
}
//My Functions
void zero(void) {
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
digitalWrite(DP, HIGH);
}
void one(void) {
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
digitalWrite(DP, HIGH);
}
void two(void) {
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
digitalWrite(DP, HIGH);
}
void three(void) {
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
digitalWrite(DP, HIGH);
}
void four(void) {
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(DP, HIGH);
}
void five(void) {
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(DP, HIGH);
}
void six(void) {
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(DP, HIGH);
}
void seven(void) {
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
digitalWrite(DP, HIGH);
}
void eight(void) {
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(DP, HIGH);
}
void nine(void) {
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(DP, HIGH);
}
// Start
void loop(void)
{
zero();
delay(1000);
one();
delay(1000);
two();
delay(1000);
three();
delay(1000);
four();
delay(1000);
five();
delay(1000);
six();
delay(1000);
seven();
delay(1000);
eight();
delay(1000);
nine();
delay(1000);
}
📃 초음파센서
// C++ code
//
void setup()
{
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
}
void loop()
{
//초음파 신호 통신
pinMode(9, OUTPUT);
digitalWrite(9, LOW);
delayMicroseconds(2);
digitalWrite(9, HIGH);
delayMicroseconds(5);
digitalWrite(9, LOW);
//초음파 신호 수신
pinMode(9,INPUT);
double duration = pulseIn(9,HIGH);
double cm = duration * 340/10000/2;
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
//물체의 측정거리에 따라 LED제어
if(cm < 20){
digitalWrite(7,HIGH);
digitalWrite(6,LOW);
digitalWrite(5,LOW);
}else if(cm <60){
digitalWrite(7,LOW);
digitalWrite(6,HIGH);
digitalWrite(5,LOW);
}else{
digitalWrite(7,LOW);
digitalWrite(6,LOW);
digitalWrite(5,HIGH);
}
delay(100);
}
728x90
반응형
'HW > Raspberry Pi | Arduino' 카테고리의 다른 글
라즈베리파이 - Mosquitto 브로커 설치 및 테스트 (0) | 2022.08.23 |
---|---|
라즈베리파이 - SPI 설치 (0) | 2022.08.23 |
라즈베리파이 - BMP180(대기압 센서) (0) | 2022.08.18 |
라즈베리파이 - PIR 센서(HC-SR501) (0) | 2022.08.18 |
라즈베리파이 - PWM 제어, 초음파센서 (0) | 2022.08.18 |
댓글