Cảm biến xoay Rotary

Module cảm biến xoay Rotary hoạt động như một biến trở cho ra giá trị analog trong khoảng từ 0 đến VCC (5V DC trên Arduino UNO hoặc 3.3V trên Blocky Node Wifi) ở chân tín hiệu. Vòng xoay của núm vặn là 300 độ và giá trị tổng trở ở vị trí max là 10k ohm. Module phù hợp sử dụng cho các ứng dụng như điều khiển đèn, âm thanh…

Chức năng

  • Biến trở 10k ohm
  • Hỗ trợ cả 3.3V và 5V
  • Tương thích với chuẩn cắm plug& play 4 pin Blocky Piece

Tìm hiểu thêm thông tin về chuẩn cắm và hệ sinh thái module Blocky Piece ở đây.

Hướng Dẫn Sử Dụng Với Arduino

Phần cứng

  • Bước 1. Chuẩn bị các phần cứng sau:
    • Blocky UNO hoặc Base shield cho UNO
    • Module Rotary
    • Module Led
  • Bước 2. Dùng dây nối module Rotary vào cổng cắm A0 (hoặc cổng analog khác tùy bạn chọn).
  • Bước 3. Dùng dây nối module Led vào cổng cắm D3 (hoặc cổng digital khác tùy bạn chọn).
  • Bước 4. Nối Blocky UNO với máy tính thông qua cáp USB.

 

dav

Code mẫu

 

/*macro definitions of Rotary angle sensor and LED pin*/

#define ROTARY_ANGLE_SENSOR A0
#define LED 3  //the Grove - LED is connected to PWM pin D3 of Arduino
#define ADC_REF 5 //reference voltage of ADC on Uno is 5v
#define FULL_ANGLE 300 //full value of the rotary angle is 300 degrees

void setup()
{
    Serial.begin(9600);
    pinMode(ROTARY_ANGLE_SENSOR, INPUT);
    pinMode(LED,OUTPUT);   
}

void loop()
{   
    float voltage;
    int sensor_value = analogRead(ROTARY_ANGLE_SENSOR);
    voltage = (float)sensor_value*ADC_REF/1023;
    float degrees = (voltage*FULL_ANGLE)/ADC_REF;
    Serial.println("The angle between the mark and the starting position:");
    Serial.println(degrees);

    int brightness;
    brightness = map(degrees, 0, FULL_ANGLE, 0, 255);
    analogWrite(LED,brightness);
    delay(500);
}

Sau khi nạp code, bạn vặn núm xoay của rotary sẽ thấy đèn led được chỉnh sáng tối tương ứng.