Hướng dẫn Input và Output cơ bản với Raspberry Pi: Input
Raspberry Pi, về bản chất là một máy tính Linux giá rất rẻ, có một vài khác biệt giữa nó với máy tính cá nhân mà ta thường dùng để viết email, duyệt web hoặc xử lý văn bản. Một trong những điểm khác biệt chính là Raspberry Pi có thể được sử dụng trực tiếp trong các dự án điện tử, bởi vì nó có các chân GPIO (input/output đa năng) trên board, như trong hình dưới.
GPIO pin của Raspberry Pi
Chân GPIO của Raspberry Pi
Các chân GPIO này có thể được truy cập để điều khiển phần cứng như LED, động cơ và rơ-le, tất cả đều là các ví dụ về output. Đối với input, Raspberry Pi có thể đọc trạng thái của các nút, công tắc, và vành chia độ, hoặc nó có thể đọc cảm biến như nhiệt độ, ánh sáng, chuyển động hoặc tiệm cận,…
Ưu điểm của việc có một máy tính với các chân GPIO là có thể tạo các chương trình để đọc các đầu vào và điều khiển đầu ra dựa trên nhiều điều kiện khác nhau, dễ dàng như lập trình máy tính cá nhân. Không giống như board vi điều khiển điển hình, cũng có các chân GPIO lập trình, Raspberry Pi có thêm một số đầu vào và đầu ra, chẳng hạn như bàn phím, chuột và màn hình, cũng như cổng Ethernet, có thể hoạt động như cả đầu vào và đầu ra.
Nếu có kinh nghiệm tạo ra các dự án điện tử với các board vi điều khiển như Arduino, có thể thêm một vài đầu vào và đầu ra theo ý với Raspberry Pi. Ưu điểm lớn nhất là chúng được tích hợp sẵn; không cần phải nối thêm bất kỳ mạch điện nào để sử dụng chúng.
Một trong những hạn chế của Raspberry Pi là không có cách nào để kết nối trực tiếp các cảm biến analog, như là cảm biến ánh sáng và nhiệt độ. Để kết nối cần một con chip được gọi là bộ chuyển đổi analog-digital, hoặc ADC.
Sử dụng Input và Output
Bạn cần có thêm một số linh kiện nữa ngoài board Raspberry Pi để thực hành những bài hướng dẫn input và output cơ bản này. Dưới đây là một số linh kiện cơ bản, bạn dễ dàng tìm mua ở các cửa hàng điện tử:
Breadboard
LED
Dây cắm đực-đực
Dây cắm đực-cái
Công tắc nhấn
Điện trở
Trong hình dưới, từng chân trên board Raspberry Pi đã được gắn nhãn theo số tín hiệu GPIO mặc định của nó, đó là cách bạn chỉ đến một chân cụ thể trong các lệnh thực thi và trong code. Các chân không có gắn nhãn được dành cho các chức năng khác theo mặc định.
GPIO pin mặc định trên Raspberry Pi
Các chân GPIO mặc định trên Raspberry Pi. Một số chân còn trống cũng có thể được sử dụng như GPIO, nhưng chúng có thể có các chức năng khác.
Hướng dẫn cho người mới sử dụng Breadboard
Nếu chưa bao giờ sử dụng breadboard, điều quan trọng là phải biết thiết bị terminal nào được kết nối. Trong hình đã bôi đen các kết nối terminal trên một breadboard thông thường. Lưu ý rằng các bus nguồn ở bên trái không được kết nối với các bus nguồn ở bên phải của board. Sẽ phải sử dụng dây nối đực-đực để kết nối chúng với nhau nếu cần nối đất hoặc điện áp nguồn ở cả hai bên của breadboard.
Breadboard
Breadboard
Input Digital: Đọc một nút
Các nút nhấn đơn giản giống như trong Hình 6-6 để điều khiển đầu vào digital cơ bản. Ưu điểm là chúng được thiết kế để gắn vừa vào một breadboard.
Button
Nút nhấn
Khi đọc đầu vào digital trên Raspberry Pi, hãy kiểm tra xem liệu chân có được kết nối với 3,3 V hoặc xuống đất không. Một khi đã hiểu được đầu vào digital với một nút bấm hoạt động thế nào, có thể bắt đầu các dự án như công tắc bảo mật từ, joystick máy chơi game, hoặc thậm chí là máy bán hàng tự động. Bắt đầu bằng cách kết nối một công tắc để đọc trạng thái của nó:
Gắn nút vào breadboard để các chân của nó nằm giữa breadboard.
Sử dụng dây điện, kết nối chân 24 từ Raspberry Pi đến một trong các chân của nút.
Nối chân 3,3V từ Raspberry Pi với bus nguồn dương trên breadboard.
Nối một trong một chân dưới của nút với bus nguồn âm. Bây giờ khi nhấn nút, nguồn 3,3 V sẽ được kết nối với chân 24.
Khi buông nút, chân 24 không được kết nối với áp 3,3 V hoặc đất, nên tín hiệu trên chân này ở vào trạng thái float (lưng chừng). Điều này sẽ gây ra kết quả không mong muốn, vì vậy, hãy khắc phục điều đó. Sử dụng điện trở 10K (mã màu: nâu, đen, cam và sau đó là bạc hoặc vàng) để kết nối đầu vào của công tắc với đất, đã kết nối với đất của Raspberry Pi trong ví dụ đầu ra. Khi công tắc không được nhấn, chân sẽ được nối với đất.
Dòng điện luôn đi từ cực dương sang cực âm, vì vậy khi nhấn công tắc, áp 3,3 V sẽ đi về phía đầu vào của Raspberry Pi, có điện trở ít hơn điện trở 10K. Khi nối dây xong, nó sẽ giống như hình sau.
Kết nối một nút đến Raspberry Pi
Bây giờ mạch đã được lắp, hãy đọc giá trị của chân từ command line. Nếu chưa thực thi lệnh với quyền root, hãy nhập sudo su.
Như với ví dụ trước, cần đặt chân input vào không gian người dùng:
# echo 24 > /sys/class/gpio/export
Hãy thay đổi thư mục đã được tạo trong quá trình xuất:
# cd /sys/class/gpio/gpio24
Bây giờ thiết lập hướng của chân đầu vào:
# echo in > direction
Để đọc giá trị của chân, sử dụng lệnh cat, sẽ in nội dung của file vào thiết bị terminal. Lệnh cat được sử dụng vì nó cũng có thể được sử dụng để nối, sắp xếp. Nó cũng có thể hiển thị nội dung của một file:
# cat value
0
Bây giờ nhấn và giữ nút trong khi thực hiện lại lệnh:
# cat value
1
Nếu thấy số 1 thì chương trình đúng.