STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • 0
    • Sao chép

    Project 2 - Auto Turn On/Off Led

    Hướng dẫn điều khiển đèn led tự động bật - tắt với cảm biến ánh sáng và Arduino.
    27/01/2016
    25/07/2020
    4 phút đọc
    Project 2 - Auto Turn On/Off Led

    Các loại đèn trong nhà có chức năng tự bật khi trời tối và tự tắt khi có ánh sáng sử dụng quang trở để hiện thực. Với cấu tạo đơn giản của quang trở, bài viết này giúp bạn biết thêm những kiến thức về điện tử.

    Kiến thức về quang trở

    Quang trở là linh kiện điện tử rất hay gặp trong những mạch có sử dụng cảm biến ánh sáng. Quang trở như một loại điện trở, đơn vị là (Ohm), thay đổi theo cường độ ánh sáng.

    Nếu môi trường thiếu sáng, ánh sáng mờ hoặc tối, điện trở của "quang trở" sẽ tăng cao, và ngược lại ánh sáng càng nhiều thì điện trở sẽ giảm. Với nguyên lý đó, ta có thể xây dựng ứng dụng đèn led, khi có ánh sáng, đèn led sẽ tắt; khi tối, đèn led sẽ sáng lên. Các bạn có thể trang bị thêm kiến thức về "điện trở" trong bài viết Điện Trở - Resisitor.

    Quang trở
    Quang trở

    Xung PWM (Pulse Width Modulation)

    Xung bao gồm các trạng thái (HIGH/LOW) của mức điện áp, bao gồm tần số (frequency) và chu kì xung (duty cycle) nhằm xác định trạng thái dao động. Chức năng của xung PWM có thể điều khiển động cơ, thay đổi độ sáng tối của đèn led, ... tham khảo chi tiết hơn về xung PWM tại Điều Chế Độ Rộng Xung PWM.

    Chuẩn bị

    • Arduino Uno.
    • Breadboard.
    • Dây cắm breadboard.
    • Đèn led.
    • Quang trở.
    • Điện trở.

    Sử dụng hàm

    Serial: đối tượng chứa các hàm giao tiếp giữa các mạch Arduino, có thể hiểu Serial được dùng trong việc giao tiếp giữa các board mạch với nhau (hoặc board mạch với máy tính hoặc với các thiết bị khác.

    Lưu ý, nếu bạn đang sử dụng các hàm của thư viện Serial, không thể sử dụng chân digital 0 và digital 1, và tất nhiên chân digital 0 và digital 1 lúc này sẽ có dòng điện. Để mở bảng COM3 giao tiếp với máy tính, bạn ấn tổ hợp phím CTRL + SHIFT + M.

    • Serial.begin(9600): cổng giao tiếp với máy tính, có các tốc độ truyền sau: 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, hoặc 115200
    Serial port

    Analog:

    • analogRead(): đọc giá trị điện áp từ một chân Analog (ADC). Trên mạch Arduino UNO có 6 chân Analog In, được kí hiệu từ A0 đến A5. Trên các Arduino có những chân tương tự, với ký tự "A" đầu tiên, sau đó là số hiệu của chân. Cú pháp : analogRead(chân đọc điện áp).
    • analogWrite(): lệnh xuất ra từ một chân trên mạch như một mức tín hiệu analog - xung PWM. Hàm thường sử dụng để điều khiển mức sáng tối của đèn led, hoặc động cơ bằng cách phát xung PWM. Giá trị mức xung PWM nằm trong khoảng từ 0 đến 255.

    Sơ đồ lắp đặt

    Sơ đồ mạch Arduino và quang trở
    Sơ đồ lắp mạch

    Cài đặt

    Bước 1: Khai báo

    • Analog = 0: Định nghĩa chân quang trở chân A0.
    • Led = 11: Chân led chân 11.
    • value = 0: Giá trị ban đầu.
    int Analog = 0; 
    int Led = 11;
    int value = 0;

    Bước 2: Khai báo giá trị của biến trong hàm setup(), mở cổng 9600

    • pinMode: định nghĩa chân xuất tín hiệu
    • Serial.begin(9600);
    void setup()
    {
      pinMode(Led, OUTPUT);
      Serial.begin(9600);
    }

    Bước 3: Gồm các bước

    • Gán giá trị nhận được từ hàm analogRead vào value.
    • In ra giá trị tại cổng giao tiếp COM3 (ấn tổ hợp phím CTRL + SHIFT + M) giá trị của value.
    • Xuất giá trị xung PWM với 2 giá trị: chân đèn led và value nhận được.
    • Dừng chương trình trong 10ms.
    void loop()
    {
      value = analogRead(Analog);
      Serial.println(value);
      analogWrite(Led, value);
      delay(10); 
    }
    

    Code đầy đủ

    void setup()
    {
    pinMode(Led, OUTPUT);
    Serial.begin(9600);
    }

    void loop()
    {
    value = analogRead(Analog);
    Serial.println(value);
    analogWrite(Led, value);
    delay(10);
    }

    Kết quả

    Sau khi nối mạch và nạp code như trên, ta thực hiện bước cuối cùng, xem value vừa nhận được tại màn hình COM3 bằng cách ấn tổ hợp phím CTRL + SHIFT + M. Nhận thấy sự thay đổi value do ảnh hưởng của ánh sáng trong môi trường, ánh sáng càng nhiều value càng giảm, và ngược lại, ánh sáng càng ít thì value càng cao.

    Kết quả
    0 Bình luận
    Điện Tử Ứng Dụng

    Điện Tử Ứng Dụng

    Kiến thức điện tử, Arduino, Raspberry Pi, giới thiệu sản phẩm.

    Đề xuất

    STDIO Starter Kit - Các Thành Phần Cần Thiết Để Học Điện Tử Cơ Bản
    Bộ STDIO Starter Kit là bộ kit điện tử thống kê các thành phần cần thiết ...
    LED Matrix
    Chúng ta thướng thấy rất nhiếu biển quảng cáo đèn LED với đủ màu sắc và ...

    Khám phá

    C++11 - Từ Khóa auto
    Tìm hiểu về từ khoá auto trong C++.
    03/06/2014
    Phát Triển Game Funny Halloween Pumpkins với Cocos2d-x - Phần 1
    Hướng dẫn làm game cụ thể bằng Cocos2d-x với code mẫu và game mẫu.
    Tín Hiệu Số Và Tương Tự - Analog/Digital
    Trong ngành điện tử nói chung và trong lập trình vi điểu khiển nói ...
    Điện Tử Cơ Bản Với Arduino – LED 7 Đoạn
    Giới thiệu LED 7 đoạn và code demo sử dụng LED 7 đoạn với Arduino.
    Phát Triển Game Funny Halloween Pumpkins với Cocos2d-x - Phần 2
    Bài viết hướng dẫn các bạn mới muốn học làm game bằng Cocos2d-x. Thông ...
    Điều Khiển Đèn LED trên Web bằng Raspberry Pi 4 và Node.js - Webserver với WebSocket
    Lập trình điều khiển bật tắt đèn LED trên website bằng Raspberry Pi 4 và ...
    Ứng Dụng Text To Speech Vào Project Cocos2d-x
    Hướng dẫn biến đổi text thành giọng nói (Text To Speech = TTS) trên nền ...
    Lập Trình Điều Khiển Đèn LED với Arduino
    Giới thiệu đèn LED, các lưu ý và sử dụng LED cơ bản với Arduino.
    Khi bạn nhấn vào liên kết sản phẩm do STDIO đề xuất và mua hàng, STDIO có thể nhận được hoa hồng. Điều này hỗ trợ STDIO tạo thêm nhiều nội dung hữu ích.. Tìm hiểu thêm.
    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020