아두이노 릴레이 모터제어 - adu-ino lillei moteojeeo

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

아두이노 릴레이 모터제어 - adu-ino lillei moteojeeo

(#5/릴레이/모스펫/모터드라이버/DC모터제어) nRF24L01을 이용한 1:1 단방향 무선통신 원격제어 시리즈!(녹칸다/포로리야공대가자)
-RF무선통신 모듈중 가장 저렴한 nRF24L01을 이용한 원격제어 시리즈로 구성한다!
-큰 범주로 1:1단방향, 1:1양방향, 1:N단방향, 1:N양방향, N:N단방향, N:N양방향이 있다!(어디까지 할지는 모름)
-이번 시리즈는 nRF24L01을 이용한 1:1단방향 무선통신으로 한쪽 아두이노에서 다른쪽 아두이노를 원격제어하는 것을 목표로 한다!
-아두이노 2대를 준비하고 nRF24L01을 1개씩 연결해주면 아두이노끼리 양방향으로 무선통신이 가능해진다!
-nRF24L01모듈이 달린 2개의 아두이노보드를 각각 A와 B라고 하자!
-A에 버튼(택트스위치)을 1개 연결하고 B에 릴레이를 연결한뒤 A에서 B로 릴레이 제어기능을 구현하고 릴레이는 DC모터에 연결해서 원격으로 ON/OFF되도록 해보자!
-A에서 슬라이드가변저항을 연결하고 B에 모스펫과 DC모터를 연결해서 A에서 전송하는 가변저항의 값을 이용하여 DC모터의 속도를 원격제어하라!
-A에서 2축조이스틱의 X축을 연결하고 B에 모터드라이버와 DC모터를 연결해서 A에서 보내는 조이스틱의 값을 이용해서 B의 모터드라이버를 원격제어하고 DC모터의 회전방향과 회전속도를 제어해보라!

예제 244-1-1 트랜스미터 아두이노용 코드!
  아두이노에 D2에 버튼을 연결했다!
  버튼을 누르고 있는 동안에 리시버에 달린 DC모터가 릴레이에 의해서 작동될 수 있도록 해보자!

아두이노 릴레이 모터제어 - adu-ino lillei moteojeeo

244-1-1.txt

0.00MB

244-1-2.txt

0.00MB


예제 244-2-1 트랜스미터 아두이노용 코드!
  슬라이드 가변저항을 A0에 연결하고 10비트 아날로그값을 리시버로 전송하자!
  리시버에 연결된 모스펫이 PWM을 제어될 수 있도록 값을 보내보자!

아두이노 릴레이 모터제어 - adu-ino lillei moteojeeo

244-2-1.txt

0.00MB

244-2-2.txt

0.00MB


예제 244-3-1 트랜스미터 아두이노용 코드!
  2축조이스틱의 x축을 A0에 연결했다!
  조이스틱을 움직이는 방향을 이용해서 리시버에 달린 모터드라이버(L298N)를 제어하라!

아두이노 릴레이 모터제어 - adu-ino lillei moteojeeo

244-3-1.txt

0.00MB

244-3-2.txt

0.00MB

관련라이브러리(nRF24L01)

https://nrf24.github.io/RF24/

릴레이모듈과 버튼으로 LED제어하기

 사용 부품

1) 아두이노 UNO  x 1

2) 릴레이 모듈(1ch)  x 1

3) 330 ohm 저항  x 3

4) 버튼  x 1

5) LED (Red, Green) 각각 x 1

 적용 회로

아두이노 릴레이 모터제어 - adu-ino lillei moteojeeo

 적용 코드

#define RELAY 3

#define SWITCH 8

 

void setup() {

  // put your setup code here, to run once:

  pinMode(RELAY, OUTPUT);

  pinMode(SWITCH, INPUT);

}

 

int buff=0;

int status = 0;

int temp=0;

 

void loop() {

  // put your main code here, to run repeatedly:

  buff = digitalRead(SWITCH);

  if( ! buff ){  // 버튼이 눌리면 동작

    temp = 0;

    return;

  }

  if( temp ){  // 버튼을 계속 누르는 중이면 처음1회만 동작

    return;

  }

  if( status == 1){

    status = 0;

  }else{

    status = 1;

  }

  digitalWrite(RELAY, status);

  temp = buff;

}

 

후속컨텐츠

형광등 원격 제어

다채널 릴레이 모듈을 이용한 여러 회로 제어

모든 컨텐츠 WiFi혹은 BLyNK 제어/모니터링