손으로 한땀한땀 그리면서 시험공부하다가 대혁명 사이트를 찾아냈다.
여기서는 아두이노를 가상으로 만들고 코드 업로드 해서 시뮬레이션 할 수 있다!! 너무 편하고 공부하기에 좋다.
내가 시험공부 하면서 만든 것들이다.
버튼 실습!
버튼을 누르면 LED에 불이 들어온다.
void setup()
{
pinMode(13, OUTPUT);
pinMode(8, INPUT);
}
void loop()
{
int value = digitalRead(8);
if (value != HIGH) {
digitalWrite(13, HIGH);
} else {
digitalWrite(13, LOW);
}
}
서보 모터 실습 🏃🏻♂️
버튼을 누르면 모터가 돌아간다.
서보모터는 서보 라이브러리로 간편하게 코드를 짤 수 있다
#include <Servo.h>
Servo servo;
int servoPin = 6;
int buttonPin = 8;
void setup() {
servo.attach(servoPin);
pinMode(buttonPin, INPUT);
}
void loop() {
int light = digitalRead(buttonPin);
if (light == HIGH)
servo.write(180);
else
servo.write(0);
delay(200);
}
가변저항(PWM) 실습 💫
가변저항으로 저항값을 조절했고, 디지털이(0/1) 아니라 연속적인 아날로그 값처럼 INPUT이 들어오니까 그 범위에 따라 켜지는 LED가 달라지게 했다.
참고로 PWD의 입력값 범위는 0~1023
void setup() {
Serial.begin(9600);
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
}
void loop() {
int value = analogRead(A0)/4;
Serial.println(value);
if (value < 100) {
digitalWrite(3, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
} else if ( value >= 100 && value < 200) {
digitalWrite(3, 0);
digitalWrite(5, 1);
digitalWrite(6, 0);
} else {
digitalWrite(3, 0);
digitalWrite(5, 0);
digitalWrite(6, 1);
}
delay(300);
}
사물인터넷개론이라는 수업이었는데, 이론은 그냥 그랬고 실습이 너무 재미있었다! 만지작거리면서 조립하면 마음의 평화가 찾아온다.
사실 잘 안되면 당황스러운데 얘도 그냥 코딩이랑 똑같아서 내가 실수만 안 하면 된다.
나중에 졸프에서 IoT를 해볼까? 👻
이거보다 훨씬 어렵겠지 ^^ .. 파이팅 미래의 나💓