Kết nối
-
Bước 1: Chuẩn bị các thiết bị như sau:
Máy tính lập trình Yolo:Bit |
Mạch mở rộng cho Yolo:Bit |
Cảm biến ánh sáng (kèm dây Grove) |
-
Bước 2: Cắm Yolo:Bit vào mạch mở rộng
-
Bước 3: Sử dụng dây Grove cắm vào cảm biến
-
Bước 4: Kết nối cảm biến với P0 trên mạch mở rộng.
Đây cũng là một cảm biến có giá trị trả về là analog, do đó bạn có thể kết nối với các chân P0, P1, P2 trên mạch mở rộng
Lời kết
Cảm ơn các bạn đã xem và đọc bài viết, nếu các bạn thấy bổ ích nhớ Like và Share cho mọi người cùng học nha.
Chúc các bạn thành công.
Trân trọng.
Bài 9: Cảm biến ánh sáng (Quang trở) cách chia điện áp trong môi trường Arduino
Tiếp tục bài viết trong khóa học lập trình Arduino. Hôm nay mình sẽ gửi đến các bạn một chủ đề mới là cảm biến ánh sáng (quang trở).
Vậy cảm biến quang trở có cấu tạo và nguyên lý hoạt động như thế nào?
Ứng dụng thực tiễn trong đời sống ra sao?
Chúng ta đi vào tìm hiểu ngay nhé.
Cảm biến hồng ngoại arduino dùng như thế nào?
Cảm biến hồng ngoại arduino (IR) là một “công tắc” cảm biến tiệm cận. Khi một vật thể hoặc chướng ngại vật đủ gần để chặn tầm nhìn phía trước của 2 đèn LED, nó sẽ kích hoạt mô-đun thu IR. Đèn LED rõ ràng là máy phát IR và đèn LED đen là máy thu IR. Nó sử dụng nguyên lý phản xạ điện từ, càng gần bề mặt phản xạ (vật thể) thì tín hiệu nhận được từ máy phát càng mạnh do khoảng cách truyền của sóng phản xạ càng ngắn.
Khi một đối tượng đủ gần để phát hiện rằng bức xạ điện từ hồng ngoại mà bộ thu IR nhận được trên mức ngưỡng (mức người dùng đặt trước), cảm biến sẽ chuyển đổi đầu ra sang bảng vi xử lý dưới dạng thực thi Arduino. Mô-đun cảm biến hồng ngoại chỉ có một tín hiệu đầu ra, đó là đầu ra kỹ thuật số. Đầu ra kỹ thuật số ở mức cao (5V hoặc 3,3V, tùy thuộc vào điện áp đầu vào) hoặc mức thấp (0V), vì vậy mô-đun này được sử dụng như một công tắc kích hoạt.
Nó là một mô-đun chuyển đổi để phát hiện các đối tượng hoặc chướng ngại vật. Nó phát hiện các vật thể hoặc chướng ngại vật trong vòng 30 cm (khuyến nghị tối đa là khoảng 20 cm) ở phía trước đèn LED hồng ngoại của bộ thu phát. Ngưỡng mức phát hiện có thể được điều chỉnh bằng cách sử dụng chiết áp hoặc chiết áp trimpot tích hợp. Arduino có thể phát hiện các giá trị điện áp khi các công tắc BẬT / TẮT sử dụng các chân đầu vào kỹ thuật số. Đối với Arduino UNO, có 12 chân đầu vào / đầu ra kỹ thuật số (2-13), một trong số đó bạn có thể sử dụng để phát hiện chuyển đổi điện áp. Arduino NANO có 11 chân, trong khi Arduino MEGA có 54 chân. Các chân đầu vào điện áp sẽ ánh xạ điện áp đầu vào giữa 0 và 3,3V/5V . Điện áp trên 3,3V được coi là điện áp cao. Không đảo ngược cực điện áp vì điều này có thể làm hỏng chân cắm.
Các loại cảm biến arduino
Hiện nay, có rất nhiều loại cảm biến khác nhau giúp bạn có thể dễ dàng thực hành thí nghiệm giao tiếp với arduino.
Module cảm biến hồng ngoại
Cảm biến chướng ngại vật hồng ngoại thích ứng với môi trường và có một cặp bộ phát và bộ thu hồng ngoại. Tia hồng ngoại phát ra một tần số nhất định, khi phát hiện hướng truyền của vật cản (bề mặt phản xạ) thì nó sẽ phản xạ vào đèn thu hồng ngoại, sau khi so sánh, đèn xanh sẽ sáng và tín hiệu sẽ được gửi đến đầu thu tại cùng lúc. Tín hiệu đầu ra (tín hiệu bậc thấp).
Khoảng cách làm việc hiệu quả là 2 ~ 5cm, và điện áp làm việc là 3,3V ~ 5V. Độ nhạy sáng của cảm biến chướng ngại vật hồng ngoại được điều chỉnh bằng chiết áp, cảm biến dễ lắp ráp và dễ sử dụng.
Có thể được sử dụng rộng rãi trong robot tránh chướng ngại vật, xe tránh chướng ngại vật, dò đường …
Cảm biến dò line arduino
Một máy dò chỉ 4 chân duy nhất có thể được sử dụng để phát hiện cả đường line trắng và line đen. Mạch sử dụng cảm biến hồng ngoại, và khoảng cách phát hiện là 1 ~ 25mm, thuận tiện cho việc lắp đặt mô-đun trên thiết bị.
Có thể dễ dàng điều chỉnh độ nhạy của cảm biến với một bộ lưu biến tích hợp trên bo mạch. Mạch cảm biến dò line 4 chân thích hợp cho các thiết bị cần di chuyển dọc các thiết bị phát hiện vạch trắng, đen, …
Hướng dẫn lập trình với OhStem App
-
Bước 1: Tải thư viện AIOT KIT, xem hướng dẫn tải thư viện tại đây
-
Bước 2: Gửi chương trình sau xuống Yolo:Bit
Note
Giải thích chương trình:
Ở trong vòng lặp lại 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 Yolo:Bit thành màu vàng
-
Ngược lại, khi trời sáng, đổi tất cả màu đèn thành màu đen (nghĩa là đèn LED sẽ tắt)
Chương trình trên sẽ được lặp đi lặp lại liên tục.
Sơ lược về cảm biến ánh sáng quang trở (CDS)
Cảm biến ánh sáng quang trở thay đổi điện trở dựa vào cường độ ánh sáng chiếu vào, cảm biến sử dụng Photoresistor nên cho độ nhạy cao, tín hiệu ổn định.
Đọc thêm: Hướng dẫn sử dụng cảm biến âm thanh (Sound Sensor) với Arduino
Ưu điểm
- Mạch thiết kế nhỏ gọn.
- Độ chính xác cao.
- Linh hoạt trong việc điều chỉnh độ nhạy của cảm biến (thông qua biến trở được tích hợp trên mạch).
Lưu ý: Khi xoay biến trở theo chiều kim đồng hồ thì sẽ làm giảm cường độ nhận biết của cảm biến, tức là môi trường phải ít ánh sáng thì cảm biến mới đọc giá trị digitalRead() là 1.
Để hiểu hơn về cách thức làm việc của hàm digitalRed() các bạn xem bài viết này nhé: Xem ngay.
Các chân chức năng
VCC | Cấp nguồn dương cho Cảm biến (3V3 – 5V) |
GND | Nối Mass |
D0 | Ngõ ra tín hiệu Digital I/O |
Cảm biến ánh sáng (Quang trở)
Trong chuỗi bài viết về lập trình Arduino mình đã nói về cảm biến ánh sáng nhưng chưa giải thích thực sự chi tiết, trong bài hôm nay mình sẽ giải thích chi tiết hơn cho những phần còn thiếu từ bài trước. Để có thể tiếp thu một cách tốt nhất các bạn xem lại bài trước để hiểu rõ hơn.
Cảm biến ánh sáng quang trở hoạt động theo nguyên lý: điện trở thay đổi khi có ánh sáng chiếu vào (0 – 1023 tương tự từ 0 – 5V) quang trở có điện trở đến vài MΩ, khi có ánh sáng chiếu vào điện trở giảm xuống mức một vài trăm Ω.
Chi tiết sản phẩm
Cảm biến cường độ ánh sáng Lux BH1750 được sử dụng để đo cường độ ánh sáng theo đơn vị lux, càm biến có ADC nội và bộ tiền xử lý nên giá trị được trả ra là giá trị trực tiếp cường độ ánh sáng lux mà không phải qua bất kỳ xử lý hay tính toán nào thông qua giao tiếp I2C .
THÔNG SỐ KỸ THUẬT
- Nguồn: 3~5VDC
- Giao tiếp: I2C
- Khoảng đo: 1 -> 65535 lux
- Kích cỡ: 21*16*3.3mm
VIDEO MÔ TẢ
Một số ví dụ về độ rọi của ánh sáng:
- Vào buổi tối : 0.001 – 0.02 Lux
- Ánh trăng : 0.02 – 0.3 lux
- Trời nhiều mây trong nhà : 5 – 50 lux
- Trời nhiều mây ngoài trời : 50 – 500 lux
- Trời nắng trong nhà : 100 – 1000 lux
- Ánh sáng cần thiết để đọc sách: 50 – 60 lux
DOWNLOAD code mẫu và thư viện cho BH1750VI
SƠ ĐỒ ĐẤU NỐI VỚI ARDUINO UNO
———————CODE THAM KHẢO———————
/* Kết nối: BH1750 UNO MEGA VCC 3V3 or 5V 3V3 or 5V GND GND GND SCL A5 SCL SDA A4 SDA Mở Serial Monitor chọn No line ending, baud 9600. */ #include
#include
BH1750 lightMeter; void setup(){ Serial.begin(9600); // Initialize the I2C bus (BH1750 library doesn’t do this automatically) Wire.begin(); // On esp8266 you can select SCL and SDA pins using Wire.begin(D4, D3); lightMeter.begin(); Serial.println(F(“BH1750 Test begin”)); } void loop() { float lux = lightMeter.readLightLevel(); Serial.print(“Light: “); Serial.print(lux); Serial.println(” lx”); delay(1000); }
HÌNH CẢM BIẾN CƯỜNG ĐỘ ÁNH SÁNG BH1750
Nshopvn.com · 07/03/2019 10:44 AM
Cảm Biến Cường Độ Ánh Sáng Lux BH1750 giá chỉ 29.000₫
Cảm biến ánh sáng
-
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.
Code mẫu
/* * This is the Arduino code for Light module for Arduino (basic) This video shows you how to turn an AC light ON during the night using Light sensor and turn it OFF during the day. This code is basic version where digital output of the module is used. // Written for Robojax.com video * watch HC-SR505 Motion Sensor video for details https://youtu.be/qhThpxiXubI * Code is available at http://robojax.com/learn/arduino * // Writeen by Ahmad S. for Robojax.com on // on Freb 10, 2018 at 13:43 at city of Ajax, Ontario, Canada */ #define LIGHT 7 // define pint 7 for sensor #define RELAY 4 // define pin 4 as for relay /* * Permission granted to share this code given that this * note is kept with the code. * Disclaimer: this code is “AS IS” and for educational purpose only. * */ void setup() { // Light LDR Sensor Code by Robojax.com 20180210 Serial.begin(9600);// setup Serial Monitor to display information pinMode(LIGHT, INPUT_PULLUP);// define pin as Input sensor pinMode(RELAY, OUTPUT);// define pin as OUTPUT for relay } void loop() { // Light LDR Sensor Code by Robojax.com 20180210 int L =digitalRead(LIGHT);// read the sensor if(L == 1){ Serial.println(” light is ON”); digitalWrite(RELAY,LOW);// turn the relay ON }else{ Serial.println(” === light is OFF”); digitalWrite(RELAY,HIGH);// turn the relay OFF } delay(500); // Light LDR Sensor Code by Robojax.com 20180210 }
Giải thích Code
Như mọi khi, bước đầu tiên chúng ta đi vào khai báo chân cho từng thiết bị.
#define LIGHT 7 // define pint 7 for sensor #define RELAY 4 // define pin 4 as for relay
Tiếp theo, trong Vòng lặp loop() ta đặt biến L làm giá trị để đọc cảm biến.
Nếu cảm biến ánh sáng quang trở nhận được giá trị là mức 1.
Chú ý: Lúc này cảm biến ánh sáng sẽ nhận giá trị mức 1 khi đang ở môi trường ánh sáng thấp.
Thì lúc này rơ le sẽ đóng và làm đèn sáng và ngược lại.
void loop() { // Light LDR Sensor Code by Robojax.com 20180210 int L =digitalRead(LIGHT);// read the sensor if(L == 1){ Serial.println(” light is ON”); digitalWrite(RELAY,LOW);// turn the relay ON }else{ Serial.println(” === light is OFF”); digitalWrite(RELAY,HIGH);// turn the relay OFF } delay(500); // Light LDR Sensor Code by Robojax.com 20180210 }
Sơ đồ đấu nối
Các linh kiện cần thiết cho dự án
Tên linh kiện | Số lượng | Shopee |
Arduino Uno R3 | Mua ngay | |
Cáp nạp | Mua ngay | |
Relay 5V/ 1 kênh | Mua ngay | |
Cảm biến ánh sáng | Mua ngay | |
Dây cắm (Đực – Cái) | Mua ngay |
Bạn sẽ học được gì
- Có kiến thức cơ bản về Robotics
- Chế tạo Robot dò đường thông minh
- Đánh thức nhà khoa học bên trong bạn
- Tìm hiểu thêm về Robotics, các thuật toán Robot tự động
- Kiến thức nền tảng để chế tạo các máy móc tự động phục vụ đời sống sinh hoạt, lao động sản xuất
- Kiến thức để chế tạo sản phẩm, tham gia các cuộc thi khoa học công nghệ trong nước và quốc tế
Thông số kỹ thuật
-
Thông số kỹ thuật
-
Điện áp hoạt động: 3.3V
-
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
Cảm biến ánh sáng có 4 chân, và mỗi chân có chức năng như sau:
STT |
Chân |
Chức năng |
GND |
Nối đất |
|
VCC |
Cấp nguồn (3.3V) |
|
NC |
Không sử dụng |
|
SIG |
Tín hiệu ngõ ra của cảm biến |
Cảm biến hồng ngoại ir arduino
Cách đấu dây cảm biến hồng ngoại vào board arduino
Code lập trình arduino với cảm biến hồng ngoại
Click vào đây để tải xuống!
Trên đây là 1 số kiến thức về cảm biến hồng ngoại dùng cho arduino tuy rất dễ dàng nhưng đòi hỏi bạn phải biết 1 chút về lập trình arduino và 1 số linh kiện không phải lúc nào cũng sẵnBạn có thể tham khảo 1 số giải pháp công tắc cảm biến chuyển động thông minh Homematic đã có sẵn và thương mại hóa trên thị trường như sau:
- Công tắc cảm biến chuyển động hồng ngoại loại nhỏ gọn, siêu rẻ M59FN.
- Cảm biến PIR thân nhiệt hồng ngoại 220V, công suất 600w, lắp được âm trần và nổi trần MS680.
- Công tắc hồng ngoại lắp trên trần, tùy chỉnh 3 thông số cảm biến HP003.
Cảm Biến Cường Độ Ánh Sáng Lux BH1750
Digital Light Intensity Lux BH1750 Sensor Module
Mã sản phẩm: RZRP
Sản phẩm hiện đang còn hàng.
Xem chi nhánh còn hàng
Cảm biến cường độ ánh sáng BH1750 nguồn: 3~5VDC, giao tiếp: I2C, khoảng đo: 1 -> 65535 lux
- Cộng thêm 2 điểm tích lũy
-
TP.HCM: Miễn phí vận chuyển đơn hàng từ 300k
Tỉnh thành khác: Miễn phí vận chuyển đơn hàng từ 500k
Xem thêm các khuyến mãi vận chuyển khác.
Cách chia điện áp trong môi trường Arduino
Trong bài viết mình sẽ cho điện trở R1 = 10K và R2 ở đây sẽ là cảm biến quang trở. Mục đích ở đây mình dùng điện trở cố định 10K là để xác định được tỉ lệ chia điện áp Vout một các chính xác nhất. Để tính được điện áp Vout các bạn áp dụng công thức như hình, bên dưới mình chia sẽ một phần mền điện tử khá hay các bạn có thể tải về và vọc trên này nhé.
Code mẫu
/* Ambient Light controlled LED */ int LED = 13; //Led pin int val = 0; void setup(){ pinMode(LED,OUTPUT); Serial.begin(9600); } void loop(){ val = analogRead(0); Serial.println(val); if(val<1000){ digitalWrite(LED,LOW); }else{ digitalWrite(LED,HIGH); } delay(10); }
Giải thích code
Trong phần code của bài hôm nay từ phần khai báo đến cách sử dụng các hàm analogRead() thì mình đã giải thích rất chi tiết trong chuỗi khóa học lập trình Arduino Miễn Phí. Các bạn có thể xem lại Bài 7 trong khóa học nhé.
Cảm biến chuyển động arduino: Cảm biến chuyển động PIR sử dụng Arduino
Mạch cảm biến chuyển động PIR sử dụng Arduino rất đơn giản. Kết nối các chân Vcc và GND của cảm biến với + 5V và GND tương ứng. Sau đó kết nối chân đầu ra của cảm biến PIR với chân số 2 của Arduino. Mô-đun chuyển tiếp được kết nối với chân 3 của Arduino.
Nguyên lý hoạt động cảm biến chuyển động PIR với Arduino
Cảm biến chuyển động dựa trên sự thay đổi bức xạ hồng ngoại từ các vật thể chuyển động. Để được cảm biến phát hiện, một đối tượng phải đáp ứng hai điều kiện:
- Di chuyển hoặc lắc lư
- Phát ra tia hồng ngoại
Nếu một vật thể đang chuyển động nhưng không phát ra ánh sáng hồng ngoại (chẳng hạn như robot hoặc ô tô đồ chơi), cảm biến sẽ không phát hiện ra nó.
Nếu một vật thể đang phát ra ánh sáng hồng ngoại nhưng không chuyển động (chẳng hạn như một người đang đứng yên nhưng không di chuyển), cảm biến sẽ không phát hiện ra nó.
Con người và động vật phát ra ánh sáng hồng ngoại một cách tự nhiên. Do đó, cảm biến có thể phát hiện chuyển động của người và động vật.
Chúng tôi dựa vào trạng thái của chân OUTPUT của cảm biến để xác định xem cảm biến có phát hiện đối tượng hay không.
Khi không có người (hoặc động vật) nào di chuyển trong phạm vi phát hiện của cảm biến, chân OUTPUT của cảm biến sẽ ở mức thấp.
Khi một người (hoặc động vật) đi vào phạm vi phát hiện của cảm biến, chân OUTPUT của cảm biến sẽ thay đổi từ THẤP thành CAO (phát hiện có chuyển động).
Khi người (hoặc động vật) nằm ngoài phạm vi phát hiện của cảm biến, chân OUTPUT của cảm biến sẽ thay đổi từ CAO thành THẤP (không phát hiện chuyển động).
Code lập trình cảm biến chuyển động PIR với Arduino
Click vào đây để xem!
Chú ý đo điện áp dc bằng arduino
Sơ đồ đấu nối
Các linh kiện cần thiết cho dự án
Các linh kiện | Shoppe |
Board Arduino Uno R3 | Xem ngay |
Cảm biến ánh sáng | Xem ngay |
LED 5mm | |
Điện trở 220R | |
Dây nối | Xem ngay |
BreadBoard | Xem ngay |
Hướng dẫn lập trình Arduino
-
Mở phần mềm Arduino IDE. Xem hướng dẫn lập trình với Arduino tại đây.
-
Copy đoạn code sau, click vào nút
Verify
để kiểm tra lỗi chương trình. Sau khi biên dịch không báo lỗi, bạn có thể nạp đoạn code vào board.
#include “YoloBit.h” YoloBit yolobit; int sensorPin = P0_ADC; int sensorValue = 0; void setup() { Serial.begin(115200); } void loop() { // đọc giá trị cảm biến sensorValue = analogRead(sensorPin); Serial.println(sensorValue); delay(200); }
Note
Giải thích chương trình: Sau khi nạp chương trình và mở cửa sổ Serial, bạn sẽ thấy giá trị đọc được từ cảm biến được in ra. Bạn hãy thử lấy tay che cảm biến để thấy được sự thay đổi.
Bài viết liên quan
- Bài 8: Cảm biến góc nghiêng sử dụng ngắt (INTERRUPT) trong môi trường Arduino
- Bài 7: Cảnh báo nhiệt độ (LM35) bằng còi báo sử dụng Arduino Uno
- Bài 6: Tạo âm thanh (Còi) bằng Arduino
- Bài 5: Thay đổi màu sắc Led RGB sử dụng Arduino
- Bài 4: PWM | Thay đổi ánh sáng của LED trên Arduino
- Bài 3: Sử dụng Arduino làm hệ thống đèn giao thông
- Bài 2: Chớp tắt LED trên Arduino Uno (Phần 2)
- Bài 1: Chớp tắt LED trên Arduino Uno
Cảm biến ánh sáng có nhiều loại trong đó loại dùng quang trở là phổ biến nhất. Quang trở là một loại điện trở mà giá trị thay đổi theo cường độ ánh sáng nó thu được. Nếu đặt ở môi trường có ít ánh sáng, có bóng râm hoặc tối thì điện trở của quang trở sẽ tăng cao còn nếu đặt ở ngoài nắng, hoặc nơi có ánh sáng thì điện trở sẽ giảm. Ta có thể sử dụng cảm biến ánh sáng trong các ứng dụng bật tắt đèn tự động khi trời tối.
1 x Node Wifi.
1 x Module cảm biến ánh sáng quang trở.
Cảm biến ánh sáng quang trở sử dụng chân analog nên bạn phải sử dụng cổng analog duy nhất trên board Node Wifi là A0 để kết nối.
Đoạn code thực hiện công việc:
void setup() { Serial.begin(9600); } void loop() { int value = analogRead(A0); // read sensor value int percent = map(value, 0, 1023, 0, 100); // convert to % Serial.print(percent); Serial.println(‘%’); delay(500); }
Dòng 8: ta đọc giá trị trả về bởi cảm biến bằng câu lệnh analogRead(A0). A0 là pin analog duy nhất có trên board Node Wifi và tất cả các dòng ESP8266 khác.
Giá trị cảm biến trả về nằm trong khoảng từ 0 và 1023. Ta có thể đổi sang % bằng lệnh map() có sẵn trong Arduino tương tự như trong bài trước khi làm việc với cảm biến độ ẩm đất và cảm biến mưa.
Sau đó ta in giá trị đã tính toán ra cửa sổ Serial monitor. Bạn upload code và lấy tay che cảm biến lại và quan sát sự thay đổi giá trị trả về bởi cảm biến trong cửa sổ Serial monitor.
Bạn hãy lập trình cho Arduino tự động bật đèn led khi phát hiện ánh sáng môi trường xuống dưới 30%.
Keywords searched by users: cảm biến ánh sáng arduino
Categories: Sưu tầm 84 Cảm Biến Ánh Sáng Arduino
See more here: kientrucannam.vn
See more: https://kientrucannam.vn/vn/