Cảm biến ánh sáng

35,000 

Cảm biến ánh sáng là thiết bị giúp nhận biết và phát hiện cường độ ánh sáng của môi trường xung quanh. Cảm biến này thích hợp để làm các ứng dụng cơ bản về nhận biết ánh sáng, biết được trời sáng hay trời tối và nhiều ứng dụng thú vị khác.

Mô tả

Cảm biến ánh sáng là thiết bị giúp nhận biết và phát hiện cường độ ánh sáng của môi trường xung quanh. Cảm biến này thích hợp để làm các ứng dụng cơ bản về nhận biết ánh sáng, biết được trời sáng hay trời tối và nhiều ứng dụng thú vị khác.

Thông số kỹ thuật

  • Điện áp hoạt động: 3-5V
  • Dòng cung cấp: 0.5-3mA
  • Điện trở quang: GL5528
  • Điện trở khi có ánh sáng: 20KΩ
  • Điện trở khi không có ánh sáng: 1MΩ
  • Thời gian phản hồi: 20-30 secs
  • Bước sóng tối đa: 540 nm

Pinout của cảm biến ánh sáng

Cảm biến ánh sáng có 3 chân, và mỗi chân có chức năng như sau:

STT Chân Chức năng
1 GND Nối đất
2 VCC Cấp nguồn
3 NC TKhông sử dụng
4 SIG Tín hiệu ngõ ra của cảm biến

Hướng dẫn lập trình

Lập trình khối lệnh trên OhStem App

Bạn có thể lập trình sử dụng giao diện kéo thả trên app OhStem App hoặc tại trang web lập trình của OhStem.

Bạn cần kéo thả chương trình như sau:

Lập trình ứng dụng cảm biến ánh sáng bằng OhStem App

Giải thích chương trình:

Ở trong vòng lặp mãi, chúng ta sẽ khai báo một hàm điều kiện:

  • Nếu giá trị đọc được thấp hơn 50 (trời tối), sẽ đổi màu đèn led trên board thành màu vàng
  • Ngược lại, khi trời sáng, ta sẽ tắt màu đèn led trên board.

Chương trình trên sẽ được lặp đi lặp lại liên tục.

Lập trình trên Arduino

Chúng ta có thể lập trình bằng ngôn ngữ Arduino IDE

Bạn sẽ cần gọi thư viện Neopixel để có thể điều khiển đèn led neopixel trên board. Chương trình lập trình trên Arduino sử dụng cảm biến ánh sáng như sau:

#include <Adafruit_NeoPixel.h>

// Chân tín hiệu của led trên board
// led_onboard = 12

// Ngõ ra chân của mạch xBot

// p41 = 39
// p42 = 36
// p51 = 32
// p52 = 33
// p61 = 34
// p62 = 35

#define PIN            12
#define sensorPin      39      

// Số lượng NEOPIXEL
#define NUMPIXELS      2

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  
  pixels.begin(); // Khởi động thư viện NeoPixel.
}

void loop() {
    sensorValue = analogRead(sensorPin);
    if (sensorValue < 50){
        setall(255,255,0);
    }
    else{
        setall(0,0,0);}
    }
}
void setall(int Red, int Green, int Blue){
  for(int i=0;i<NUMPIXELS;i++){
    // giá trị màu RGB, từ 0,0,0 lên đến 255,255,255
    pixels.setPixelColor(i, pixels.Color(Red, Green, Blue)); // điều chỉnh độ sáng đèn led.
    pixels.show(); // Cập nhập hiển thị trạng thái đèn led.
    delay(500);

  }

Lập trình bằng Micropython

Để lập trình cho xBot sử dụng ngôn ngữ Micropython, bạn cần cài đặt chương trình lập trình python. Ở đây chúng ta sẽ sử dụng phần mềm uPycraft

Chương trình lập trình bằng micropython sử dụng cảm biến ánh sáng như sau:

from machine import ADC, Pin
from led import led_onboard
from utility import *

PORT_41= Pin(39)
#PORT_42 = Pin(36)
#PORT_51 = Pin(32)
#PORT_52 = Pin(33)
#PORT_61 = Pin(34)
#PORT_62 = Pin(35)

light_sensor = ADC(PORT_41)  

while True:
  if (light_sensor.read()) < 50:
    led_onboard.show(1, (255,255,0))
    led_onboard.show(2, (255,255,0))
  else:
    led_onboard.show(0, (0, 0, 0))
  time.sleep_ms(20)

Schematic

Schematic của cảm biến ánh sáng

FAQs

Ask a question


Đánh giá

Chưa có đánh giá nào.

Hãy là người đầu tiên nhận xét “Cảm biến ánh sáng”

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Menu