Raspberry Pi là một trong những bo mạch điện toán vật lý hàng đầu trên thị trường. Từ những người có sở thích xây dựng các dự án DIY cho đến những sinh viên lần đầu tiên học lập trình, mọi người sử dụng Raspberry Pi hàng ngày để tương tác với thế giới xung quanh họ. Python được tích hợp sẵn trên Raspberry Pi, vì vậy bạn có thể sử dụng các kỹ năng của mình và bắt đầu xây dựng các dự án Raspberry Pi của riêng mình ngay hôm nay
Trong hướng dẫn này, bạn sẽ học cách
- Thiết lập Raspberry Pi mới
- Chạy Python trên Raspberry Pi bằng trình chỉnh sửa Mu hoặc từ xa qua SSH
- Đọc đầu vào từ các cảm biến vật lý được kết nối với Raspberry Pi
- Gửi đầu ra cho các thành phần bên ngoài bằng Python
- Tạo các dự án độc đáo với Python trên Raspberry Pi
Bắt đầu nào
Tải xuống miễn phí. Nhận một chương mẫu từ Thủ thuật Python. Cuốn sách chỉ cho bạn các phương pháp hay nhất về Python với các ví dụ đơn giản mà bạn có thể áp dụng ngay lập tức để viết mã Pythonic + đẹp hơn
Làm quen với Raspberry Pi
Raspberry Pi là một máy tính bảng đơn được phát triển bởi Raspberry Pi Foundation, một tổ chức từ thiện có trụ sở tại Vương quốc Anh. Ban đầu được thiết kế để cung cấp cho những người trẻ tuổi một tùy chọn điện toán hợp lý để học cách lập trình, nó đã phát triển một lượng lớn người theo dõi trong cộng đồng nhà sản xuất và DIY nhờ kích thước nhỏ gọn, môi trường Linux hoàn chỉnh và các chân cắm đầu vào-đầu ra đa năng [GPIO]
Với tất cả các tính năng và khả năng được tích hợp trong bo mạch nhỏ này, không thiếu các dự án và trường hợp sử dụng cho Raspberry Pi
Một số dự án ví dụ bao gồm những điều sau đây
- Robot xếp hàng
- Trạm thời tiết tại nhà
- máy chơi game cổ điển
- Camera phát hiện đối tượng thời gian thực
- máy chủ Minecraft
- Hộp nhạc điều khiển bằng nút bấm
- Trung tâm Truyền thông
- Thí nghiệm từ xa trên Trạm vũ trụ quốc tế
Nếu bạn có thể nghĩ ra một dự án có thể hưởng lợi từ việc gắn một máy tính cỡ thẻ tín dụng vào đó, thì có lẽ ai đó đã sử dụng Raspberry Pi để thực hiện dự án đó. Raspberry Pi là một cách tuyệt vời để biến các ý tưởng dự án Python của bạn thành hiện thực
Loại bỏ các quảng cáoTổng quan về bảng Raspberry Pi
Raspberry Pi có nhiều yếu tố hình thức cho các trường hợp sử dụng khác nhau. Trong hướng dẫn này, bạn sẽ xem xét phiên bản mới nhất, Raspberry Pi 4
Dưới đây là cách bố trí bo mạch của Raspberry Pi 4. Mặc dù cách bố trí này hơi khác so với các mẫu Raspberry Pi trước đây, nhưng hầu hết các kết nối đều giống nhau. Thiết lập được mô tả trong phần tiếp theo phải giống nhau cho cả Raspberry Pi 3 và Raspberry Pi 4
Bảng Raspberry Pi 4 chứa các thành phần sau
Chân đầu vào-đầu ra đa năng. Các chân này được sử dụng để kết nối Raspberry Pi với các linh kiện điện tử
Cổng mạng. Cổng này kết nối Raspberry Pi với mạng có dây. Raspberry Pi cũng được tích hợp Wi-Fi và Bluetooth cho các kết nối không dây
Hai USB 3. 0 và hai USB 2. 0 cổng. Các cổng USB này được sử dụng để kết nối các thiết bị ngoại vi như bàn phím hoặc chuột. Hai cổng màu đen là USB 2. 0 và hai cổng màu xanh là USB 3. 0
giắc cắm AV. Giắc cắm AV này cho phép bạn kết nối loa hoặc tai nghe với Raspberry Pi
Cổng mô-đun máy ảnh. Cổng này được sử dụng để kết nối Mô-đun máy ảnh Raspberry Pi chính thức, cho phép Raspberry Pi chụp ảnh
cổng HDMI. Các cổng HDMI này kết nối Raspberry Pi với màn hình bên ngoài. Raspberry Pi 4 có hai cổng micro HDMI, cho phép nó điều khiển hai màn hình riêng biệt cùng một lúc
cổng nguồn USB. Cổng USB này cấp nguồn cho Raspberry Pi. Raspberry Pi 4 có cổng USB Type-C, trong khi các phiên bản Pi cũ hơn có cổng micro-USB
Cổng hiển thị bên ngoài. Cổng này được sử dụng để kết nối màn hình cảm ứng Raspberry Pi bảy inch chính thức cho đầu vào dựa trên cảm ứng trên Raspberry Pi
Khe cắm thẻ nhớ microSD [mặt dưới bo mạch]. Khe cắm thẻ này dành cho thẻ nhớ microSD chứa hệ điều hành Raspberry Pi và các tệp
Một lát sau trong hướng dẫn này, bạn sẽ sử dụng các thành phần ở trên để thiết lập Raspberry Pi của mình
Raspberry Pi so với Arduino
Mọi người thường tự hỏi sự khác biệt giữa Raspberry Pi và Arduino là gì. Arduino là một thiết bị khác được sử dụng rộng rãi trong điện toán vật lý. Mặc dù có một số điểm trùng lặp về khả năng của Arduino và Raspberry Pi, nhưng vẫn có một số khác biệt rõ rệt
cung cấp giao diện phần cứng và phần mềm để lập trình vi điều khiển. Bộ vi điều khiển là một mạch tích hợp cho phép bạn đọc đầu vào từ và gửi đầu ra đến các linh kiện điện tử. Các bo mạch Arduino thường có bộ nhớ hạn chế, vì vậy chúng thường được sử dụng để chạy lặp đi lặp lại một chương trình duy nhất tương tác với thiết bị điện tử
Raspberry Pi là một máy tính đa năng, dựa trên Linux. Nó có một hệ điều hành đầy đủ với giao diện GUI có khả năng chạy nhiều chương trình khác nhau cùng một lúc
Raspberry Pi đi kèm với nhiều phần mềm được cài đặt sẵn, bao gồm trình duyệt web, bộ ứng dụng văn phòng, thiết bị đầu cuối và thậm chí cả Minecraft. Raspberry Pi cũng được tích hợp Wi-Fi và Bluetooth để kết nối Internet và các thiết bị ngoại vi bên ngoài
Để chạy Python, Raspberry Pi thường là lựa chọn tốt hơn, vì bạn có được bản cài đặt Python chính thức mà không cần bất kỳ cấu hình nào
Thiết lập Raspberry Pi
Không giống như Arduino, chỉ yêu cầu cáp USB và máy tính để thiết lập, Raspberry Pi có nhiều yêu cầu phần cứng hơn để thiết lập và chạy. Tuy nhiên, sau khi thiết lập ban đầu, một số thiết bị ngoại vi này sẽ không còn cần thiết nữa
Phần cứng cần thiết
Cần có phần cứng sau đây để thiết lập ban đầu cho Raspberry Pi của bạn. Nếu bạn kết nối với Raspberry Pi của mình qua SSH mà bạn sẽ xem xét, thì một số phần cứng bên dưới sẽ không cần thiết sau khi thiết lập ban đầu
Màn hình
Bạn sẽ cần một màn hình trong quá trình thiết lập và cấu hình ban đầu của hệ điều hành. Nếu bạn sẽ sử dụng SSH để kết nối với Raspberry Pi, thì bạn sẽ không cần màn hình sau khi thiết lập. Đảm bảo màn hình của bạn có đầu vào HDMI
thẻ micro SD
Raspberry Pi sử dụng thẻ nhớ microSD để lưu trữ hệ điều hành và tệp. Nếu bạn mua bộ Raspberry Pi, thì nó sẽ chứa thẻ nhớ microSD được định dạng sẵn để bạn sử dụng. Nếu bạn mua thẻ nhớ microSD riêng, thì bạn sẽ cần. Tìm thẻ nhớ microSD có dung lượng tối thiểu 16GB
Bàn phím và chuột
Cần có bàn phím và chuột USB trong quá trình thiết lập ban đầu của Raspberry Pi. Sau khi thiết lập hoàn tất, bạn có thể chuyển sang sử dụng các phiên bản Bluetooth của các thiết bị ngoại vi này nếu muốn. Ở phần sau của hướng dẫn này, bạn sẽ thấy cách kết nối với Raspberry Pi qua SSH. Nếu bạn chọn kết nối theo cách này, thì không cần bàn phím và chuột vật lý sau khi thiết lập ban đầu
Cáp HDMI
Bạn sẽ cần cáp HDMI để kết nối Raspberry Pi với màn hình. Các mẫu Raspberry Pi khác nhau có các yêu cầu về cáp HDMI khác nhau
Raspberry Pi 4Raspberry Pi 3/2/1Raspberry Pi Zeromicro HDMIHDMImini HDMImicro HDMI to HDMIHDMI to HDMImini HDMI to HDMI
Tùy thuộc vào kiểu máy của bạn, bạn có thể cần mua cáp HDMI hoặc bộ chuyển đổi đặc biệt
Nguồn cấp
Raspberry Pi sử dụng kết nối USB để cấp nguồn cho bo mạch. Một lần nữa, các mẫu Raspberry Pi khác nhau có các yêu cầu về nguồn và kết nối USB khác nhau
Dưới đây là các yêu cầu về kết nối và nguồn điện cho các kiểu máy khác nhau
Raspberry Pi 4Raspberry Pi 3/2/1/ZeroUSB-CMicro-USBÍt nhất 3. 0 ampsÍt nhất 2. 5 ampe
Để tránh nhầm lẫn khi chọn nguồn điện, bạn nên sử dụng nguồn điện chính thức cho Raspberry Pi 4 hoặc kiểu máy khác
Loại bỏ các quảng cáoPhần cứng tùy chọn
Bạn có thể sử dụng toàn bộ phạm vi phần cứng bổ sung với Raspberry Pi để mở rộng khả năng của nó. Các mục phần cứng được liệt kê bên dưới không bắt buộc phải sử dụng Raspberry Pi của bạn nhưng sẽ hữu ích nếu bạn có sẵn
Trường hợp
Thật tuyệt khi có một chiếc vỏ cho Raspberry Pi của bạn để giữ cho các thành phần của nó không bị hư hỏng trong quá trình sử dụng bình thường. Khi chọn vỏ, hãy đảm bảo rằng bạn mua đúng loại cho mẫu Raspberry Pi của mình
Diễn giả
Nếu bạn muốn phát nhạc hoặc âm thanh từ Raspberry Pi, thì bạn sẽ cần có loa. Đây có thể là bất kỳ loa tiêu chuẩn nào có 3. giắc cắm 5 mm. Bạn có thể kết nối loa với Raspberry Pi bằng cách sử dụng mặt bên của bo mạch
Tản nhiệt [Được khuyến nghị]
Raspberry Pi có thể thực hiện rất nhiều tính toán cho một bo mạch nhỏ. Đây là một trong những lý do nó rất tuyệt vời. Nhưng điều này không có nghĩa là đôi khi nó có thể hơi nóng. Bạn nên mua một bộ tản nhiệt để ngăn Raspberry Pi điều tiết CPU khi quá nóng
Phần mềm
Hệ điều hành cho Raspberry Pi được lưu trữ trên thẻ nhớ microSD. Nếu thẻ của bạn không đến từ bộ Raspberry Pi chính thức, thì bạn sẽ cần cài đặt hệ điều hành trên đó
Có nhiều cách để thiết lập hệ điều hành trên Raspberry Pi của bạn. Bạn có thể tìm hiểu thêm về các tùy chọn cài đặt khác nhau trên trang web Raspberry Pi
Trong phần này, bạn sẽ xem xét hai cách để cài đặt Raspbian, hệ điều hành Raspberry Pi được hỗ trợ chính thức, dựa trên Debian Linux
lựa chọn 1. Raspberry Pi Imager [Được khuyến nghị]
Nền tảng Raspberry Pi khuyên bạn nên sử dụng Raspberry Pi Imager để thiết lập ban đầu cho thẻ SD của bạn. Bạn có thể tải xuống trình chụp ảnh từ trang Tải xuống Raspberry Pi. Khi ở trên trang này, hãy tải xuống phiên bản phù hợp cho hệ điều hành của bạn
Sau khi bạn đã tải xuống Raspberry Pi Imager, hãy khởi động ứng dụng. Bạn sẽ thấy một màn hình cho phép bạn chọn hệ điều hành mà bạn muốn cài đặt cùng với thẻ SD mà bạn muốn định dạng
Bạn sẽ có hai tùy chọn khi tải ứng dụng lần đầu tiên. Chọn hệ điều hành và chọn thẻ SD. Chọn Chọn hệ điều hành trước
Ghi chú. Có khả năng Windows có thể ngăn Raspberry Pi Imager khởi động vì đây là một ứng dụng không được nhận dạng. Nếu bạn nhận được cửa sổ bật lên cho biết Windows đã bảo vệ PC của bạn thì bạn vẫn có thể chạy ứng dụng bằng cách nhấp vào Thông tin khác và chọn Vẫn chạy
Với ứng dụng đang chạy, nhấp vào nút Chọn hệ điều hành và chọn tùy chọn Raspbian đầu tiên
Sau khi chọn hệ điều hành Raspbian, bạn cần chọn thẻ SD mà bạn sẽ sử dụng. Đảm bảo rằng thẻ nhớ microSD của bạn đã được lắp vào máy tính và nhấp vào Chọn thẻ SD, sau đó chọn thẻ SD từ menu
Với hệ điều hành và thẻ SD được chọn, bây giờ bạn có thể nhấp vào nút Viết để bắt đầu định dạng thẻ SD và cài đặt hệ điều hành vào thẻ. Quá trình này có thể mất vài phút để hoàn thành
Sau khi định dạng và cài đặt hoàn tất, bạn sẽ thấy một thông báo cho biết hệ điều hành đã được ghi vào thẻ SD
Bạn có thể tháo thẻ SD ra khỏi máy tính của mình. Raspbian hiện đã được cài đặt trên thẻ SD của bạn và bạn đã sẵn sàng bắt đầu kết nối phần cứng với Raspberry Pi
Lựa chọn 2. Cài đặt Raspbian từ NOOBS
Nếu vì lý do nào đó mà bạn không thể sử dụng Raspberry Pi Imager, thì bạn có thể tải xuống NOOBS [Phần mềm mới ra mắt] và sử dụng nó để cài đặt Raspbian trên thẻ nhớ microSD. Trước tiên, hãy truy cập trang tải xuống NOOBS để tải xuống phiên bản mới nhất. Nhấp vào Tải xuống ZIP bên dưới tùy chọn NOOBS đầu tiên
NOOBS sẽ bắt đầu tải xuống trên hệ thống của bạn
Ghi chú. Đảm bảo tải xuống NOOBS chứ không phải NOOBS Lite
Khi tệp ZIP đã được tải xuống, hãy giải nén nội dung vào một vị trí trên máy tính của bạn. Bạn sẽ sớm sao chép các tệp này vào thẻ SD, nhưng trước tiên, bạn cần định dạng đúng thẻ SD
Bạn sẽ sử dụng Bộ định dạng thẻ nhớ SD chính thức từ Hiệp hội SD. Truy cập trang web của Hiệp hội SD để tải xuống trình định dạng. Cuộn xuống dưới cùng và tải xuống trình định dạng SD cho Windows hoặc macOS
Khi Trình định dạng thẻ nhớ SD được tải xuống, bạn đã sẵn sàng định dạng thẻ SD của mình để sử dụng trên Raspberry Pi
Ghi chú. Người dùng Linux có thể sử dụng
$ ssh pi@[IP ADDRESS]
7 để phân vùng và định dạng thẻ nhớ microSD thành định dạng đĩa FAT32 được yêu cầuSau khi tải xuống trình định dạng SD, hãy mở ứng dụng. Để định dạng thẻ SD, bạn cần làm như sau
- Lắp thẻ SD vào máy tính của bạn
- Chọn thẻ SD từ menu thả xuống Chọn thẻ
- Nhấp vào tùy chọn Định dạng nhanh trong Tùy chọn định dạng
- Nhập NOOBS vào trường văn bản nhãn Khối lượng
Khi các mục trên đã hoàn tất, hãy nhấp vào Định dạng
Trước khi định dạng thẻ, bạn sẽ được yêu cầu xác nhận thao tác vì thao tác này sẽ xóa tất cả dữ liệu khỏi thẻ. Nhấp vào Tiếp tục để bắt đầu định dạng thẻ SD. Có thể mất vài phút để hoàn tất định dạng
Khi quá trình định dạng hoàn tất, bạn cần sao chép các tệp NOOBS mà bạn đã giải nén trước đó vào thẻ SD. Chọn tất cả các tệp mà bạn đã giải nén trước đó
Kéo chúng vào thẻ SD
Bây giờ bạn đã cài đặt NOOBS trên thẻ SD của mình, hãy rút thẻ ra khỏi máy tính của bạn. Bạn đã gần tới. Trong phần tiếp theo, bạn sẽ thực hiện thiết lập cuối cùng cho Raspberry Pi của mình
Loại bỏ các quảng cáoThiết lập cuối cùng
Bây giờ bạn đã có sẵn thẻ nhớ microSD và phần cứng cần thiết, bước cuối cùng là kết nối mọi thứ lại với nhau và định cấu hình hệ điều hành. Hãy bắt đầu bằng cách kết nối tất cả các thiết bị ngoại vi
- Lắp thẻ nhớ microSD vào khe cắm thẻ ở dưới cùng của Raspberry Pi
- Kết nối bàn phím và chuột với bất kỳ cổng nào trong bốn cổng USB
- Kết nối màn hình với một trong các cổng HDMI bằng cáp HDMI dành riêng cho mẫu Raspberry Pi của bạn
- Kết nối nguồn điện với cổng nguồn USB
Với các thiết bị ngoại vi được kết nối, hãy tiếp tục và bật Raspberry Pi của bạn để định cấu hình hệ điều hành. Nếu bạn đã cài đặt Raspbian với Raspberry Pi Imager, thì bạn không thể làm gì khác. Bạn có thể bỏ qua để hoàn thành thiết lập
Nếu bạn đã cài đặt NOOBS trên thẻ SD thì bạn sẽ cần hoàn thành một vài bước nữa để cài đặt Raspbian trên thẻ SD
- Đầu tiên, bật nguồn Raspberry Pi để tải giao diện NOOBS
- Sau đó, đánh dấu vào hộp kiểm bên cạnh tùy chọn Raspbian trong danh sách phần mềm cần cài đặt
- Cuối cùng, nhấn nút Install ở góc trên cùng bên trái giao diện để bắt đầu cài đặt Raspbian trên thẻ SD
Khi quá trình cài đặt hoàn tất, Raspberry Pi sẽ khởi động lại và bạn sẽ được khởi động vào Raspbian để hoàn tất trình hướng dẫn thiết lập
Trình hướng dẫn cài đặt
Trong lần khởi động đầu tiên, Raspbian cung cấp trình hướng dẫn thiết lập để giúp bạn định cấu hình mật khẩu, đặt ngôn ngữ, chọn mạng Wi-Fi và cập nhật hệ điều hành. Hãy tiếp tục và hoàn thành các bước này theo hướng dẫn
Khi bạn đã hoàn thành các bước, hãy khởi động lại hệ điều hành và bạn sẽ sẵn sàng bắt đầu lập trình Python trên Raspberry Pi
Chạy Python trên Raspberry Pi
Một trong những điều tuyệt vời nhất khi làm việc với Python trên Raspberry Pi là Python là công dân hạng nhất trên nền tảng này. Raspberry Pi Foundation đã chọn Python làm ngôn ngữ chính vì sức mạnh, tính linh hoạt và dễ sử dụng của nó. Python được cài đặt sẵn trên Raspbian, vì vậy bạn sẽ sẵn sàng bắt đầu ngay từ đầu
Bạn có nhiều tùy chọn khác nhau để viết Python trên Raspberry Pi. Trong hướng dẫn này, bạn sẽ xem xét hai lựa chọn phổ biến
- Sử dụng trình chỉnh sửa Mu
- Chỉnh sửa từ xa qua SSH
Hãy bắt đầu bằng cách xem cách sử dụng trình chỉnh sửa Mu để viết Python trên Raspberry Pi
Sử dụng Trình chỉnh sửa Mu
Hệ điều hành Raspbian đi kèm với một số IDE Python được cài đặt sẵn mà bạn có thể sử dụng để viết chương trình của mình. Một trong những IDE này là Mu. Nó có thể được tìm thấy trong menu chính
Biểu tượng Raspberry Pi → Lập trình → Mu
Khi bạn mở Mu lần đầu tiên, bạn sẽ được cung cấp tùy chọn để chọn chế độ Python cho trình chỉnh sửa. Đối với mã trong hướng dẫn này, bạn có thể chọn Python 3
Có khả năng Mu không được cài đặt sẵn trên phiên bản Raspbian của bạn. Nếu Mu chưa được cài đặt, thì bạn luôn có thể cài đặt nó bằng cách đi tới vị trí tệp sau
Biểu tượng Raspberry Pi → Tùy chọn → Phần mềm được đề xuất
Thao tác này sẽ mở ra một hộp thoại chứa phần mềm được đề xuất cho Raspberry Pi của bạn. Chọn hộp bên cạnh Mu và nhấp vào OK để cài đặt nó
Mặc dù Mu cung cấp một trình chỉnh sửa tuyệt vời để bắt đầu với Python trên Raspberry Pi, nhưng bạn có thể muốn một thứ gì đó mạnh mẽ hơn. Trong phần tiếp theo, bạn sẽ kết nối với Raspberry Pi của mình qua SSH
Loại bỏ các quảng cáoChỉnh sửa từ xa qua SSH
Thường thì bạn sẽ không muốn dành thời gian kết nối màn hình, bàn phím và chuột để viết Python trên Raspberry Pi. May mắn thay, Raspbian cho phép bạn kết nối với Raspberry Pi từ xa qua. Trong phần này, bạn sẽ tìm hiểu cách bật và sử dụng SSH để lập trình Python trên Raspberry Pi
Kích hoạt SSH
Trước khi có thể kết nối với Raspberry Pi qua SSH, bạn cần bật quyền truy cập SSH bên trong khu vực Tùy chọn Raspberry Pi. Kích hoạt SSH bằng cách đi tới đường dẫn tệp sau
Biểu tượng Raspberry Pi → Tùy chọn → Cấu hình Raspberry Pi
Khi cấu hình xuất hiện, hãy chọn tab Giao diện rồi bật tùy chọn SSH
Bạn đã kích hoạt SSH trên Raspberry Pi. Bây giờ bạn cần lấy địa chỉ IP cho Raspberry Pi để có thể kết nối với nó từ một máy tính khác
Xác định địa chỉ IP Raspberry Pi
Để truy cập Raspberry Pi từ xa, bạn cần xác định địa chỉ IP của Raspberry Pi trên mạng cục bộ của mình. Để xác định địa chỉ IP, bạn cần truy cập vào ứng dụng Terminal. Bạn có thể truy cập Terminal tại đây
Biểu tượng Raspberry Pi → Phụ kiện → Thiết bị đầu cuối
Khi Terminal được mở, hãy nhập thông tin sau vào dấu nhắc lệnh
pi@raspberrypi:~ $ hostname -I
Điều này sẽ hiển thị địa chỉ IP hiện tại cho Raspberry Pi của bạn. Với địa chỉ IP này, giờ đây bạn có thể kết nối với Raspberry Pi của mình từ xa
Kết nối với Raspberry Pi
Sử dụng địa chỉ IP cho Raspberry Pi, giờ đây bạn có thể SSH vào nó từ một máy tính khác
$ ssh pi@[IP ADDRESS]
Bạn sẽ được nhắc nhập mật khẩu bạn đã tạo khi chạy trong quá trình cài đặt Raspbian. Nếu bạn không đặt mật khẩu thì mật khẩu mặc định là
$ ssh pi@[IP ADDRESS]
8. Nhập mật khẩu và sau khi kết nối, bạn sẽ thấy dấu nhắc lệnh Raspberry Pipi@raspberrypi:~ $
Bây giờ bạn đã biết cách kết nối, bạn đã sẵn sàng bắt đầu lập trình Python trên Raspberry Pi. Bạn có thể bắt đầu ngay bằng Python REPL
pi@raspberrypi:~ $ python3
Nhập một số Python để chạy nó trên Raspberry Pi
>>>
>>> print["Hello from your Raspberry Pi!"]
Hello from your Raspberry Pi!
Tuyệt vời, bạn đang chạy Python trên Raspberry Pi
Loại bỏ các quảng cáoTạo một thư mục $ ssh pi@[IP ADDRESS]
9
$ ssh pi@[IP ADDRESS]
Trước khi bạn bắt đầu xây dựng các dự án bằng Python trên Raspberry Pi, bạn nên thiết lập một thư mục dành riêng cho mã của mình. Raspberry Pi có một hệ thống tệp đầy đủ với nhiều thư mục khác nhau. Có một vị trí dành riêng cho mã Python của bạn sẽ giúp giữ mọi thứ ngăn nắp và dễ tìm
Hãy tạo một thư mục có tên là
$ ssh pi@[IP ADDRESS]
9 nơi bạn có thể lưu trữ mã Python cho các dự án của mìnhSử dụng Mu
Nếu bạn dự định sử dụng Mu để hoàn thành các dự án trong hướng dẫn này, thì bạn có thể sử dụng nó ngay bây giờ để tạo thư mục
$ ssh pi@[IP ADDRESS]
9. Để tạo thư mục này, bạn sẽ muốn làm như sau- Mở Mu bằng cách đi tới Biểu tượng Raspberry Pi → Lập trình → Mu
- Nhấp vào Mới trong thanh menu để tạo một tệp trống
- Nhấp vào Lưu trong thanh menu
- Điều hướng đến thư mục
02 trong danh sách thư mục thả xuốngpi@raspberrypi:~ $ hostname -I
- Nhấp vào biểu tượng Tạo thư mục mới ở góc trên cùng bên phải
- Đặt tên cho thư mục mới này là
9 và nhấn Enter .$ ssh pi@[IP ADDRESS]
- Nhấp vào Hủy để đóng
Bạn đã tạo một thư mục dành riêng cho mã Python của mình. Đi xuống phần tiếp theo để tìm hiểu về Python
Qua SSH
Nếu bạn muốn sử dụng SSH để truy cập Raspberry Pi của mình, thì bạn sẽ sử dụng dòng lệnh để tạo thư mục
$ ssh pi@[IP ADDRESS]
9Ghi chú. Vì bạn sẽ truy cập dòng lệnh Raspberry Pi, nên bạn sẽ cần sử dụng trình soạn thảo văn bản dòng lệnh để chỉnh sửa các tệp dự án của mình
Cả
pi@raspberrypi:~ $ hostname -I
05 và pi@raspberrypi:~ $ hostname -I
06 đều được cài đặt sẵn trên Raspbian và có thể được sử dụng để chỉnh sửa tệp dự án. Bạn cũng có thể sử dụng Mã VS để chỉnh sửa tệp từ xa trên Raspberry Pi, nhưng cần phải thiết lập một sốHãy tạo thư mục
$ ssh pi@[IP ADDRESS]
9. Nếu bạn hiện chưa đăng nhập vào Raspberry Pi, thì hãy sử dụng địa chỉ IP của Raspberry Pi để SSH vào nó từ máy tính của bạn$ ssh pi@[IP ADDRESS]
Sau khi đăng nhập, bạn sẽ thấy dấu nhắc lệnh Raspberry Pi
pi@raspberrypi:~ $ hostname -I
0Theo mặc định, khi bạn SSH vào Raspberry Pi, bạn sẽ bắt đầu trong thư mục
pi@raspberrypi:~ $ hostname -I
02. Xác nhận điều này ngay bây giờ bằng cách chạy pi@raspberrypi:~ $ hostname -I
09$ ssh pi@[IP ADDRESS]
0Nếu vì lý do nào đó bạn không có trong thư mục
pi@raspberrypi:~ $ hostname -I
02, thì hãy chuyển sang thư mục đó bằng cách sử dụng $ ssh pi@[IP ADDRESS]
01$ ssh pi@[IP ADDRESS]
3Bây giờ trong thư mục
pi@raspberrypi:~ $ hostname -I
02, hãy tạo một thư mục $ ssh pi@[IP ADDRESS]
9 mới$ ssh pi@[IP ADDRESS]
6Với thư mục
$ ssh pi@[IP ADDRESS]
9 được tạo, sử dụng $ ssh pi@[IP ADDRESS]
05 để vào thư mục$ ssh pi@[IP ADDRESS]
0Tuyệt vời. Bạn đã sẵn sàng bắt đầu mã hóa các mạch đầu tiên của mình bằng Python trên Raspberry Pi
Loại bỏ các quảng cáoTương tác với các thành phần vật lý
Trong phần này, bạn sẽ học cách tương tác với các thành phần vật lý khác nhau bằng Python trên Raspberry Pi
Bạn sẽ sử dụng thư viện gpiozero được cài đặt sẵn trên Raspbian. Nó cung cấp giao diện dễ sử dụng để tương tác với nhiều thiết bị GPIO được kết nối với Raspberry Pi
Linh kiện điện tử
Trước khi lập trình trên Raspberry Pi, bạn sẽ cần một vài linh kiện điện tử để xây dựng các dự án trong các phần sắp tới. Bạn sẽ có thể tìm thấy từng mặt hàng bên dưới trên Amazon hoặc tại cửa hàng điện tử địa phương của bạn
bánh mì
Breadboard là một công cụ thiết yếu khi xây dựng mạch. Nó cho phép bạn nhanh chóng tạo nguyên mẫu cho mạch của mình mà không cần phải hàn các thành phần lại với nhau
Breadboards theo một bố cục chung. Ở bên phải và bên trái, hai đường ray chạy theo chiều dài của breadboard. Mỗi lỗ trên những đường ray được kết nối. Nói chung, chúng được chỉ định dương [điện áp hoặc VCC] và âm [mặt đất hoặc GND]
Trên hầu hết các breadboard, đường ray tích cực được đánh dấu bằng một dấu hiệu tích cực [
$ ssh pi@[IP ADDRESS]
06] và sẽ có một đường màu đỏ chạy bên cạnh nó. Đường ray âm được đánh dấu bằng dấu âm [$ ssh pi@[IP ADDRESS]
07] và có một đường màu xanh lam chạy bên cạnhỞ bên trong bảng, các thanh ray thành phần chạy vuông góc với các thanh ray dương và âm ở các mặt của breadboard. Mỗi đường ray này có các lỗ để đặt các bộ phận
Tất cả các lỗ trên một thanh ray được kết nối. Ở giữa là rãnh ngăn cách 2 bên breadboard. Đường ray ở phía đối diện của máng xối không được kết nối
Điều này được minh họa trong sơ đồ sau
Trong sơ đồ trên, ba màu được sử dụng để đánh dấu các loại đường ray breadboard khác nhau
- Màu đỏ. đường sắt tích cực
- Màu đen. đường ray âm
- Màu xanh da trời. đường ray thành phần
Ở phần sau của hướng dẫn này, bạn sẽ sử dụng các đường ray khác nhau này để xây dựng các mạch đầy đủ kết nối với Raspberry Pi
dây nhảy
Dây nhảy cho phép bạn tạo nguyên mẫu các kết nối của mạch mà không cần phải hàn các đường dẫn giữa các chân GPIO và các thành phần. Chúng có ba loại khác nhau
- Nam thành nam
- nữ thành nam
- nữ thành nữ
Sẽ rất tốt nếu bạn có ít nhất 10 đến 20 loại mỗi loại khi bạn đang xây dựng các dự án Raspberry Pi của mình bằng Python
Các thành phần khác
Cùng với breadboard và dây nhảy, các dự án trong hướng dẫn này sẽ sử dụng các thành phần sau
- Điốt phát sáng [đèn LED]
- nút xúc giác
- điện trở 330Ω
- Còi áp điện đang hoạt động
- Cảm biến chuyển động hồng ngoại thụ động
Với các thành phần cần thiết trong tay, hãy xem cách bạn có thể kết nối chúng với Raspberry Pi bằng các chân GPIO
Loại bỏ các quảng cáoChân GPIO
Raspberry Pi có bốn mươi chân GPIO dọc theo cạnh trên của bo mạch. Bạn có thể sử dụng các chân GPIO này để kết nối Raspberry Pi với các thành phần bên ngoài
Bố cục ghim bên dưới hiển thị các loại ghim khác nhau và vị trí của chúng. Bố cục này dựa trên chế độ xem từ trên cao của các chân với các cổng USB của Raspberry Pi hướng về phía bạn
Raspberry Pi có năm loại chân khác nhau
- GPIO. Đây là những chân có mục đích chung có thể được sử dụng cho đầu vào hoặc đầu ra
- 3V3. Các chân này cung cấp 3. Nguồn điện 3 V cho linh kiện. 3. 3 V cũng là điện áp bên trong mà tất cả các chân GPIO cung cấp
- 5V. Các chân này cung cấp nguồn điện 5 V, giống như đầu vào nguồn USB cấp nguồn cho Raspberry Pi. Một số thành phần, chẳng hạn như cảm biến chuyển động hồng ngoại thụ động, yêu cầu 5 V
- GND. Các chân này cung cấp kết nối đất cho các mạch
- ADV. Các chốt chuyên dụng này là các chốt nâng cao và không được đề cập trong hướng dẫn này
Trong phần tiếp theo, bạn sẽ sử dụng các loại ghim khác nhau này để thiết lập thành phần đầu tiên của mình, nút xúc giác
Nút xúc giác
Đối với mạch đầu tiên của bạn, bạn sẽ kết nối một nút xúc giác với Raspberry Pi. Nút xúc giác là một công tắc điện tử, khi được nhấn sẽ đóng mạch. Khi đóng mạch, Raspberry Pi sẽ đăng ký tín hiệu BẬT. Bạn có thể sử dụng tín hiệu BẬT này để kích hoạt các hành động khác nhau
Trong dự án này, bạn sẽ sử dụng nút xúc giác để chạy các hàm Python khác nhau dựa trên trạng thái của nút. Hãy bắt đầu bằng cách nối nút với Raspberry Pi
- Kết nối dây nhảy từ nữ sang nam từ chân GND của Raspberry Pi với đường ray âm của bảng mạch
- Đặt một nút xúc giác trên máng xối ở giữa breadboard
- Kết nối dây nhảy đực-đực từ đường ray âm của bảng mạch khung với hàng nơi đặt chân dưới bên trái của nút
- Kết nối dây nhảy từ nữ sang nam từ chân GPIO4 của Raspberry Pi với hàng bảng mạch nơi đặt chân dưới bên phải của nút
Bạn có thể xác nhận hệ thống dây điện của mình với sơ đồ bên dưới
Bây giờ bạn đã kết nối mạch của mình, hãy viết mã Python để đọc đầu vào từ nút
Ghi chú. Nếu bạn gặp khó khăn khi tìm một mã pin cụ thể, thì hãy đảm bảo tham khảo tài liệu khi xây dựng mạch của bạn. Bạn cũng có thể mua một bảng đột phá để dễ dàng tạo breadboarding
Bên trong thư mục
$ ssh pi@[IP ADDRESS]
9 mà bạn đã tạo trước đó, hãy lưu một tệp mới có tên là $ ssh pi@[IP ADDRESS]
09. Nếu bạn đang sử dụng SSH để truy cập Raspberry Pi của mình, thì hãy tạo tệp như thế này$ ssh pi@[IP ADDRESS]
1Nếu bạn đang sử dụng Mu thì hãy tạo tệp theo các bước sau
- Nhấp vào mục menu Mới
- Nhấp vào để lưu
- Điều hướng đến thư mục
30$ ssh pi@[IP ADDRESS]
- Lưu tệp dưới dạng
09$ ssh pi@[IP ADDRESS]
Với tệp được tạo, bạn đã sẵn sàng để bắt đầu mã hóa. Bắt đầu bằng cách nhập lớp
$ ssh pi@[IP ADDRESS]
32 từ mô-đun $ ssh pi@[IP ADDRESS]
33. Bạn cũng sẽ cần nhập $ ssh pi@[IP ADDRESS]
34 từ mô-đun $ ssh pi@[IP ADDRESS]
35. Bạn sẽ xem lý do tại sao bạn cần $ ssh pi@[IP ADDRESS]
34 sau$ ssh pi@[IP ADDRESS]
2Tạo một thể hiện của lớp
$ ssh pi@[IP ADDRESS]
32 và chuyển số pin làm tham số. Trong trường hợp này, bạn đang sử dụng chân GPIO4, vì vậy bạn sẽ chuyển vào thông số $ ssh pi@[IP ADDRESS]
38$ ssh pi@[IP ADDRESS]
3Tiếp theo, xác định các chức năng sẽ được gọi cho các sự kiện nút khác nhau có sẵn trên phiên bản
$ ssh pi@[IP ADDRESS]
32$ ssh pi@[IP ADDRESS]
4Lớp
$ ssh pi@[IP ADDRESS]
32 có ba thuộc tính sự kiện. $ ssh pi@[IP ADDRESS]
61, $ ssh pi@[IP ADDRESS]
62 và $ ssh pi@[IP ADDRESS]
63. Các thuộc tính này có thể được sử dụng để kết nối các chức năng sự kiện khác nhauMặc dù thuộc tính
$ ssh pi@[IP ADDRESS]
61 và $ ssh pi@[IP ADDRESS]
63 có thể tự giải thích, nhưng $ ssh pi@[IP ADDRESS]
62 yêu cầu giải thích ngắn gọn. Nếu một chức năng được đặt thành thuộc tính $ ssh pi@[IP ADDRESS]
62, thì nó sẽ chỉ được gọi nếu nút được nhấn và giữ trong một khoảng thời gian nhất địnhThời gian giữ cho
$ ssh pi@[IP ADDRESS]
62 được xác định bởi thuộc tính $ ssh pi@[IP ADDRESS]
69 trên phiên bản $ ssh pi@[IP ADDRESS]
32. Giá trị mặc định cho $ ssh pi@[IP ADDRESS]
69 là một giây. Bạn có thể ghi đè giá trị này bằng cách chuyển giá trị $ ssh pi@[IP ADDRESS]
02 khi tạo phiên bản $ ssh pi@[IP ADDRESS]
32$ ssh pi@[IP ADDRESS]
5Thao tác này sẽ tạo một phiên bản
$ ssh pi@[IP ADDRESS]
32 sẽ đợi hai giây rưỡi sau khi nhấn và giữ nút trước khi gọi hàm $ ssh pi@[IP ADDRESS]
05Bây giờ bạn đã biết về các thuộc tính sự kiện khác nhau trên
$ ssh pi@[IP ADDRESS]
32, hãy đặt từng thuộc tính này thành các chức năng tương ứng mà bạn đã xác định trước đó$ ssh pi@[IP ADDRESS]
6Tuyệt vời. Bạn đã thiết lập các sự kiện nút của mình. Điều cuối cùng bạn cần làm là gọi
$ ssh pi@[IP ADDRESS]
07 ở cuối tệp. Gọi $ ssh pi@[IP ADDRESS]
07 là cần thiết để giữ cho chương trình lắng nghe các sự kiện khác nhau. Nếu điều này không xuất hiện, thì chương trình sẽ chạy một lần và thoátChương trình cuối cùng của bạn sẽ trông như thế này
$ ssh pi@[IP ADDRESS]
7Khi đã hoàn tất việc đi dây và thiết lập mã, bạn đã sẵn sàng để thử mạch đầu tiên của mình. Bên trong thư mục
$ ssh pi@[IP ADDRESS]
9, chạy chương trình$ ssh pi@[IP ADDRESS]
8Nếu bạn đang sử dụng My, trước tiên hãy đảm bảo rằng tệp đã được lưu, sau đó nhấp vào Chạy để bắt đầu chương trình
Chương trình hiện đang chạy và lắng nghe các sự kiện. Nhấn nút và bạn sẽ thấy thông tin sau trong bảng điều khiển
$ ssh pi@[IP ADDRESS]
9Nhấn và giữ nút trong ít nhất một giây và bạn sẽ thấy đầu ra sau
pi@raspberrypi:~ $
0Cuối cùng, khi bạn nhả nút, bạn sẽ thấy như sau
pi@raspberrypi:~ $
1Thật tuyệt vời. Bạn vừa kết nối và mã hóa mạch đầu tiên của mình bằng Python trên Raspberry Pi
Vì bạn đã sử dụng
$ ssh pi@[IP ADDRESS]
07 trong mã của mình nên bạn cần dừng chương trình theo cách thủ công. Nếu đang chạy chương trình trong Mu thì bạn có thể bấm Stop để thoát chương trình. Nếu bạn đang chạy chương trình này từ dòng lệnh thì bạn có thể dừng chương trình bằng Ctrl + C.Với mạch đầu tiên này, bạn đã sẵn sàng bắt đầu điều khiển một số thành phần khác
Loại bỏ các quảng cáoDẪN ĐẾN
Đối với mạch tiếp theo, bạn sẽ sử dụng Python để bật và tắt đèn LED nhấp nháy mỗi giây. LED là viết tắt của đi-ốt phát quang và các thành phần này tạo ra ánh sáng khi có dòng điện chạy qua. Bạn sẽ thấy rằng chúng được sử dụng ở mọi nơi trong ngành điện tử
Mỗi đèn LED có hai chân. Chân dài hơn là chân dương hoặc cực dương. Dòng điện đi vào LED thông qua chân này. Chân ngắn hơn là chân âm hoặc cực âm. Dòng ra khỏi LED qua chân này
Dòng điện chỉ có thể chạy theo một hướng qua đèn LED, vì vậy hãy đảm bảo rằng bạn đang kết nối dây nhảy với chân thích hợp của đèn LED
Dưới đây là các bước bạn cần thực hiện để nối dây mạch này
Kết nối dây nhảy từ nữ sang nam từ chân GND của Raspberry Pi với đường ray âm của bảng mạch
Đặt một đèn LED vào hai lỗ trên breadboard cạnh nhau nhưng không cùng hàng
Đặt chân dương, dài hơn của đèn LED vào lỗ ở bên phải
Đặt chân âm, ngắn hơn của đèn LED vào lỗ ở bên trái
Đặt một đầu của điện trở 330 Ω vào một lỗ trên cùng một hàng của breadboard với chân âm của đèn LED
Đặt đầu kia của điện trở vào đường ray âm của breadboard
Kết nối dây nhảy từ nữ sang nam từ chân GPIO4 của Raspberry Pi với một lỗ trên cùng hàng bảng mạch với chân dương của đèn LED
Bạn có thể xác nhận hệ thống dây điện của mình với sơ đồ bên dưới
Nếu hệ thống dây điện có vẻ tốt, thì bạn đã sẵn sàng để viết một số Python để đèn LED nhấp nháy. Bắt đầu bằng cách tạo một tệp cho mạch này bên trong thư mục
$ ssh pi@[IP ADDRESS]
9. Gọi tệp này là $ ssh pi@[IP ADDRESS]
12pi@raspberrypi:~ $
2Trong mã này, bạn sẽ tạo một thể hiện của lớp
$ ssh pi@[IP ADDRESS]
13 và gọi phương thức $ ssh pi@[IP ADDRESS]
14 của nó để bật và tắt đèn LED. Phương thức $ ssh pi@[IP ADDRESS]
14 có thời gian chờ mặc định là một giây. Đèn LED sẽ tiếp tục nhấp nháy bật và tắt mỗi giây cho đến khi thoát khỏi chương trìnhBắt đầu bằng cách nhập
$ ssh pi@[IP ADDRESS]
13 từ mô-đun $ ssh pi@[IP ADDRESS]
33 và $ ssh pi@[IP ADDRESS]
34 từ mô-đun $ ssh pi@[IP ADDRESS]
35pi@raspberrypi:~ $
3Tiếp theo, tạo một thể hiện của
$ ssh pi@[IP ADDRESS]
13 có tên là $ ssh pi@[IP ADDRESS]
21. Đặt chân GPIO thành $ ssh pi@[IP ADDRESS]
38pi@raspberrypi:~ $
4Gọi phương thức
$ ssh pi@[IP ADDRESS]
14 trên $ ssh pi@[IP ADDRESS]
21pi@raspberrypi:~ $
5Cuối cùng, thêm lệnh gọi tới
$ ssh pi@[IP ADDRESS]
07 để đảm bảo chương trình không thoátpi@raspberrypi:~ $
6Chương trình hoàn chỉnh của bạn sẽ trông như thế này
pi@raspberrypi:~ $
7Lưu tệp và chạy nó để xem đèn LED nhấp nháy và tắt
pi@raspberrypi:~ $
8Đèn LED hiện sẽ nhấp nháy và tắt mỗi giây. Khi bạn đã hoàn tất việc chiêm ngưỡng mã Python của mình đang hoạt động, hãy dừng chương trình bằng Ctrl + C or Stop in Mu.
Bây giờ bạn đã biết cách điều khiển đèn LED bằng Python trên Raspberry Pi. Đối với mạch tiếp theo, bạn sẽ sử dụng Python để tạo âm thanh từ Raspberry Pi
Loại bỏ các quảng cáocòi
Trong mạch này, bạn sẽ nối một bộ rung áp điện đang hoạt động với Raspberry Pi. Bộ rung áp điện phát ra âm báo khi có dòng điện chạy qua. Sử dụng thành phần này, Raspberry Pi của bạn sẽ có thể tạo ra âm thanh
Giống như đèn LED, còi có chân dương và chân âm. Chân dương của còi sẽ dài hơn chân âm hoặc sẽ có dấu dương [
$ ssh pi@[IP ADDRESS]
06] trên đầu còi cho biết chân nào là chân dươngHãy tiếp tục và nối dây cho còi
Đặt bộ rung trên breadboard, lưu ý vị trí của chân dương của bộ rung
Kết nối dây nhảy từ nữ sang nam từ chân GND của Raspberry Pi với một lỗ trên cùng hàng bảng mạch với chân âm của bộ rung
Kết nối dây nhảy từ nữ sang nam từ chân GPIO4 của Raspberry Pi với một lỗ trên cùng hàng bảng mạch với chân dương của bộ rung
Xác nhận hệ thống dây điện của bạn dựa trên sơ đồ bên dưới
Với hệ thống dây điện được thiết lập, hãy chuyển sang mã. Tạo một tệp cho mạch này bên trong thư mục
$ ssh pi@[IP ADDRESS]
9. Gọi tệp này là $ ssh pi@[IP ADDRESS]
28pi@raspberrypi:~ $
9Trong mã này, bạn sẽ tạo một thể hiện của lớp
$ ssh pi@[IP ADDRESS]
29 và gọi nó là phương thức $ ssh pi@[IP ADDRESS]
30 để bật và tắt tiếng bíp. Hai tham số đầu tiên của phương thức $ ssh pi@[IP ADDRESS]
30 là $ ssh pi@[IP ADDRESS]
32 và $ ssh pi@[IP ADDRESS]
33. Các tham số này lấy giá trị $ ssh pi@[IP ADDRESS]
02 để đặt thời gian bật và tắt tiếng bíp. Giá trị mặc định cho cả hai là một giâyBắt đầu bằng cách nhập
$ ssh pi@[IP ADDRESS]
29 từ mô-đun $ ssh pi@[IP ADDRESS]
33 và $ ssh pi@[IP ADDRESS]
34 từ mô-đun $ ssh pi@[IP ADDRESS]
35pi@raspberrypi:~ $ python3
0Tiếp theo, tạo một thể hiện của
$ ssh pi@[IP ADDRESS]
29 có tên là $ ssh pi@[IP ADDRESS]
40. Đặt chân GPIO thành $ ssh pi@[IP ADDRESS]
38pi@raspberrypi:~ $ python3
1Gọi phương thức
$ ssh pi@[IP ADDRESS]
30 trên $ ssh pi@[IP ADDRESS]
40. Đặt tham số $ ssh pi@[IP ADDRESS]
32 và $ ssh pi@[IP ADDRESS]
33 thành $ ssh pi@[IP ADDRESS]
46. Điều này sẽ làm cho còi kêu bíp nửa giây một lầnpi@raspberrypi:~ $ python3
2Cuối cùng, thêm lệnh gọi tới
$ ssh pi@[IP ADDRESS]
07 để đảm bảo chương trình không thoátpi@raspberrypi:~ $
6Chương trình hoàn chỉnh của bạn sẽ trông như thế này
pi@raspberrypi:~ $ python3
4Lưu tệp và chạy tệp để nghe tiếng bíp bật và tắt sau mỗi nửa giây
pi@raspberrypi:~ $ python3
5Bạn sẽ nghe thấy âm thanh còi bật và tắt cho đến khi dừng chương trình bằng Ctrl + C . or Stop in Mu.
Ghi chú. Nếu bạn đang sử dụng Mu, thì có khả năng khi bạn dừng chương trình, âm báo sẽ tiếp tục. Để ngăn âm thanh, hãy tháo dây GND để ngắt mạch
Bạn cũng có thể phải khởi động lại Mu nếu âm thanh vẫn tiếp tục khi bạn kết nối lại dây GND
Tuyệt quá. Cho đến nay, bạn đã học cách điều khiển ba loại linh kiện điện tử khác nhau bằng Python trên Raspberry Pi. Đối với mạch tiếp theo, chúng ta hãy xem xét một thành phần phức tạp hơn một chút
Loại bỏ các quảng cáocảm biến chuyển động
Trong mạch này, bạn sẽ kết nối cảm biến chuyển động hồng ngoại thụ động [PIR] với Raspberry Pi. Cảm biến chuyển động hồng ngoại thụ động phát hiện bất kỳ chuyển động nào trong tầm nhìn của nó và gửi tín hiệu trở lại Raspberry Pi
Điều chỉnh cảm biến
Khi sử dụng cảm biến chuyển động, bạn có thể cần điều chỉnh độ nhạy của cảm biến với chuyển động và khoảng thời gian cảm biến sẽ gửi tín hiệu sau khi phát hiện chuyển động
Bạn có thể thực hiện điều chỉnh bằng cách sử dụng hai nút xoay ở bên cạnh cảm biến. Bạn sẽ biết chúng là mặt số nào vì chúng sẽ có một vết lõm hình chữ thập ở giữa, có thể điều chỉnh vết lõm này bằng tuốc nơ vít đầu Phillips
Hình ảnh bên dưới hiển thị các mặt số này ở mặt bên của cảm biến chuyển động
Như hình ảnh hiển thị, nút xoay bên trái đặt thời gian chờ tín hiệu và nút xoay bên phải đặt độ nhạy của cảm biến. Bạn có thể xoay các mặt số này theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ để điều chỉnh chúng
- Theo chiều kim đồng hồ tăng thời gian chờ và độ nhạy
- Ngược chiều kim đồng hồ giảm thời gian chờ và độ nhạy
Bạn có thể điều chỉnh những thứ này dựa trên nhu cầu dự án của mình, nhưng đối với hướng dẫn này, hãy xoay cả hai mặt số ngược chiều kim đồng hồ. Điều này sẽ đặt chúng thành giá trị thấp nhất của chúng
Ghi chú. Đôi khi, cảm biến chuyển động và Raspberry Pi 3 sẽ không hoạt động chính xác cùng nhau. Điều này dẫn đến thỉnh thoảng dương tính giả từ cảm biến
Nếu bạn đang sử dụng Raspberry Pi 3, hãy đảm bảo di chuyển cảm biến càng xa Raspberry Pi càng tốt
Khi bạn đã điều chỉnh cảm biến chuyển động, bạn đã sẵn sàng thiết lập hệ thống dây điện. Thiết kế của cảm biến chuyển động không cho phép nó dễ dàng kết nối với breadboard. Bạn sẽ cần kết nối trực tiếp các chân GPIO của Raspberry Pi với các chân trên cảm biến chuyển động bằng dây nhảy
Hình ảnh bên dưới cho thấy vị trí của các chốt ở mặt dưới của cảm biến chuyển động
Bạn có thể thấy có ba chân
- VCC cho điện áp
- OUT để giao tiếp với Raspberry Pi
- GND cho mặt đất
Sử dụng các chân này, bạn cần thực hiện các bước sau
- Kết nối dây nhảy từ nữ sang nữ từ chân 5V của Raspberry Pi với chân VCC của cảm biến
- Kết nối dây nhảy từ nữ sang nữ từ chân GPIO4 của Raspberry Pi với chân OUT của cảm biến
- Kết nối dây nhảy từ nữ sang nữ từ chân GND của Raspberry Pi với chân GND của cảm biến
Bây giờ hãy xác nhận hệ thống dây điện với sơ đồ bên dưới
Với cảm biến chuyển động được điều chỉnh và kết nối với Raspberry PI, chúng ta hãy xem mã Python để phát hiện chuyển động. Bắt đầu bằng cách tạo một tệp cho mạch này bên trong thư mục
$ ssh pi@[IP ADDRESS]
9. Gọi tệp này là $ ssh pi@[IP ADDRESS]
49pi@raspberrypi:~ $ python3
6Mã cho mạch này sẽ giống với mã bạn đã tạo trước đó. Bạn sẽ tạo một thể hiện của lớp
$ ssh pi@[IP ADDRESS]
50 và chuyển vào số pin GPIO $ ssh pi@[IP ADDRESS]
38 làm tham số. Sau đó, bạn sẽ xác định hai hàm và đặt chúng thành các thuộc tính $ ssh pi@[IP ADDRESS]
52 và $ ssh pi@[IP ADDRESS]
53 trên phiên bản $ ssh pi@[IP ADDRESS]
50Hãy xem mã
pi@raspberrypi:~ $ python3
7$ ssh pi@[IP ADDRESS]
55 được đặt thành thuộc tính $ ssh pi@[IP ADDRESS]
52 và được gọi khi cảm biến phát hiện chuyển động. $ ssh pi@[IP ADDRESS]
57 được đặt thành thuộc tính $ ssh pi@[IP ADDRESS]
53 và được gọi khi chuyển động đã dừng trong một khoảng thời gian nhất định. Thời gian này được xác định bởi mặt bên của cảm biếnBạn sẽ nhận thấy rằng trước khi các thuộc tính
$ ssh pi@[IP ADDRESS]
52 và $ ssh pi@[IP ADDRESS]
53 được thiết lập, sẽ có một lệnh gọi tới $ ssh pi@[IP ADDRESS]
61 trên đối tượng $ ssh pi@[IP ADDRESS]
50. Phương pháp này sẽ tạm dừng việc thực thi mã cho đến khi cảm biến chuyển động không còn phát hiện bất kỳ chuyển động nào nữa. Điều này là để cảm biến sẽ bỏ qua bất kỳ chuyển động ban đầu nào có thể xảy ra khi chương trình đang khởi độngGhi chú. Cảm biến chuyển động đôi khi có thể quá nhạy hoặc không đủ nhạy. Nếu bạn thấy kết quả không nhất quán trong bảng điều khiển khi chạy mã ở trên, thì hãy đảm bảo kiểm tra xem mọi thứ có được nối dây chính xác không. Bạn cũng có thể cần điều chỉnh đĩa lệnh độ nhạy trên cảm biến của mình
Nếu kết quả của bạn bị chậm trong bảng điều khiển, thì hãy thử điều chỉnh thuộc tính
$ ssh pi@[IP ADDRESS]
63 trên phiên bản $ ssh pi@[IP ADDRESS]
50. Giá trị mặc định là 0. 5pi@raspberrypi:~ $ python3
8Điều này sẽ làm giảm số lượng chuyển động cần thiết để làm cho cảm biến hoạt động. Để biết thêm thông tin về lớp
$ ssh pi@[IP ADDRESS]
50, xemLưu mã và chạy nó để thử mạch phát hiện chuyển động của bạn
pi@raspberrypi:~ $ python3
9Vẫy tay trước cảm biến. Khi phát hiện chuyển động lần đầu tiên,
$ ssh pi@[IP ADDRESS]
55 được gọi và phần sau được hiển thị trong bảng điều khiển>>> print["Hello from your Raspberry Pi!"]
Hello from your Raspberry Pi!
0Bây giờ hãy ngừng vẫy tay trước cảm biến. Sau một vài giây, thông tin sau sẽ được hiển thị
>>> print["Hello from your Raspberry Pi!"]
Hello from your Raspberry Pi!
1Tuyệt vời. Bây giờ bạn có thể phát hiện chuyển động với Raspberry Pi của mình. Khi bạn vẫy tay với Raspberry Pi xong, hãy tiếp tục và nhấn Ctrl + C in the command line or press Stop in Mu to terminate the program.
Với mạch cuối cùng này, bạn đã học cách sử dụng Python trên Raspberry Pi để điều khiển bốn thành phần khác nhau. Trong phần tiếp theo, bạn sẽ kết hợp tất cả những điều này lại với nhau trong một dự án đầy đủ
Xây dựng hệ thống báo động kích hoạt chuyển động
Bây giờ bạn đã có cơ hội kết nối Raspberry Pi với nhiều đầu vào và đầu ra khác nhau, bạn sẽ tạo một dự án sử dụng những gì bạn đã học được cho đến nay
Trong dự án này, bạn sẽ xây dựng một hệ thống báo động được kích hoạt bằng chuyển động sẽ nhấp nháy đèn LED và phát âm thanh báo động khi phát hiện chuyển động trong phòng. Trên hết, bạn sẽ sử dụng Python để lưu dấu thời gian vào tệp CSV nêu chi tiết mỗi lần chuyển động xảy ra
hệ thống dây điện
Dưới đây là các bước để hoàn thành hệ thống dây điện
Kết nối dây nhảy nữ-nam từ các chân 5V và GND của Raspberry Pi với các đường ray dương và âm ở mặt bên của bảng mạch
Đặt một đèn LED trên breadboard và kết nối chân GPIO14 của Raspberry Pi với đèn LED bằng dây nhảy từ nữ sang nam
Nối chân âm của đèn LED với chân âm của breadboard thông qua điện trở 330 Ω
Đặt một bộ rung trên breadboard và kết nối chân GPIO15 của Raspberry Pi với bộ rung bằng dây nhảy từ nữ sang nam
Kết nối chân âm của còi với thanh âm của bảng mạch khung bằng dây nhảy đực-đực
Kết nối dây nhảy từ đầu cái sang đầu đực từ đường ray dương của bảng mạch khung với chân VCC của cảm biến
Kết nối dây nhảy từ nữ sang nữ từ chân GPIO4 của Raspberry Pi với chân OUT của cảm biến
Kết nối dây nhảy từ đầu cái sang đầu đực từ đường ray âm của bảng mạch khung với chân GND của cảm biến
Xác nhận nối dây theo sơ đồ bên dưới
Được rồi, bây giờ bạn đã kết nối mạch, hãy tìm hiểu mã Python để thiết lập hệ thống báo động kích hoạt chuyển động của bạn
Mã số
Như thường lệ, hãy bắt đầu bằng cách tạo một tệp cho dự án này bên trong thư mục
$ ssh pi@[IP ADDRESS]
9. Đối với dự án này, hãy gọi tệp này là $ ssh pi@[IP ADDRESS]
68>>> print["Hello from your Raspberry Pi!"]
Hello from your Raspberry Pi!
2Điều đầu tiên bạn muốn làm là nhập mô-đun
$ ssh pi@[IP ADDRESS]
69 để bạn có thể lưu dấu thời gian khi phát hiện chuyển động. Ngoài ra, hãy nhập $ ssh pi@[IP ADDRESS]
70 từ mô-đun $ ssh pi@[IP ADDRESS]
71 để bạn có thể tham khảo tệp CSV của mình>>> print["Hello from your Raspberry Pi!"]
Hello from your Raspberry Pi!
3Tiếp theo, nhập
$ ssh pi@[IP ADDRESS]
72 từ mô-đun $ ssh pi@[IP ADDRESS]
72 để bạn có thể tạo dấu thời gian của sự kiện chuyển động>>> print["Hello from your Raspberry Pi!"]
Hello from your Raspberry Pi!
4Cuối cùng, nhập các lớp thành phần bắt buộc từ
$ ssh pi@[IP ADDRESS]
33 cũng như $ ssh pi@[IP ADDRESS]
34 từ mô-đun $ ssh pi@[IP ADDRESS]
35>>> print["Hello from your Raspberry Pi!"]
Hello from your Raspberry Pi!
5Khi đã sẵn sàng nhập, bạn có thể thiết lập ba thành phần điện tử mà bạn sẽ sử dụng. Tạo các thể hiện của các lớp
$ ssh pi@[IP ADDRESS]
13, $ ssh pi@[IP ADDRESS]
29 và $ ssh pi@[IP ADDRESS]
50. Đối với mỗi trong số này, hãy nhập số pin của chúng dưới dạng tham số>>> print["Hello from your Raspberry Pi!"]
Hello from your Raspberry Pi!
6Tiếp theo, xác định vị trí của tệp CSV sẽ lưu trữ dấu thời gian mỗi khi phát hiện chuyển động. Bạn sẽ gọi nó là
$ ssh pi@[IP ADDRESS]
80. Tạo một từ điển để giữ các giá trị dấu thời gian sẽ được ghi vào CSV>>> print["Hello from your Raspberry Pi!"]
Hello from your Raspberry Pi!
7Tạo phương thức lưu dữ liệu dấu thời gian vào tệp CSV. Khi tệp được tạo lần đầu tiên, một hàng tiêu đề sẽ được thêm vào
>>> print["Hello from your Raspberry Pi!"]
Hello from your Raspberry Pi!
8Định nghĩa hàm
$ ssh pi@[IP ADDRESS]
81. Chức năng này sẽ có một số hành vi- Bắt đầu nhấp nháy bật và tắt
21 cứ sau nửa giây$ ssh pi@[IP ADDRESS]
- Tạo tiếng bíp
40$ ssh pi@[IP ADDRESS]
- Lưu dấu thời gian
84 vào từ điển$ ssh pi@[IP ADDRESS]
85$ ssh pi@[IP ADDRESS]
Thêm lệnh gọi tới
$ ssh pi@[IP ADDRESS]
86 để bạn có thể xem các sự kiện xảy ra khi chương trình đang chạy>>> print["Hello from your Raspberry Pi!"]
Hello from your Raspberry Pi!
9Sau đó, xác định hàm
$ ssh pi@[IP ADDRESS]
87 sẽ có các hành vi sau- Tắt
21 và$ ssh pi@[IP ADDRESS]
40$ ssh pi@[IP ADDRESS]
- Lưu dấu thời gian
90$ ssh pi@[IP ADDRESS]
- Gọi
91 để lưu dữ liệu chuyển động vào tệp CSV$ ssh pi@[IP ADDRESS]
- Đặt lại từ điển
85$ ssh pi@[IP ADDRESS]
Bạn cũng sẽ kiểm tra xem có tồn tại giá trị
$ ssh pi@[IP ADDRESS]
93 hay không trước khi chạy bất kỳ mã nào khác. Bạn chỉ muốn ghi vào CSV nếu dấu thời gian $ ssh pi@[IP ADDRESS]
84 đã được ghi lại$ ssh pi@[IP ADDRESS]
0Thêm lệnh gọi tới
$ ssh pi@[IP ADDRESS]
61 để bỏ qua mọi chuyển động ban đầu$ ssh pi@[IP ADDRESS]
1Đặt thuộc tính
$ ssh pi@[IP ADDRESS]
52 và $ ssh pi@[IP ADDRESS]
53 trên phiên bản $ ssh pi@[IP ADDRESS]
50$ ssh pi@[IP ADDRESS]
2Cuối cùng, kết thúc mã bằng lệnh gọi tới
$ ssh pi@[IP ADDRESS]
07 để chương trình tiếp tục chạy. Mã Python đầy đủ sẽ trông như thế này$ ssh pi@[IP ADDRESS]
3Lưu tệp và chạy nó để kiểm tra cảnh báo phát hiện chuyển động mới của bạn
$ ssh pi@[IP ADDRESS]
4Bây giờ nếu bạn vẫy tay trước bộ phát hiện chuyển động, thì tiếng còi sẽ bắt đầu phát ra tiếng bíp và đèn LED sẽ nhấp nháy. Nếu bạn dừng di chuyển trong vài giây, thì báo thức sẽ dừng. Trong bảng điều khiển, bạn sẽ thấy như sau
$ ssh pi@[IP ADDRESS]
5Hãy tiếp tục và dừng chương trình bằng Stop in Mu hoặc Ctrl + C. Let’s check out the CSV file that was generated:
$ ssh pi@[IP ADDRESS]
6Như bạn có thể thấy, dấu thời gian cho chuyển động của
$ ssh pi@[IP ADDRESS]
84 và $ ssh pi@[IP ADDRESS]
90 đã được thêm vào tệp CSVXin chúc mừng. Bạn đã tạo một dự án điện tử không tầm thường với Python trên Raspberry Pi
Bước tiếp theo
Bạn không cần phải dừng lại ở đây. Có nhiều cách bạn có thể cải thiện dự án này bằng cách tận dụng khả năng của Python trên Raspberry Pi
Dưới đây là một số cách để tăng cấp dự án này
Kết nối Mô-đun máy ảnh Raspberry Pi và chụp ảnh bất cứ khi nào phát hiện chuyển động
Kết nối loa với Raspberry Pi và sử dụng để phát tệp âm thanh nhằm đe dọa kẻ xâm nhập
Thêm một nút vào mạch để cho phép người dùng bật hoặc tắt tính năng phát hiện chuyển động theo cách thủ công
Có nhiều cách để nâng cấp dự án này. Hãy cho chúng tôi biết những gì bạn nghĩ ra
Phần kết luận
Raspberry Pi là một thiết bị điện toán tuyệt vời ngày càng tốt hơn. Nó được tích hợp nhiều tính năng giúp nó trở thành thiết bị phù hợp cho điện toán vật lý
Trong hướng dẫn này, bạn đã học cách
- Thiết lập Raspberry Pi và chạy mã Python trên đó
- Đọc đầu vào từ các cảm biến
- Gửi đầu ra đến các linh kiện điện tử
- Xây dựng một dự án thú vị bằng Python trên Raspberry Pi
Python là sự bổ sung hoàn hảo cho Raspberry Pi và với những kỹ năng bạn đã học được, bạn đã sẵn sàng để giải quyết các dự án điện toán vật lý thú vị và sáng tạo. Chúng tôi nóng lòng muốn nghe những gì bạn xây dựng
Đánh dấu là đã hoàn thành
🐍 Thủ thuật Python 💌
Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python
Gửi cho tôi thủ thuật Python »
Giới thiệu về Jason Van Schooneveld
Jason là một nhà phát triển phần mềm có trụ sở tại Đài Bắc. Khi anh ấy không mày mò thiết bị điện tử hoặc xây dựng ứng dụng web Django, bạn có thể thấy anh ấy đi bộ đường dài trên những ngọn núi ở Đài Loan hoặc học tiếng Trung.
» Thông tin thêm về JasonMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là
Aldren
David
Geir Arne
Joanna
Gia-cốp
Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia
Nâng cao kỹ năng Python của bạn »
Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia
Nâng cao kỹ năng Python của bạn »
Bạn nghĩ sao?
Đánh giá bài viết này
Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?
Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi