Q) 아두이노의 5번핀에 LED가 연결되어 있을 경우 1초 간격으로 깜박이는 프로그램을 작성해줘.
A)

void setup() {
  pinMode(5, OUTPUT); // 5번 핀을 출력으로 설정
}

void loop() {
  digitalWrite(5, HIGH); // 5번 핀에 전압 인가
  delay(1000); // 1초 대기
  digitalWrite(5, LOW); // 5번 핀에 전압 끄기
  delay(1000); // 1초 대기
}
위 코드를 사용하면 1초 간격으로 LED가 깜박입니다.

 

 

Q) 아두이노의 I2C에 LCD가 연결된 경우 "Hello world"를 표시하는 프로그램을 작성해줘.
A)

#include <Wire.h> 
#include <LiquidCrystal_I2C.h> 

LiquidCrystal_I2C lcd(0x27,16,2); 

void setup() {
  lcd.init();
  lcd.backlight();
  lcd.clear();
  lcd.print("Hello world!");
}

void loop() {
}
위 코드를 사용하면 I2C를 이용하여 연결된 LCD에 "Hello world"가 표시됩니다.
LiquidCrystal_I2C.h 라이브러리를 추가해야 하며, 사용하는 LCD의 I2C 주소를 확인해야 할 수 있습니다.

 


Q) 아두이노로 DC모터를 제어하는 프로그램을 작성해줘.
A)

#include <Adafruit_MotorShield.h> 
#include "utility/Adafruit_MS_PWMServoDriver.h"

Adafruit_MotorShield AFMS = Adafruit_MotorShield(); 
Adafruit_DCMotor *myMotor = AFMS.getMotor(1);

void setup() {
  AFMS.begin();
  myMotor->setSpeed(255); // set the speed to 255
  myMotor->run(FORWARD); // run the motor forward
  myMotor->run(RELEASE); // stop the motor
}

void loop() {
    myMotor->run(FORWARD); // run the motor forward
    delay(1000); // wait for 1 second
    myMotor->run(BACKWARD); // run the motor backward
    delay(1000); // wait for 1 second
    myMotor->run(RELEASE); // stop the motor
}
위 코드를 사용하면, Adafruit Motor Shield 라이브러리를 사용하여 1번 모터를 제어하며, 1초마다 방향을 바꾸어 DC모터를 제어 할 수 있습니다.

모터의 방향을 제어하기 위해서는 아래 구문 사용 가능
myMotor->run(FORWARD); // run the motor forward
myMotor->run(BACKWARD); // run the motor backward
myMotor->run(RELEASE); // stop the motor

모터 속도를 제어하기 위해서는 아래 구문 사용 가능
myMotor->setSpeed(255); // set the speed to 255

(모터 속도는 0~255 사이의 값을 사용 가능)

라이브러리는 아두이노 IDE에서 Adafruit Motor Shield V2 for Arduino library를 설치해야 합니다.

Posted by 살레시오
,