[아두이노] 시뮬레이션 사이트로 편하게 공부하세요

가영·2021년 6월 17일
1

손으로 한땀한땀 그리면서 시험공부하다가 대혁명 사이트를 찾아냈다.

https://www.tinkercad.com/

여기서는 아두이노를 가상으로 만들고 코드 업로드 해서 시뮬레이션 할 수 있다!! 너무 편하고 공부하기에 좋다.

내가 시험공부 하면서 만든 것들이다.

버튼 실습!

버튼을 누르면 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를 해볼까? 👻
이거보다 훨씬 어렵겠지 ^^ .. 파이팅 미래의 나💓

0개의 댓글