Cảm biến khí gas sử dụng trong bài hướng dẫn này có tên là MQ2, thuộc họ MQx, một công nghệ cảm biến khí đơn giản. Cảm biến loại này hoạt động dựa vào nguyên lý điện hóa. Chính vì vậy, nó cần một dòng điện có công suất cao, thì mới có thể phân tách được khí cần đo và trả về kết quả cho chúng ta. Cũng vì lý do này, mà MQ2 cần nguồn ngoài 5V-1A trở lên, và khi hoạt động, nó sẽ hơi ấm.
Trên thị trường, có rất nhiều cảm biến không khí được hiện thực bằng công nghệ điện hóa như MQ2, có thể tóm tắt ra một số thiết bị thông dụng như sau:
• MQ3: Alcohol, Ethanol, khói thuốc
• MQ4: Khí Methane
• MQ7: Carbon Monoxide CO
• MQ8: Khí hydro
• MQ9: Khí CO và khí độc hại
Do đó, hướng dẫn trong bài này có thể dễ dàng mở rộng ra nhiều ứng dụng khác nhau khi thay thế cảm biến MQ2 thành các cảm biến khác cùng họ MQx.
Tuy nhiên do nguồn điện cho cảm biến MQ2 là khá lớn, khe cắm 3V mặc dù đã phân cực bằng transistor vẫn không đủ cho cảm biến hoạt động. Do đó, chúng ta sẽ sử dụng khe M2 với 4 chân 3V-GND-P10-P11cho cảm biến khí gas. Gần khe cắm này, có chân nguồn lấy từ Adapter đầu vào. Do đó, với adapter 5V, chúng ta sẽ có một nguồn cấp đầy đủ cho cảm biến khí gas MQ2.
Đối với đèn giao thông, dùng để hiện thị thông tin cảnh báo trong bài này, chúng ta sẽ sử dụng chân3V-GND-P6-P7để kết nối. Đèn giao thông cần 2 chân để điều khiển, do đó khe cắm này là phù hợp nhất. Nguyên lý điều khiển đèn như sau:
• Đỏ: P6 = 1, P7 = 0
• Xanh: P6 = 0, P7 = 1
• Vàng: P6 = 1, P7 = 1
• Tắt: P6 = 0, P7 = 0
Với các chân P6 và P7 chỉ có giá trị 0 và 1, câu lệnh digital write sẽ được dùng để xuất tín hiệu điều khiển. Hình ảnh kết nối của hệ thống như sau:
Hình 10.2:Kết nối cảm biến gas và đèn báo hiệu
Các thành phần không liên quan ở bài trước, được chúng tôi lược bỏ ở bài này để tiện cho bạn đọc theo dõi các kết nối quan trọng. Tận dụng nguồn cung cấp cho động cơ ở khe M2, mạch cảm biến khí gas được cấp nguồn 5V từ adapter đầu vào để vận hành. Trong khi đó, đèn hiển thị chỉ cần nguồn 3V3 là đủ để hiển thị.
4 Hiện thực chương trình
Cũng tương tự như các bài trước, chúng ta cũng sẽ viết thành hàm, đặt tên là
CO2_AND_ALARMvà gọi nó trong khốiforever. Trong hàm này, chúng ta sẽ chọn
ra các ngưỡng báo động cho đèn. Một gợi ý cho việc hiện thực này như sau:
Hình 10.3:Hiện thực đọc dữ liệu khí gas
Một số điểm lưu ý quan trọng khi hiện thực chương trình trên như sau:
• Cảm biến dạng analog chỉ hỗ trợ được cho các chân P0, P1, P2, P3, P4 và P10. Tức là chúng ta chỉ có thể kết nối được tối đa 6 cảm biến dạng analog vào một mạch Microbit. Trong trường hợp muốn kết nối nhiều hơn, bạn có thể sử dụng thêm 1 mạch Microbit khác và trao đổi dữ liệu giữa chúng thông qua giao tiếp không dây Radio.
• Việc lựa chọn ngưỡng trong bài này chỉ là gợi ý. Bạn cần phải kiểm tra giá trị cảm biến của mình trả về trong khoảng bao nhiêu và lựa chọn cho phù hợp. Các kĩ thuật thống kê bạn có thể sử dụng như gửi dữ liệu lên máy tính hoặc tính năng Data Streamer của Excel.
Chương trình được chia sẻ ở đường dẫn sau đây:
https://makecode.microbit.org/_ezCT0eMbxRYJ
Bên cạnh các thiết bị đã giới thiệu, trong bộ thiết bị ChiPi, chúng ta còn cảm biến ánh sáng và cảm biến vật cản hồng ngoại cũng dựa trên nguyên lý analog trong bài hướng dẫn này. Đối với cảm biến vật cản hồng ngoại, khi vật thể ở gần, điện áp nhận được sẽ tăng (do ánh sáng phản xạ nhiều). Ngược lại, khi vật cản đi xa hoặc không có vật cản, điện áp sẽ giảm. Hình ảnh của 2 cảm biến này được trình bày như hình bên dưới:
Hình 10.4:Cảm biến ánh sáng (trên) và cảm biến vật cản hồng ngoại (dưới)
Bởi tính đơn giản của nó trong việc tương thích với nhiều hệ thống, rất nhiều cảm biến thương mại trên thị trường đều có phiên bản đầu ra là analog. Bạn đọc hãy lưu ý điều này khi chọn lựa thiết bị cho các ứng dụng của mình.
5 Câu hỏi ôn tập
1. Cảm biến CO2 trong bài có đầu ra là dạng tín hiệu gì? A. digital
B. analog C. uart
D. Tất cả đều đúng
2. Điện áp đầu ra của cảm biến analog được dựa trên nguyên lý gì? A. Cầu phân áp dùng 2 điện trở
B. Biến trở
C. Điện trở cố định D. Tất cả đều đúng
3. Thiết kế cách ly đối với cảm biến analog, thiết bị nào thường được sử dụng? A. Điện trở
B. Biến trở C. OPAM
D. Tất cả đều đúng
4. Mạch Microbit hỗ trợ tối đa bao nhiêu chân cho kết nối với cảm biến analog? A. 1
B. 2 C. 6
D. Tất cả đều sai
5. Bao nhiêu chân được sử dụng để điều khiển 3 đèn giao thông? A. 1
B. 2 C. 3
D. Tất cả đều đúng
6. Để điều khiển đèn giao thông, câu lệnh nào được sử dụng? A. digital write
B. analog write C. pin write
D. Tất cả đều đúng
7. Có bao nhiêu trạng thái khác nhau của đèn giao thông? A. 1 B. 2 C. 3 D. 4 Đáp án 1. B 2. A 3. C 4. B 5. B 6. A 7. D
CHƯƠNG 11
1 Giới thiệu
Thời gian thực được dịch từ thuật ngữ chuyên ngànhReal Time Clock(thường viết tắt là RTC). Trong các hệ thống vi điều khiển, đây là một khái niệm rất quan trọng trong việc vận hành hệ thống. Với tài nguyên bị hạn chế, các hệ thống vi điều khiển không hướng đến việc chạy nhanh, mà phải thực thi một tác vụ nào đó đúng giờ. Cũng giống như trong máy tính của chúng ta, luôn có một đồng hồ ở trong nó. Ngày nay, nhờ các dịch vụ từ mạng Internet, mà đồng hồ trong máy tính được tự động cập nhật, mỗi khi có kết nối mạng. Tuy nhiên, trước đây hệ thống giờ giấc trong máy tính hoàn toàn phụ thuộc vào khối thời gian thực, và pin CMOS chính là nguồn cấp điện cho đồng hồ chạy. Cho dù không có điện, năng lượng trong pin CMOS là đủ cho đồng hồ chạy trong 1 thời gian dài.
Hình 11.1:Thiết bị thời gian thực DS1307
Trong hướng dẫn ở bài này, đồng hồ thời gian thực sử dụng IC DS1307 sẽ được trình bày. DS1307 là một trong những thiết bị thời gian thực có giá cả phải chăng và được sử dụng phổ biến nhất. Nó có thể theo dõi các thông tin liên quan đến giây, phút, giờ, ngày, tháng và năm tương đối chính xác. Sử dụng thiết bị này, bạn đọc có thể hiện thực được các ứng dụng liên quan đến giờ, chẳng hạn như đánh trống tự động vào lúc 7 giờ sáng. Với mạch Microbit đơn thuần, yêu cầu này khó có thể thực hiện thành công, khi chỉ cần mất nguồn là hệ thống không còn khả năng đếm giờ nữa. Thiết bị thời gian thực sẽ khắc phục được hiện tượng mất điện, khi nó có pin dự phòng.
Các mục tiêu chính trong bài hướng dẫn này như sau:
• Hiểu được nguyên lý giao tiếp với DS1307
• Kết nối được với đồng hồ thời gian thực
• Ghi dữ liệu thời gian vào DS1307
• Đọc dữ liệu thời gian và hiển thị lên LCD