Raspberry Pi DIP Switch
DIP (Dual In-line Package) switch được ứng dụng rộng rãi trong điện tử cho các tác vụ cấu hình như thiết lập địa chỉ thiết bị, chuyển đổi tính năng, và nhiều ứng dụng khác. Hướng dẫn này nhằm mục đích tìm hiểu sâu về việc sử dụng DIP switch với Raspberry Pi. Cụ thể, chúng ta sẽ tìm hiểu:
- Hiểu về DIP switch và cách thức hoạt động
- Kết nối DIP switch với Raspberry Pi
- Lập trình Raspberry Pi để đọc trạng thái ON/OFF của DIP switch
- Lập trình Raspberry Pi để đọc các giá trị số được thiết lập bởi DIP switch

Linh Kiện Cần Thiết
| 1 | × | Raspberry Pi 5 | ||
| 1 | × | DIP Switch | ||
| 1 | × | breadboard | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Raspberry Pi | ||
| 1 | × | (Khuyến nghị) Raspberry Pi Prototyping Base Plate & Breadboard Kit | ||
| 1 | × | (Khuyến nghị) HDMI Touch Screen Monitor for Raspberry Pi |
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về DIP Switch
DIP switch chủ yếu được sử dụng để cấu hình thiết bị, cho phép người dùng thiết lập các thông số như địa chỉ thiết bị, cài đặt giao tiếp, mã bảo mật, chế độ hoạt động, và tùy chọn hệ thống trên nhiều ngành công nghiệp và ứng dụng khác nhau.
DIP switch bao gồm nhiều công tắc trượt nhỏ được đóng gói cùng nhau. Mỗi công tắc trượt được gọi là một "vị trí" (position). DIP switch có nhiều loại khác nhau tùy thuộc vào số lượng vị trí mà chúng có. Ví dụ, có các DIP switch 2-vị trí, 4-vị trí, 5-vị trí, 6-vị trí, 8-vị trí, và 10-vị trí.
DIP switch có thể đại diện cho một số có thể cấu hình được. Mỗi vị trí trên công tắc tương ứng với một bit của số đó. Bằng cách chuyển đổi các vị trí giữa ON và OFF, chúng ta có thể thiết lập số mong muốn.
Sơ Đồ Chân

DIP switch được tạo thành từ hai hàng chân, với số lượng chân trong mỗi hàng tương ứng với số vị trí công tắc có sẵn. Ví dụ, một DIP switch 4-vị trí bao gồm tổng cộng 8 chân, được chia đều với 4 chân ở mỗi bên. Trong cấu trúc DIP switch, mỗi cặp chân đối diện nhau đại diện cho một công tắc trượt. Đáng chú ý là không cần phân biệt giữa các chân ở hai bên vì chúng có thể hoán đổi cho nhau.
Cách Thức Hoạt Động
Trong DIP switch, khi một công tắc ở vị trí ON, nó có nghĩa là công tắc được kích hoạt hoặc đóng. Điều này cho thấy rằng một kết nối điện được thiết lập, cho phép dòng điện đi qua công tắc.
Ngược lại, khi một công tắc ở vị trí OFF, nó cho thấy rằng công tắc không được kích hoạt hoặc mở. Ở trạng thái này, kết nối điện bị cắt đứt, và dòng điện không thể chạy qua công tắc.
Để làm rõ:
- Vị trí ON: Biểu thị mạch đóng, cho phép dòng điện chạy.
- Vị trí OFF: Biểu thị mạch hở, cản trở dòng điện chạy.
Khi chúng ta kết nối một bên của công tắc với GND và bên kia với chân Raspberry Pi, sau đó cấu hình chân Raspberry Pi như một đầu vào số pull-up, bảng dưới đây minh họa mối quan hệ giữa vị trí công tắc và các giá trị được đọc từ Raspberry Pi:
| Vị trí DIP switch | Biểu diễn nhị phân | Trạng thái mạch | Trạng thái chân Raspberry Pi |
|---|---|---|---|
| ON | 1 | ĐÓNG | LOW |
| OFF | 0 | MỞ | HIGH |
Trong các phần tiếp theo, chúng ta sẽ sử dụng DIP switch 4-vị trí làm ví dụ. Bạn có thể dễ dàng áp dụng cho DIP switch 2-vị trí, 3-vị trí, 5-vị trí, 6-vị trí, 8-vị trí, và 10-vị trí...
Sơ Đồ Kết Nối

This image is created using Fritzing. Click to enlarge image
Code Raspberry Pi - DIP Switch
Chúng ta sẽ học thông qua hai đoạn code:
- Đọc trạng thái ON/OFF của từng vị trí trên DIP switch.
- Mã hóa các vị trí thành một số.
Code Raspberry Pi - Đọc trạng thái ON/OFF của DIP switch
Các Bước Nhanh
- Đảm bảo bạn đã cài đặt Raspbian hoặc bất kỳ hệ điều hành tương thích Raspberry Pi nào khác trên Pi của bạn.
- Đảm bảo Raspberry Pi của bạn được kết nối với cùng mạng cục bộ như PC của bạn.
- Đảm bảo Raspberry Pi của bạn được kết nối internet nếu bạn cần cài đặt một số thư viện.
- Nếu đây là lần đầu tiên bạn sử dụng Raspberry Pi, xem Raspberry Pi - Cài Đặt Phần Mềm
- Kết nối PC của bạn với Raspberry Pi qua SSH sử dụng SSH client tích hợp trên Linux và macOS hoặc PuTTY trên Windows. Xem cách kết nối PC của bạn với Raspberry Pi qua SSH.
- Đảm bảo bạn đã cài đặt thư viện RPi.GPIO. Nếu chưa, cài đặt nó bằng lệnh sau:
- Thực hiện kết nối theo sơ đồ kết nối ở trên
- Tạo một tệp script Python dip_switch.py và thêm code sau:
- Lưu tệp và chạy script Python bằng cách thực thi lệnh sau trong terminal:
- Chuyển từng vị trí trên DIP Switch sang ON từng cái một.
- Xem kết quả trên Terminal.
Script chạy trong vòng lặp vô hạn liên tục cho đến khi bạn nhấn Ctrl + C trong terminal.
Code Raspberry Pi - Mã hóa trạng thái của DIP switch thành một số
Các Bước Nhanh
- Tạo một tệp script Python dip_switch_encode.py và thêm code sau:
- Lưu tệp và chạy script Python bằng cách thực thi lệnh sau trong terminal:
- Chuyển từng vị trí trên DIP switch sang ON từng cái một.
- Xem kết quả trên Serial Monitor, nó trông như bên dưới.
Lưu ý rằng giá trị phụ thuộc vào vị trí của mỗi công tắc trượt. Bảng dưới đây hiển thị sự ánh xạ giữa vị trí ON/OFF và giá trị số nguyên cho DIP switch 4-vị trí:
| Vị trí-1 | Vị trí-2 | Vị trí-3 | Vị trí-4 | Giá Trị Nhị Phân | Giá Trị Thập Phân |
|---|---|---|---|---|---|
| OFF | OFF | OFF | OFF | 0000 | 0 |
| OFF | OFF | OFF | ON | 0001 | 1 |
| OFF | OFF | ON | OFF | 0010 | 2 |
| OFF | OFF | ON | ON | 0011 | 3 |
| OFF | ON | OFF | OFF | 0100 | 4 |
| OFF | ON | OFF | ON | 0101 | 5 |
| OFF | ON | ON | OFF | 0110 | 6 |
| OFF | ON | ON | ON | 0111 | 7 |
| ON | OFF | OFF | OFF | 1000 | 8 |
| ON | OFF | OFF | ON | 1001 | 9 |
| ON | OFF | ON | OFF | 1010 | 10 |
| ON | OFF | ON | ON | 1011 | 11 |
| ON | ON | OFF | OFF | 1100 | 12 |
| ON | ON | OFF | ON | 1101 | 13 |
| ON | ON | ON | OFF | 1110 | 14 |
| ON | ON | ON | ON | 1111 | 15 |
Video Tutorial
Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.