CƠ SỞ LÝ THUYẾT
Raspberry Pi 3B
Raspberry Pi 3 là một board máy tính đơn nhỏ, giá rẻ, kích thước chỉ bằng một thẻ tín dụng, tiết kiệm điện năng (vì nguồn điện cung cấp cho RPi chỉ có 5V) được giới thiệu bởi Raspberry Pi Foundation, đi kèm với CPU, GPU, cổng USB và các chân I/O và có khả năng thực hiện một số chức năng đơn giản như một máy tính thông thường.
Máy tính nhỏ bé này được phát triển với mục đích làm cho quá trình học máy tính trở nên dễ dàng để một học sinh trung bình có thể nhận được lợi ích và dự đoán những gì một máy tính tiên tiến có thể làm.
Raspberry Pi 1 (Model B thế hệ đầu tiên) ra đời vào năm 2012 và sớm nổi tiếng về sự dễ sử dụng và tính sẵn có Tương tự, Raspberry Pi 2 được giới thiệu vào tháng 2 năm 2015 với một chút cải tiến về thiết kế có thêm RAM so với phiên bản trước. Được giới thiệu vào năm 2016, Raspberry Pi 3 Model B đi kèm với bộ xử lý lõi tứ cho thấy hiệu năng mạnh mẽ gấp 10 lần Raspberry Pi 1 Và tốc độ của Raspberry Pi
3 cao hơn 80% so với Raspberry Pi 2.
Phần cứng Raspberry đã trải qua một số biến thể về hỗ trợ thiết bị ngoại vi và dung lượng bộ nhớ Mỗi bổ sung mới đều đi kèm với một chút cải tiến về mặt thiết kế trong đó các tính năng nâng cao được thêm vào trong thiết bị để nó có thể thực hiện càng nhiều chức năng càng tốt như một máy tính thông thường.
WiFi và Bluetooth không có trong các phiên bản cũ hơn (Pi 1 và Pi 2), được thêm vào trong phần bổ sung mới của thiết bị này (Pi 3), cho phép duy trì kết nối với các thiết bị ngoại vi mà không cần sự tham gia của bất kỳ kết nối vật lý nào.
Raspberry Pi Foundation gần đây đã ra mắt Raspberry Pi 3 Model B + vào ngày
14 tháng 3 năm 2018, đây là phiên bản gần đây nhất của Raspberry Pi 3 trưng bày tất cả các thông số kỹ thuật được giới thiệu trong Pi 3 Model B, với cải tiến bổ sung bao gồm khởi động mạng, khởi động USB và nguồn qua Ethernet, điều này làm cho thiết bị trở nên hữu ích ở những nơi khó tiếp cận.
Hình 2: Cấu trúc phần cứng của Raspberry Pi Model 3B
Raspberry Pi 3 Model B đi kèm với bộ xử lý lõi tứ 64 bit, trên một board mạch với các tính năng WiFi và Bluetooth và USB.
Nó có tốc độ xử lý từ 700 MHz đến 1,4 GHz trong đó bộ nhớ RAM dao động từ
CPU của thiết bị này được coi là bộ não của thiết bị chịu trách nhiệm thực thi các câu lệnh dựa trên hoạt động toán học và logic.
GPU (bộ xử lý đồ họa) là một chip tiên tiến khác được tích hợp trong board mạch có chức năng tính toán hình ảnh Board mạch được trang bị cáp lõi video Broadcam chủ yếu được sử dụng để chơi các trò chơi video thông qua thiết bị.
Pi 3 đi kèm với các chân GPIO (General Purpose Input Output) rất cần thiết để duy trì kết nối với các thiết bị điện tử khác Các chân đầu ra đầu vào này nhận lệnh và hoạt động dựa trên chương trình của thiết bị.
Cổng Ethernet được tích hợp trên thiết bị này để thiết lập một đường giao tiếp với các thiết bị khác Bạn có thể kết nối cổng Ethernet với bộ định tuyến để duy trì kết nối cho internet.
Board có bốn cổng USB được sử dụng có thể sử dụng để kết nối với bàn phím, chuột hoặc có thể kết nối USB 3G để truy cập internet và thẻ SD được thêm vào để lưu trữ hệ điều hành. Đầu nối nguồn điện là một phần cơ bản của board mạch được sử dụng để cung cấp nguồn 5 V cho bo mạch Bạn có thể sử dụng bất kỳ nguồn nào để thiết lập nguồn cho board mạch, tuy nhiên, bạn ưu tiên kết nối cáp nguồn qua cổng USB của máy tính xách tay để cung cấp 5 V.
Pi 3 hỗ trợ hai tùy chọn kết nối bao gồm HDMI và RCA Video Cổng HDMI được sử dụng để kết nối LCD hoặc TV, có thể hỗ trợ cáp phiên bản 1.3 và 1.4 Cổng RCA Video được sử dụng để kết nối các màn hình TV đời cũ sử dụng jack cắm 3,5mm mà không hỗ trợ cổng HDMI.
Cổng USB được tích hợp trên board mạch được sử dụng để khởi động thiết bị Vì RPi chạy hệ điều hành Linux, nên chỉ cần cắm bàn phím và chuột vào là có thể sử dụng mà không cần cài thêm driver.
Vi xử lí Broadcom BCM2837, ARMv8 (64bit) quad-core
GPU Broadcom VideoCore IV, OpenGL ES 2.0,OpenVG
Tốc độ xử lý 1.2 Ghz
RAM (chia sẻ với GPU) 1GB LPDDR2 (900Mhz)
Video & audio 1080p HDMI, stero audio 3.5mm jack
Bảng 1: Thông số phần cứng
- 1,4 GHz 64 bit, Bộ xử lý lõi tứ Broadcom BCM2387 ARM Cortex-A53, nhanh hơn 10 lần so với Raspberry Pi 1.
- RAM 1GB (LPDDR2 SDRAM) cho phép bạn chạy các ứng dụng nâng cao
- HDMI hỗ trợ phiên bản 1.3/1.4 và Composite RCA (PAL and NTSC)
- Camera interface (CSI), để kết nối với camera
- Display interface (DSI): được sử dụng để kết nối Raspberry Pi với màn hình cảm ứng
- Khe cắm thẻ microSD: đễ lưu trữ dữ liệu
- VideoCore IV multimedia/3D graphics core @ 400MHz/300MHz
Hình 3: Sơ đồ chân GPIO
Có nhiều cách đánh số, ký hiệu cho các chân GPIO của Raspberry Pi Ở đây, chúng ta chỉ đề cập đến hai cách đánh số chính, đó là kiểu BCM và kiểu BOARD. Đánh số theo kiểu BCM là cách ký hiệu các chân theo đúng chức năng của nó Trong hình 2 ở trên, hai cột dọc, ngoài cùng ở hai bên với các ô như GPIO 2, GPIO 3, GPIO 14, GPIO 15, 3.3V, GND… đó là cách đánh số theo kiểu BCM. Đánh số theo kiểu BOARD là cách đánh số các chân GPIO dựa trên vị trí của chân trên header Trên header của Raspberry Pi, các chân GPIO được chia làm hai hàng, mỗi hàng 20 chân Hai mươi chân hàng bên trái đánh số là 1, 3, 5, 7, 9, …, 39 Hai mươi chân còn lại, hàng bên phải đánh số là 2, 4, 6, 8, 10 …, 40 Thông thường, chúng ta dùng cách đánh số theo kiểu BOARD.
GPIO của Raspberry Pi 3 model B có tất cả 40 chân, được chia làm hai hàng, mỗi hàng 20 chân, một hàng gồm các chân đánh số lẽ từ 1–39, một hàng gồm các chân đánh số chẵn từ 2–40 (đánh số theo mạch – BOARD number).
GPIO của Raspberry Pi 3 model B gồm có:
- 2 chân có mức điện áp 3.3V (chân số 1 và chân số 17).
- 2 chân có mức điện áp 5V (chân số 2, chân số 4).
- 8 chân Ground (0V) (chân số 6, 9, 14, 20, 25, 30, 34 và 39).
Cùng với chức năng đơn giản của các chân ngõ vào và ngõ ra, các chân GPIO cũng có thể thực hiện nhiều chức năng khác nhau Một số chân cụ thể là:
Cảm biến nhiệt độ LM35
Nhiệt độ là một trong những thông số được đo phổ biến nhất trên thế giới Chúng được sử dụng trong các thiết bị gia dụng như lò vi sóng, tủ lạnh, máy điều hòa, cho đến các thiết bị được sử dụng trong công nghiệp Cảm biến nhiệt độ về cơ bản đo nóng/lạnh được tạo ra bởi một đối tượng mà nó được kết nối Cảm biến cung cấp một giá trị điện trở, dòng điện hoặc điện áp ở đầu ra tỷ lệ với nhiệt độ cần đo, sau đó các đại lượng này được đo hoặc xử lý theo ứng dụng của chúng ta.
Cảm biến nhiệt độ về cơ bản được phân thành hai loại:
- Cảm biến nhiệt độ không tiếp xúc: Các cảm biến nhiệt độ này sử dụng đối lưu và bức xạ để theo dõi nhiệt độ.
- Cảm biến nhiệt độ tiếp xúc: Cảm biến nhiệt độ tiếp xúc được chia thành ba loại là cơ điện, cảm biến nhiệt độ điện trở và dựa trên chất bán dẫn.
LM35 là cảm biến nhiệt độ tiếp xúc thuộc loại dựa trên chất bán dẫn LM35 là một cảm biến nhiệt độ tương tự, điện áp ở đầu ra của cảm biến tỷ lệ với nhiệt độ tức thời và có thể dễ dàng được xử lý để có được giá trị nhiệt độ bằng oC. Ưu điểm của LM35 so với cặp nhiệt điện là nó không yêu cầu bất kỳ hiệu chuẩn bên ngoài nào Lớp vỏ cũng bảo vệ nó khỏi bị quá nhiệt Chi phí thấp và độ chính xác cao đã khiến cho loại cảm biến này trở thành một lựa chọn đối với những người yêu thích chế tạo mạch điện tử, người làm mạch tự chế và các bạn sinh viên.
Vì có nhiều ưu điểm nêu trên nên cảm biến nhiệt độ LM35 đã được sử dụng trong nhiều sản phẩm đơn giản, giá thành thấp Đã hơn 15 năm kể từ lần ra mắt đầu tiên nhưng cảm biến này vẫn tồn tại và được sử dụng trong nhiều sản phẩm và ứng dụng đã cho thấy giá trị của loại cảm biến này.
Hình 4: Sơ đồ chân của LM35
Số chân Tên chân Chức năng
1 VCC hay +VS Chân cấp nguồn với điện áp từ 4V đến 30V
2 VOUT Chân lấy điện áp ra, điện áp ở chân này thay đổi 10mV/ C o
Bảng 2: Chức năng các chân LM35
- Hiệu chuẩn trực tiếp theo C o
- Điện áp hoạt động: 4-30VDC
- Dòng điện tiêu thụ: khoảng 60uA
- Nhiệt độ thay đổi tuyến tính: 10mV/°C
- Khoảng nhiệt độ đo được: -55°C đến 150°C
- Điện áp thay đổi tuyến tính theo nhiệt độ: 10mV/°C
- Độ tự gia nhiệt thấp, 0,08oC trong không khí tĩnh
- Trở kháng ngõ ra nhỏ, 0,2Ω với dòng tải 1mA
LM35 có thể đo nhiệt độ trong phạm vi từ -55 C đến 150 C Độ chính xác thực tế o o của cảm biến: ±1/4°C ở nhiệt độ phòng và ±3/4°C trong phạm vi nhiệt độ từ -55°C đến 150°C Việc chuyển đổi điện áp đầu ra sang C cũng dễ dàng và trực tiếp o
Trở kháng đầu ra nhỏ, đầu ra tuyến tính và hiệu chuẩn chính xác là những đặc tính vốn có của LM35, giúp tạo giao tiếp để đọc hoặc điều khiển mạch rất dễ dàng. Điện áp cung cấp cho cảm biến LM35 hoạt động có thể từ +4 V đến 30 V Nó tiêu thụ dòng điện khoảng 60μA LM35 có nhiều họ là LM35A, LM35CA, LM35D, LM135, LM135A, LM235, LM335 Tất cả các thành viên trong họ LM35 đều hoạt động theo nguyên tắc giống nhau nhưng khả năng đo nhiệt độ khác nhau và chúng cũng có nhiều kiểu chân khác nhau (SOIC, TO-220, TO-92, TO).
Cảm biến LM35 hoạt động bằng cách cho ra một giá trị điện áp nhất định tại chân VOUT (chân giữa) ứng với mỗi mức nhiệt độ Như vậy, bằng cách đưa vào chân bên trái của cảm biến LM35 điện áp 5V, chân phải nối đất, đo hiệu điện thế ở chân giữa, bạn sẽ có được nhiệt độ (0-100ºC) tương ứng với điện áp đo được.
Vì điện áp ngõ ra của cảm biến tương đối nhỏ nên thông thường trong các mạch ứng dụng thực tế, chúng ta thường dùng Op-Amp để khuếch đại điện áp ngõ ra này.
1.2.5 Ứng dụng và ưu, nhược điểm Ưu điểm cảm biến nhiệt độ LM35:
- Giá thành rất rẻ so với các cảm biến nhiệt độ công nghiệp
- Sai số thấp từ 0,2 C tại 25 C , tại max 150 C sai số 1 C Sai số chấp nhận o o o o được cho các ứng dụng không cần độ chính xác
- Kích thướt nhỏ gọn , dể dàng lắp đặt tại các không gian hẹp và board mạch
Nhượt điểm cảm biến nhiệt độ LM35:
- Chỉ mang tính chất nghiên cứu là chủ yếu
- Cần có các main vi xử lý để đọc được tín hiệu mV
- Không thể dùng trong công nghiệp thực tiễn
Cảm biến nhiệt độ LM35 đo được nhiệt độ từ 2-150 C cho ra tín hiệu dạng o analog 0mV … 10mV/ C Cảm biến nhiệt độ LM35 phù hợp cho các ứng dụng : o
- Đo nhiệt độ nguồn cấp trên board mạch
- Giám sát nhiệt độ trong hệ thống HVAC
- Được sử dụng làm cảm biến nhiệt độ máy lạnh
- Hay ứng dụng cho cảm biến nhiệt độ máy điều hoà
MCP3208
MCP3208 là bộ chuyển đổi tín hiệu Analog sang tín hiệu Digital 12 bit có tám kênh đầu vào single-ended Nó có giao thức SPI truyền/nhận dữ liệu nối tiếp 4 dây được dùng để nhận tín hiệu đầu ra digital cho các kênh.
Có mạch lấy mẫu và giữ tín hiệu Chân analog và kỹ thuật số nối mass giúp giảm nhiễu Thích hợp với các ứng dụng hệ thống nhúng (embedded systems).
Ngoài ra, MCP3208 hỗ trợ 4 đầu vào analog hoặc 8 đầu vào single-ended Hơn nữa, nó có tốc độ lấy mẫu tín hiệu 100ksps Quan trọng nhất là có thể sử dụng giao thức SPI để lấy dữ liệu digital từ tất cả các chân đầu vào.
Hình 6: Sơ đồ chân của MCP3008
Sơ đồ chân cho biết rằng nó có tám kênh analog từ CH0-CH7.
Chân 1 đến 8 (CH0 đến CH7): Đây là các đầu vào analog từ kênh 0 đến kênh 7.
Các kênh này có thể được cấu hình thành bốn đầu vào single-ended hoặc hai cặp đầu vào pseudo-differential Ở chế độ pseudo-differential, mỗi cặp kênh được lập trình có đầu vào IN + và IN- bằng cách gửi một chuỗi lệnh nối tiếp.
Chân 9 (DGND): Là chân nối mass digital được kết nối bên trong mạch.
Chân 10 (SHDN): Là chân chọn chip, được sử dụng để bắt đầu giao tiếp với thiết bị bằng cách kết nối chân này với mức logic thấp Nếu nó đã ở mức logic thấp, thì nên kéo lên lên mức logic cao rồi xuống mức logic thấp lại để bắt đầu giao tiếp Khi được kéo đến mức logic cao, nó sẽ kết thúc một lần chuyển đổi dữ liệu.
Chân 11 (DIN): Đây là chân đầu vào cho dữ liệu nối tiếp.
Chân 12 (DOUT): Là đầu ra dữ liệu nối tiếp được sử dụng cho giao thức SPI Ở mỗi cạnh xung tích cực thấp của tín hiệu xung clock, dữ liệu sẽ chuyển đổi và được đưa ra trên chân này.
Chân 13 (CLK): Là chân tín hiệu xung clock truyền dữ liệu nối tiếp được sử dụng để bắt đầu chuyển đổi và gửi từng bit ra ngoài khi quá trình chuyển đổi diễn ra.
Chân 14 (AGND): Là chân nối mass analog được kết nối bên trong với mạch analog, được kết nối với điện áp tham chiếu.
Chân 15 (Vref): Được kết nối với điện áp tham chiếu và được sử dụng để xác định phạm vi của điện áp analog.
Chân 16 (VDD): Cấp điện áp dương vào mạch.
- IC ADC 8 kênh với độ phân giải 12 bit và giao thức truyền thông SPI nối tiếp.
- Có các đầu vào analog có thể lập trình được, có thể được cấu hình ở chế độ single-ended hoặc pseudo-differential.
- Điện áp hoạt động từ 2.7V đến 5V.
- Chip sử dụng kiến trúc vi mạch Successive Approximation (SAR) để chuyển đổi ADC.
- Tốc độ lấy mẫu lần lượt là 100ksps đối với 5V và 50ksps đối với 2.7V.
- Dựa trên công nghệ CMOS công suất thấp
- Phạm vi nhiệt độ từ -40 ° C đến + 85 ° C.
- Có dòng điện ở chế độ ngủ 5 nA và dòng điện hoạt động bình thường là 320 àA.
Có một số thiết bị như Raspberry pi không có phần cứng phục vụ cho bộ chuyển đổi analog sang digital do đó chúng không thể đọc đầu vào analog, vì vậy bạn cần một mạch chuyển đổi. Đối với các thiết bị như vậy, bạn có thể sử dụng chip MCP3208 Chip này sử dụng giao thức SPI để giao tiếp nên khi sử dụng Raspberry Pi chỉ cần bốn chân GPIO
Vì vậy, bạn có thể nhận thêm 8 đầu vào analog bằng cách sử dụng chip này.
Cảm biến sử dụng đầu ra analog Do đó, nhiều thiết bị cần bộ chuyển đổi ADC để đọc các đầu ra này MCP3208 có thể được sử dụng để chuyển đổi các tín hiệu analog thành tín hiệu digital.
Có công nghệ kiến trúc vi mạch SAR ADC có một mạch lấy mẫu tích hợp và một tụ điện Kiến trúc này thực hiện lấy mẫu với một tụ điện Sample/Hold trong 1.5 chu kỳ xung clock có xung cạnh lên đầu tiên của chu kỳ xung nhịp Sau đó ADC xuất đầu ra digital 12 bit tùy thuộc vào giá trị điện tích trên tụ điện S/H (Sample/Hold).
Giao tiếp với MCP3208 được thực hiện bằng cách hạ mức logic xuống thấp ở chân CS Khi có tín hiệu xung nhịp đầu tiên (khi CS ở mức logic thấp và DIN ở mức logic cao), bit đầu tiên nhận được sẽ là bit bắt đầu và theo sau là bit SGL / DIFF (xác định chế độ chuyển đổi Single-ended hoặc chế độ Differential).
Sau đó, ba bit tiếp theo là D0, D1 và D2 được sử dụng để chọn kênh Khi có xung cạnh lên thứ tư của xung clock và sau khi bit bắt đầu được nhận thì việc lấy mẫu giá trị các đầu vào analog sẽ được bắt đầu.
- Bộ ghi dữ liệu đa kênh
- Điều khiển động cơ servo
1.3.7 Đầu vào tham chiếu Đối với mỗi thiết bị trong gia đình, đầu vào tham chiếu (VREF) xác định dải điện áp đầu vào tương tự Như đầu vào tham chiếu được giảm, kích thước LSB được giảm cho phù hợp Mã đầu ra kỹ thuật số lý thuyết được tạo ra bởi bộ chuyển đổi A / D là một chức năng của tín hiệu đầu vào tương tự và đầu vào tham chiếu, được tính theo công thức sau:
V Trong đó: V là điện áp đầu vào analogIN
V là điện áp tham chiếuREF
Khi sử dụng thiết bị tham chiếu điện áp bên ngoài, nhà thiết kế hệ thống phải luôn tham khảo các khuyến nghị của nhà sản xuất về cách bố trí mạch Bất kỳ sự bất ổn nào trong hoạt động của thiết bị tham chiếu sẽ có ảnh hưởng trực tiếp đến hoạt động của bộ chuyển đổi A / D.
Quang trở
Quang trở còn được gọi là điện trở quang, photoresistor, photocell là một trong những linh kiện được tạo bằng một chất đặc biệt có thể thay đổi điện trở khi ánh sáng chiếu vào Về cơ bản, bạn có thể hiểu nó là một tế bào quang điện được hoạt động dựa theo nguyên lý quang dẫn Hay có thể hiểu nó là một điện trở có thể thay đổi được giá trị theo cường độ ánh sáng
Quang trở được sử dụng nhiều trong các mạch cảm biến ánh sáng, đèn đường, báo động ánh sáng, đồng hồ ngoài trời,…
1.4.2 Cấu tạo, nguyên lý hoạt động
Hình 8: Cấu tạo quang trở
Cấu tạo của quang trở gồm 2 phần là phần trên và phần dưới là các màng kim loại được đấu nối với nhau thông qua các đầu cực Linh kiện này được thiết kế theo cách cung cấp diện tích tiếp xúc tối đa nhất với 2 màng kim loại và được đặt trong một hộp nhựa có thể giúp tiếp xúc được với ánh sáng và có thể cảm nhận được sự thay đổi của cường độ ánh sáng
Thành phần chính để tạo nên quang trở đó chính là Cadmium Sulphide (CdS) được sử dụng là chất quang dẫn, thường không chứa hoặc có rất ít các hạt electron khi không được ánh sáng chiếu vào
Quang trở được là bằng chất bán dẫn có trở kháng rất cao và không có một tiếp giáp nào Trong bóng tối, quang trở thường có điện trở lên vài MΩ Còn khi có ánh sáng chiếu vào thì giá trị điện trở có thể giảm xuống mức một cho đến vài trăm Ω
Nguyên lý hoạt động của quang trở dựa trên nguyên lý hiệu ứng quang điện trong một khối vật chất Khi mà các photon có năng lượng đủ lớn đập vào, sẽ khiến cho các electron bật ra khỏi các phân tử và trở thành các electron tự do trong khối chất và từ chất bán dẫn chuyển thành dẫn điện Mức độ dẫn điện của quang trở tùy thuộc vào phần lớn các photon được hấp thụ
Khi ánh sáng lọt vào quang trở, các electron sẽ được giải phóng và độ dẫn điện sẽ được tăng lên Tùy thuốc vào chất bán dẫn mà các quang trở sẽ có những phản ứng khác nhau với các loại sóng photon khác nhau.
1.4.3 Ưu, nhược điểm Ưu điểm: Quang trở với một số ưu điểm như giá thành rẻ, đa dạng về kích cỡ có thể áp dụng với nhiều các bo mạch khác nhau, kích thước phổ biến có đường kính mặt là 10mm Cùng với đó là năng lượng tiêu thụ và điện áp hoạt động nhỏ
Nhược điểm: Thời gian phản hồi chậm nên độ chính xác sẽ không cao Thời gian phản hồi của quang trở nằm trong khoảng từ hàng chục cho đến hàng trăm mili giây.
Một số mạch sử dụng quang trở:
Mạch báo động sử dụng quang trở: Khi quang trở được chiếu sáng điện trở lúc này sẽ rất nhỏ, điện áp cổng lúc này của SCR sẽ giảm không đủ dòng để kích SCR hoạt động Khi không có nguồn sáng chiếu vào thì giá trị R ở quang trở sẽ tăng nhanh, khiến cho điện áp cổng SCR tăng làm cho SCR dẫn điện, dòng điện lúc này sẽ qua tải làm cho mạch báo động hoạt động.
Mạch mở đèn điện tự động về đêm: Khi ban ngày với ánh sáng chiếu vào quang trở thì giá trị điện trở lúc này sẽ rất nhỏ nên điện thế tại điểm A1 sẽ không đủ để mở Diac nên sẽ không có điện đi qua chân điều khiển của Triac nên Triac sẽ không hoạt động, dẫn đến đèn không sáng Về đêm, khi không có ánh sáng chiếu vào quang trở, giá trị lúc này sẽ tăng lên làm cho điện áp ở điểm A1 tăng, mở thông Diac và kích cho Triac dẫn điện và bóng đèn sáng.
Ngoài ra, quang trở còn có một số ứng dụng khác như sau:
- Quang trở được dùng làm cảm biến nhạy sáng trong các mạch dò sáng tối để đóng cắt đèn chiếu sáng.
- Dàn nhạc có guitar điện thì dùng quang trở để nhận biết độ sáng từ dàn đèn màu nhạc để tạo hiệu ứng âm thanh.
- Trong thiên văn hồng ngoại và quang phổ hồng ngoại, hợp chất Gecu được chế thành bảng photocell làm cảm biến ảnh.
- Ngoài ra đây nó còn được ứng dụng vào việc theo dõi an ninh của các tòa nhà, thiết bị cảnh báo an toàn đại loại như lắp đặt vào thiết bị chống trộm, báo động khi có người mở cửa nhà kho Cách hoạt động của thiết bị này, bạn có thể tưởng tượng như trong các bộ phim hành động bộ phận cảm biến có tia sáng chiếu vào một thiết bị cảm biến nếu như trong quá trình nhận ánh sáng bị dán đoạn có nghĩa là có vật thể đã lướt ngang vùng mà ta cần quan sát.
- Trong các trang thiết bị điện tử hiện đại cũng sử dụng khá nhiều cảm biến ánh sáng để điều khiển độ sáng màn hình đặc biệt dễ thấy nhất là trên các điện thoại di động thông minh, máy tính xách tay, máy tính bảng,… Khi nó phát hiện môi trường thiếu sáng thì tự động hạn chế lại độ sáng của màn hình giúp tiết kiệm pin, năng lượng và bảo vệ mắt cho người sử dụng.
Hướng Dẫn Sử Dụng Server ThingSpeak IoT
1.5.1 Cách thức tạo kênh lưu trữ dữ liệu trên Server ThingSpeak
- Truy cập https://thingspeak.com/
- Chọn “Get Started For Free” để bắt đầu tạo một tài khoản Server ThingSpeak.
- Từ giao diện website này ta nhấp chuột vào nút “Channels” để kích hoạt chức năng tạo một kênh lưu trữ dữ liệu trên Server ThingSpeak vừa được đăng nhập.
- Để tạo một kênh lưu trữ dữ liệu trên Server ta nhấp chuột vào nút “New
Hình 10: Tạo kênh lưu trữ dữ liệu
Trên giao diện của website ThingSpeak sẽ xuất hiện các mục thông tin cần thiết để người sử dụng tạo ra một kênh lưu trữ dữ liệu (Channel) Các kênh sẽ lưu trữ tất cả dữ liệu mà ứng dụng thu thập được Mỗi kênh bao gồm tám trường (Feild) có thể chứa bất kỳ loại dữ liệu nào, ba trường dùng cho dữ liệu vị trí và một trường dùng cho dữ liệu trạng thái Một khi chúng ta đã thu thập dữ liệu trong một kênh, chúng ta có thể sử dụng các ứng dụng của ThingSpeak để phân tích và trực quan hóa nó.
Hình 11: Kênh lưu trữ dữ liệu
1.5.2 Các thao tác cơ bản trên Server ThingSpeak Để quan sát quá trình cập nhật dữ liệu lên Server theo thời gian, ta nhấp chuột vào thẻ “Private View“, trên giao diện của website sẽ xuất hiện một số đồ thị tương ứng với số lượng các trường dữ liệu biểu diễn các giá trị dữ liệu được cập nhật theo thời gian.
Hình 12: Giao diện quá trình cập nhật dữ liệu Để thay đổi các tham số của kênh lưu trữ dữ liệu, chẳng hạn như tên kênh lưu trữ, số lượng trường lưu trữ,… chọn thẻ “Channel Settings Khi đó chúng ta có thể tiến hành điều chỉnh và cập nhật lại các tham số mong muốn.
Hình 13: Thay đổi các tham số Để có thể ghi dữ liệu vào một kênh lưu trữ hoặc đọc dữ liệu từ một kênh lưu trữ cá nhân (private channel) thì ta cần phải sử dụng đến các khóa API (API Key) Các khóa API này sẽ tự động được tạo ra khi ta tạo một kênh lưu trữ dữ liệu mới Nếu ta cảm thấy các khóa API này không còn tính bảo mật nữa thì có thể thay đổi bằng cách nhấp chuột vào nút “Generate New Write/Read API Key“.
Có hai khóa API quan trọng, một dùng để ghi dữ liệu lên kênh lưu trữ (Write API Key) và một dùng để cho phép đọc dữ liệu từ kênh lưu trữ (Read API Key) Chúng ta sẽ thực hiện việc kiểm tra hoạt động của Server bằng các khóa API này như sau: Để gửi dữ liệu lên kênh lưu trữ trên Server vừa tạo ra: ta sao chép dòng lệnh trong mục “Update a Channel Feed“, sau đó dán dòng lệnh này vào trong một trình duyệt web bất kỳ, điều chỉnh lại giá trị cần gửi và trường lưu trữ, cuối cùng nhấn Enter để thực thi lệnh này Để đọc dữ liệu từ kênh lưu trữ trên Server vừa tạo ra: ta sao chép dòng lệnh trong mục “Get a Channel Field“, sau đó dán dòng lệnh này vào trong một trình duyệt web bất kỳ, điều chỉnh lại trường lưu trữ cần đọc, cuối cùng nhấn Enter để thực thi lệnh này.
CƠ SỞ THỰC TIỄN
Thiết kế mạch
2.1.1 Sơ đồ nguyên lý (schematic diagram)
Hình 15: Sơ đồ nguyên lý
2.1.2 Sơ đồ bảng mạch (Breadboard diagram)
Hình 16: Sơ đồ bảng mạch
Raspberry Pi Gửi Dữ Liệu Lên Server Thingspeak IoT Dùng Giao Thức HTTP
- Trong chương trình Python dùng để gửi dữ liệu lên Server ThingSpeak, có hai mục rất quan trọng mà chúng ta cần phải biết là “Write API Key” và “Field#“
- Tiến hành đăng nhập vào Server ThingSpeak
- Tạo một new chanel với tên “Weahter” với 2 field : Temperature và Light
- Lấy thông tin về khóa API ghi dữ liệu (Write API Key) và các trường lưu trữ (Field) có trong kênh lưu trữ trên Server.
Hình 18: Lấy thông tin API
Hình 19: Các trường lưu trữ
Code cho chương trình
#Thiết lập SPI 0: spi = spidev.SpiDev() spi.open(0,0)
#Hàm đọc dữ liệu SPI từ chip MCP3208, 8 kênh đọc ADC có thể chọn (CH0 đến
CH7): def: readadc(adcnum): if ((adcnum > 7) or (adcnum < 0) ): return -1 r = spi.xfer2([1, (8+adcnum)