[ Prev ] [ Index ] [ Next ]

Chương 3 - Đọc nút nhấn và điều khiển đèn LED

Created Friday 27 June 2014

Hậu cần


Tham khảo

http://makezine.com/projects/tutorial-raspberry-pi-gpio-pins-and-python/
http://www.thirdeyevis.com/pi-page-2.php

Mua:
- Nút nhấn

Config:
- Nối nút nhấn một bên là GPIO 24, một bên là chân GND. (GPIO 24 có pull-up resistor)
- Nối chân GPIO 17 qua điện trở, đến LED, và đến GND.

Code:

import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)

GPIO.setup(17,GPIO.OUT)

GPIO.setup(24, GPIO.IN, pull_up_down = GPIO.PUD_UP)

while True:

if(GPIO.input(24) == 0):
print(“Button pressed”)
GPIO.output(17,True)
else:
GPIO.output(17,False)

GPIO.cleanup()

Linh kiện

- Nút nhấn
- Đèn LED

Nội dung


Dẫn nhập (1 trang)

- mục tiêu học ở chương này
- các linh kiện cần thiết
- ý nghĩa của bài học này, có thể phát triển ra những ứng dụng nào

Bước vào tìm hiểu một lĩnh vực, ta dễ cảm thấy choáng ngợp trước nhiều vấn đề mới. Do vậy nếu tìm được những vấn đề căn bản để đi các bước đầu tiên thì việc tiếp cận nghiên cứu những chủ đề sâu hơn sẽ trở nên dễ dàng. Đối với lĩnh vực điều khiển phần cứng, nguyên lý cơ bản nhất là làm sao kiểm soát được tín hiệu, phân biệt được bộ phận xử lý với các bộ phận bên ngoài để biết đâu là "tín hiệu vào" và "tín hiệu ra". Chương này sẽ trình bày về kỹ thuật đọc nút nhấn và điều khiển đèn LED, tức là xử lý tín hiệu vào và tín hiệu ra cơ bản nhất.
Nút nhấn là dụng cụ để người sử dụng tạo ra tín hiệu gửi đến bộ xử lý, và bộ xử lý xem tín hiệu đó là "tín hiệu vào". Tín hiệu từ nút nhấn chỉ có giá trị là "có" hay "không", tiếng Anh gọi là trạng thái "On" hoặc "Off". Khi nút đó được nhấn, nó mang trạng thái "on", và khi thả ra thì trạng thái là "off", và bộ xử lý phát hiện được các trạng thái này nhờ việc kiểm tra xem trong nút nhấn có sự tiếp xúc giữa các miếng kim loại hay không. Việc kiểm tra đó rất đơn giản: mắc dây điện nối tiếp với nút nhấn, khi người ta nhấn nút sẽ tạo ra sự tiếp xúc, nhờ đó có dòng điện chạy qua và bộ xử lý sẽ xem đó là tín hiệu "on"; còn khi không nhấn, mạch điện bị hở ra ở chỗ nút nhấn (ta gọi là bị ngắn mạch), bộ xử lý không phát hiện được dòng điện nên biết đó là tín hiệu "off".
Nếu nút nhấn là dụng cụ tạo ra tín hiệu "on"-"off" cơ bản nhất để làm tín hiệu đầu vào cho bộ xử lý, thì đèn LED là linh kiện điện tử đơn giản nhất để bộ xử lý thể hiện tín hiệu đầu ra dạng "on"-"off". Đèn LED có đặc điểm là sẽ sáng lên khi có dòng điện chạy qua (và không sáng khi không có điện, sau này chúng ta sẽ không cần nhắc lại về trạng thái bình thường của các linh kiện). Khi bộ xử lý muốn tạo ra một tín hiệu "on", nó cấp điện cho một chân điều khiển để tạo ra dòng điện chạy qua đèn LED, và ta thấy đèn LED sáng thì biết là có tín hiệu ra dạng "on". Khi bộ xử lý không cung cấp điện ở chân điều khiển, đèn LED bị tắt và thể hiện tín hiệu "off".
Mục tiêu ở chương này là bạn đọc biết cách nối mạch điện tử để bộ xử lý trong RPI có thể đọc tín hiệu từ nút nhấn và xuất tín hiệu điều khiển bật/tắt đèn LED, sau đó biết cách thực hiện các lệnh trên phần mềm để đọc tín hiệu vào hoặc xuất tín hiệu ra. Sau khi thực hiện thuần thục hai tác vụ này, bạn đọc có thể thực hiện những chuỗi phối hợp giữa tín hiệu vào - ra với rất nhiều ứng dụng thú vị. Chẳng hạn, ta có thể đọc tín hiệu vào để biết các thiết bị điện đang có điện hay không, có thể điều khiển nhiều đèn LED cùng lúc để tạo hiệu ứng màu sắc, hơn nữa có thể kết hợp điều khiển bật tắt âm thanh để phối hợp hiệu ứng màu sắc - âm thanh.

Kết nối mạch điện tử (1 trang - hình ảnh)

- hình sơ đồ nối dây, minh họa mạch kiểu phim âm bản (lấy từ trang web project của nước ngoài như Adafruit)
- hình chụp mạch & breadboard đã kết nối
- coi như khi có sơ đồ nối dây là người ta làm theo được, không cần hướng dẫn từng bước


Chuẩn bị phần mềm (1 trang)

- quy trình từ lúc bật power đến khi sẵn sàng nhập lệnh:
- liệt kê các bước bằng text
- chụp hình màn hình khi chọn menu để vào môi trường nhập lệnh (console)


Code mẫu (1 trang)

- nhập code và xem kết quả:

- nhập các lệnh cấu hình phần cứng
- nhập các lệnh điều khiển


Giải thích các lệnh (3 trang )

- sẽ đưa các lệnh vào file Python để giải thích bằng chế độ comment đằng sau code
- thêm một phần giải thích việc nhập code kiểu interactive (nhập, gõ enter, thấy kết quả ngay, không có biên dịch hay phải nạp vào chip)
- (dự kiến khối lệnh ở mỗi bài trong vòng 20 - 40 dòng)


Bài thực hành thêm (1 trang)

- thêm một số gợi ý để người học tự thực hành (ví dụ: bài học bật tắt 1 LED, thêm bài tập bật tắt tuần tự 2 LED)



Số lượt truy cập: