Hướng dẫn python hardware projects - dự án phần cứng python

Raspberry Pi là một trong những ban đ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 sinh viên học tập để lập trình lần đầu tiên, mọi người sử dụng Raspberry Pi mỗi ngày để tương tác với thế giới xung quanh. Python được xây dựng trên Raspberry Pi, vì vậy bạn có thể thực hiện 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 bạn ngay hôm nay.

Trong hướng dẫn này, bạn sẽ học cách:

  • Thiết lập một Raspberry Pi mớiRaspberry Pi
  • Chạy Python trên Raspberry Pi bằng Trình chỉnh sửa MU hoặc từ xa qua SSHMu editor or remotely over SSH
  • Đọc đầu vào từ các cảm biến vật lý được kết nối với Raspberry Piphysical sensors connected to the Raspberry Pi
  • Gửi đầu ra đến các thành phần bên ngoài bằng Pythonexternal components using Python
  • Tạo các dự án độc đáo với Python trên Raspberry Pi

Bắt đầu nào!

Làm quen với Raspberry Pi

Raspberry Pi là một máy tính một bảng đượ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. Được thiết kế ban đầu để cung cấp cho những người trẻ tuổi một tùy chọn điện toán giá cả phải chăng để tìm hiểu cách lập trình, nó đã phát triển một lượng lớn trong các cộng đồng nhà sản xuất và DIY vì kích thước nhỏ gọn của nó, môi trường Linux đầy đủ và các PIN đầu ra mục đích chung (GPIO) .GPIO) pins.

Với tất cả các tính năng và khả năng được đóng gói vào bảng 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 theo dõi
  • Trạm thời tiết nhà
  • Máy chơi game retro
  • 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 nút
  • Trung tâm Truyền thông
  • Các thí nghiệm từ xa trên Trạm vũ trụ quốc tế

Nếu bạn có thể nghĩ về một dự án có lợi từ việc có một máy tính có kích thước thẻ tín dụng được gắn vào nó, thì có lẽ ai đó đã sử dụng Raspberry Pi để làm điều đó. Raspberry Pi là một cách tuyệt vời để đưa các ý tưởng dự án Python của bạn vào cuộc sống.

Tổng quan về Board Pi Raspberry

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 gần đây nhất, Raspberry Pi 4.

Dưới đây là bố cục bảng của Raspberry Pi 4. Mặc dù bố cục này hơi khác so với các mô hình trước đây của Raspberry Pi, 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:

Hướng dẫn python hardware projects - dự án phần cứng python

Bảng Raspberry Pi 4 chứa các thành phần sau:

  • Các chân đầu vào đầu vào có mục đích chung: Các chân này được sử dụng để kết nối Raspberry Pi với các thành phần điện tử. These pins are used to connect the Raspberry Pi to electronic components.

  • Cổng Ethernet: Cổng này kết nối Raspberry Pi với mạng có dây. Raspberry Pi cũng có Wi-Fi và Bluetooth tích hợp cho các kết nối không dây. This port connects the Raspberry Pi to a wired network. The Raspberry Pi also has Wi-Fi and Bluetooth built in for wireless connections.

  • Hai cổng USB 3.0 và hai cổng USB 2.0: 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 đen là USB 2.0 và hai cổng màu xanh là USB 3.0. These USB ports are used to connect peripherals like a keyboard or mouse. The two black ports are USB 2.0 and the two blue ports are USB 3.0.

  • AV Jack: AV Jack này cho phép bạn kết nối loa hoặc tai nghe với Raspberry Pi. This AV jack allows you to connect speakers or headphones to the Raspberry Pi.

  • Cổng mô -đun camera: Cổng này được sử dụng để kết nối mô -đun camera Raspberry Pi chính thức, cho phép Raspberry Pi chụp ảnh. This port is used to connect the official Raspberry Pi Camera Module, which enables the Raspberry Pi to capture images.

  • Các 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ó lái hai màn hình riêng biệt cùng một lúc. These HDMI ports connect the Raspberry Pi to external monitors. The Raspberry Pi 4 features two micro HDMI ports, allowing it to drive two separate monitors at the same time.

  • Cổng nguồn USB: Cổng USB này cung cấp năng lượng cho Raspberry Pi. Raspberry Pi 4 có cổng USB Type-C, trong khi các phiên bản cũ hơn của PI có cổng micro-USB. This USB port powers the Raspberry Pi. The Raspberry Pi 4 has a USB Type-C port, while older versions of the Pi have a micro-USB port.

  • 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. This port is used to connect the official seven-inch Raspberry Pi touch display for touch-based input on the Raspberry Pi.

  • Khe cắm thẻ nhớ microSD (mặt dưới của bảng): 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. This card slot is for the microSD card that contains the Raspberry Pi operating system and files.

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.

Raspberry Pi vs Arduino

Mọi người thường tự hỏi sự khác biệt là gì giữa Raspberry Pi và Arduino. 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ố sự chồng chéo về khả năng của Arduino và Raspberry Pi, có một số khác biệt rõ rệt.

Nền tảng Arduino cung cấp giao diện phần cứng và phần mềm cho các bộ vi điều khiển lập trình. Một vi điều khiển là một mạch tích hợp cho phép bạn đọc đầu vào và gửi đầu ra đến các thành phần điện tử. Các bảng Arduino thường có bộ nhớ hạn chế, vì vậy chúng thường được sử dụng để liên tục chạy 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 dựa trên mục đích chung, 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ộ văn phòng, thiết bị đầu cuối và thậm chí cả Minecraft. Raspberry Pi cũng có Wi-Fi và Bluetooth tích hợp để kết nối vớ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, khi bạn có được một bản cài đặt Python đầy đủ ra khỏi hộp mà không có 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 để chạy 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 yêu cầu nữa.

Phần cứng bắt buộc

Các phần cứng sau đây được yêu cầu cho thiết lập ban đầu của Raspberry Pi. Nếu cuối cùng bạn kết nối với Raspberry Pi qua SSH, mà bạn sẽ xem xét sau này trong hướng dẫn này, 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 đã giành được màn hình sau khi thiết lập. Hãy chắc chắn rằng 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 một 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 một thẻ nhớ microSD riêng biệt, thì bạn sẽ cần phải tự định dạng. Tìm kiếm một thẻ nhớ microSD với công suất ít nhất 16GB.

Bàn phím và chuột

Một bàn phím và chuột USB được yêu cầu trong quá trình thiết lập ban đầu của Raspberry Pi. 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 bạn thích. Sau đó trong 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ì một bàn phím và chuột vật lý không bắt buộc sau khi thiết lập ban đầu.

Cáp HDMI

Bạn sẽ cần một cáp HDMI để kết nối Raspberry Pi với màn hình. Các mô hình Raspberry Pi khác nhau có các yêu cầu cáp HDMI khác nhau:

Raspberry Pi 4Raspberry Pi 3/2/1Raspberry Pi Zero
Micro HDMIHDMIHDMI mini
Micro HDMI đến HDMIHDMI đến HDMIMini HDMI đến HDMI

Tùy thuộc vào mô hình 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 để cung cấp năng lượng cho bảng. Một lần nữa, các mô hình 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 kết nối và sức mạnh cho các mô hình khác nhau:

Raspberry Pi 4Raspberry Pi 3/2/1
Raspberry Pi ZeroMicro HDMI
HDMIHDMI mini

Micro HDMI đến HDMI

HDMI đến HDMI

Mini HDMI đến HDMI

Tùy thuộc vào mô hình 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 để cung cấp năng lượng cho bảng. Một lần nữa, các mô hình 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 kết nối và sức mạnh cho các mô hình khác nhau:

Raspberry Pi 3/2/1/Zero

USB-C

Micro USB

Ít nhất 3.0 amps

Ít nhất 2,5 amps

Để tránh bất kỳ sự nhầm lẫn nào 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 mô hình khác.Raspbian, the officially supported Raspberry Pi operating system, which is based on Debian Linux.

Phần cứng tùy chọn

Bạn có thể sử dụng toàn bộ một loạt các 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ê dưới đây không bắt buộc phải sử dụng Raspberry Pi của bạn nhưng sẽ rất hữu ích khi có trong tay.Raspberry Pi Imager for the initial setup of your SD card. You can download the imager from the Raspberry Pi Downloads page. Once on this page, download the appropriate version for your operating system:

Hướng dẫn python hardware projects - dự án phần cứng python

Trường hợp

Hướng dẫn python hardware projects - dự án phần cứng python

Thật tốt khi có một trường hợp cho Raspberry Pi của bạn để giữ cho các thành phần của nó không bị hư hại trong khi sử dụng bình thường. Khi chọn một trường hợp, hãy đảm bảo rằng bạn mua đúng loại cho mô hình Raspberry Pi.

Với ứng dụng đang chạy, nhấp vào nút Chọn HĐH và chọn tùy chọn Raspbian đầu tiên:

Hướng dẫn python hardware projects - dự án phần cứng python

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 thẻ nhớ microSD của bạn được chèn vào máy tính của bạn và nhấp vào Chọn thẻ SD, sau đó chọn thẻ SD từ menu:

Hướng dẫn python hardware projects - dự án phần cứng python

Với hệ điều hành và thẻ SD được chọn, giờ đây bạn có thể nhấp vào nút ghi để 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:

Hướng dẫn python hardware projects - dự án phần cứng python

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:

Hướng dẫn python hardware projects - dự án phần cứng python

Bạn có thể đẩy thẻ SD ra khỏi máy tính của bạn. 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!

Tùy chọn 2: Cài đặt Raspbian từ Noobs

Nếu vì một lý do nào đó, bạn có thể sử dụng Raspberry Pi Imager, thì bạn có thể tải xuống NOOBS (phần mềm mới ra khỏi hộp) và sử dụng nó để cài đặt Raspbian trên thẻ nhớ microSD. Đầu tiên, hãy đến 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 (New Out Of the Box Software) and use it to install Raspbian on a microSD card. First, head to the NOOBS download page to download the latest version. Click Download ZIP underneath the first NOOBS option:

Hướng dẫn python hardware projects - dự án phần cứng python

Noobs sẽ bắt đầu tải xuống trên hệ thống của bạn.

Khi tệp zip đã được tải xuống, 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ẽ sao chép các tệp này vào thẻ SD trong thời gian ngắn, nhưng trước tiên bạn cần định dạng đúng thẻ SD.

Bạn sẽ sử dụng định dạng thẻ nhớ SD chính thức từ Hiệp hội SD. Đi đến trang web của Hiệp hội SD để tải về định dạng. Cuộn xuống phía dưới và tải xuống SD Formatter cho Windows hoặc MacOS:SD Memory Card Formatter from the SD Association. Head to the SD Association website to download the formatter. Scroll to the bottom and download the SD formatter for either Windows or macOS:

Hướng dẫn python hardware projects - dự án phần cứng python

Khi định dạng thẻ bộ 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.

Sau khi tải xuống SD Formatter, hãy mở ứng dụng. Để định dạng thẻ SD, bạn sẽ cần phải làm như sau:

  1. Chèn thẻ SD vào máy tính của bạn.
  2. Chọn thẻ SD từ menu Dropdown Thẻ chọn.
  3. Nhấp vào tùy chọn Định dạng nhanh trong các tùy chọn định dạng.
  4. Nhập NOOBS vào trường văn bản nhãn Volume.

Khi các mục trên hoàn tất, nhấp vào Định dạng:

Hướng dẫn python hardware projects - dự án phần cứng python

Trước khi định dạng thẻ, bạn sẽ được yêu cầu xác nhận thao tác, vì nó 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 thành định dạng:

Hướng dẫn python hardware projects - dự án phần cứng python

Khi định dạng đã hoàn tất, bạn sẽ 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 đã trích xuất trước đó:

Hướng dẫn python hardware projects - dự án phần cứng python

Kéo chúng vào thẻ SD:

Hướng dẫn python hardware projects - dự án phần cứng python

Bây giờ bạn đã cài đặt noobs trên thẻ SD của bạn, đẩy 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.

Thiết lập cuối cùng

Bây giờ bạn đã có thẻ nhớ microSD và phần cứng bắt buộc đã sẵn sàng, 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:

  1. Chèn thẻ nhớ microSD vào khe cắm thẻ ở dưới cùng của Raspberry Pi.
  2. Kết nối bàn phím và chuột với bất kỳ cổng USB nào.
  3. Kết nối màn hình với một trong các cổng HDMI bằng cáp HDMI cụ thể cho mô hình Raspberry Pi của bạn.
  4. 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à cung cấp năng lượng cho 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ì không có gì khác để bạn làm. Bạn có thể bỏ qua phần tiếp theo để hoàn thành thiết lập.

Nếu bạn đã cài đặt NOOBS trên thẻ SD của mình, thì bạn sẽ cần hoàn thành thêm một vài bước để cài đặt Raspbian trên thẻ SD:

  1. Đầu tiên, nguồn điện trên Raspberry Pi để tải giao diện NOOBS.
  2. Sau đó, kiểm tra hộp kiểm bên cạnh tùy chọn Raspbian trong danh sách phần mềm để cài đặt.
  3. Cuối cùng, nhấp vào nút Cài đặt ở góc trên cùng bên trái của giao diện để bắt đầu cài đặt Raspbian trên thẻ SD.

Sau khi 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 thành trình hướng dẫn thiết lập.

Trình hướng dẫn thiết lập

Trong lần khởi động đầu tiên, Raspbian cung cấp một trình hướng dẫn thiết lập để giúp bạn định cấu hình mật khẩu của mình, đặt locale của bạn, chọn mạng Wi-Fi và cập nhật hệ điều hành. Đi trướ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 tốt nhất khi làm việc với Python trên Raspberry Pi là Python là một công dân hạng nhất trên nền tảng. Quỹ Raspberry Pi được chọn cụ thể 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 từ việc đi.

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 MUMu editor
  • Chỉnh sửa từ xa qua SSHSSH

Hãy bắt đầu bằng cách xem xét 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 các chương trình của mình. Một trong những ides 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 soạn thảo. Đối với mã trong hướng dẫn này, bạn có thể chọn Python 3:

Hướng dẫn python hardware projects - dự án phần cứng python

Có một cơ hội mà MU có thể không được cài đặt sẵn trên phiên bản Raspbian của bạn. Nếu MU không được cài đặt, thì bạn luôn có thể cài đặt nó bằng cách đi đến vị trí tệp sau:

Biểu tượng Raspberry Pi → Tùy chọn → Phần mềm được đề xuất

Điều này sẽ mở ra một cuộc đối thoại có 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à bấm OK để cài đặt nó:

Hướng dẫn python hardware projects - dự án phần cứng python

Mặc dù MU cung cấp một biên tập viên tuyệt vời để bắt đầu với Python trên Raspberry Pi, bạn có thể muốn một cái gì đó mạnh mẽ hơn. Trong phần tiếp theo, bạn sẽ kết nối với Raspberry Pi qua SSH.

Chỉnh sửa từ xa qua SSH

Thường thì bạn đã giành chiến thắng muốn dành thời gian để nối một 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 SSH. Trong phần này, bạn sẽ học cách bật và sử dụng SSH để lập trình Python trên Raspberry Pi.

Bật SSH

Trước khi bạn có thể kết nối với Raspberry Pi qua SSH, bạn sẽ cần bật quyền truy cập SSH bên trong khu vực Tùy chọn Raspberry Pi. Bật SSH bằng cách đi đến đườ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, chọn tab Giao diện và sau đó bật tùy chọn SSH:

Hướng dẫn python hardware projects - dự án phần cứng python

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 để bạn 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 bạn. Để xác định địa chỉ IP, bạn cần truy cập ứng dụng thiết bị đầu cuối. Bạn có thể truy cập thiết bị đầu cuối ở đây:Terminal application. You can access Terminal here:

Biểu tượng Raspberry Pi → Phụ kiện → thiết bị đầu cuối

Khi thiết bị đầu cuối được mở, hãy nhập phần 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 từ xa.

Kết nối với Raspberry Pi

Sử dụng địa chỉ IP cho Raspberry Pi, bây giờ bạn có thể ssh vào nó từ một máy tính khác:

Bạn sẽ được nhắc nhập mật khẩu bạn đã tạo khi chạy trình hướng dẫn thiết lập trong quá trình cài đặt Raspbian. Nếu bạn đã đặt một mật khẩu, thì mật khẩu mặc định là

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
0. 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 Pi:

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 lập tức bằng cách sử dụng python replin:

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 có thể chạy Python trên Raspberry Pi!

Tạo thư mục pi@raspberry:~/Desktop $ cd /home/pi pi@raspberry:~ $ pwd /home/pi 1

Trước khi bạn bắt đầu xây dựng các dự án với Python trên Raspberry Pi, bạn nên thiết lập một thư mục chuyên dụng cho mã của bạn. Raspberry Pi có một hệ thống tệp đầy đủ với nhiều thư mục khác nhau. Có một nơi dành riêng cho mã Python của bạn sẽ giúp giữ cho mọi thứ được tổ chức và dễ tìm.

Hãy để tạo một thư mục gọi là

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
1 nơi bạn có thể lưu trữ mã Python cho các dự án của mình.

Sử dụng MU

Nếu bạn có kế hoạch 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

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
1. Để tạo thư mục này, bạn sẽ muốn làm như sau:

  1. Mở MU bằng cách đi đến biểu tượng Raspberry Pi → Lập trình → Mu.
  2. Nhấp mới trong thanh menu để tạo một tệp trống.
  3. Nhấp vào Lưu trong thanh menu.
  4. Điều hướng đến thư mục
    pi@raspberry:~/Desktop $ cd /home/pi
    pi@raspberry:~ $ pwd
    /home/pi
    
    4 trong danh mục thả xuống thư mục.
  5. Nhấp vào biểu tượng Tạo thư mục mới ở góc trên bên phải.
  6. Đặt tên cho thư mục mới này
    pi@raspberry:~/Desktop $ cd /home/pi
    pi@raspberry:~ $ pwd
    /home/pi
    
    1 và nhấn Enter.Enter.
  7. Nhấp vào Hủy để đóng.

Bạn đã tạo ra một thư mục chuyên dụng cho mã Python của bạn. Đi xuống phần tiếp theo để tìm hiểu về việc tương tác với các thành phần vật lý trong Python.

Qua ssh

Nếu bạn sử dụng SSH để truy cập Raspberry Pi, thì bạn sẽ sử dụng dòng lệnh để tạo thư mục

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
1.

Hãy để tạo ra thư mục

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
1. Nếu bạn hiện đang đă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:

Sau khi đăng nhập, bạn sẽ thấy dấu nhắc lệnh Raspberry Pi:

Theo mặc định, khi bạn SSH vào Raspberry Pi, bạn sẽ bắt đầu trong thư mục

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
4. Xác nhận điều này ngay bây giờ bằng cách chạy
pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
9:

pi@raspberry:~ $ pwd
/home/pi

Nếu vì một lý do nào đó, bạn không có trong thư mục

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
4, thì hãy chuyển sang nó bằng
pi@raspberry:~ $ mkdir python-projects
1:

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi

Bây giờ trong thư mục

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
4, tạo một thư mục
pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
1 mới:

pi@raspberry:~ $ mkdir python-projects

Với thư mục

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
1 được tạo, sử dụng
pi@raspberry:~ $ mkdir python-projects
5 để đi vào thư mục:

pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $

Tuyệt quá! 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.

Tươ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 cách sử dụ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 một 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 thành phầ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ì

Bánh mì 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 bạn mà không cần phải hàn các thành phần với nhau.breadboard is an essential tool when building circuits. It allows you to quickly prototype your circuit without having to solder components together.

Breadboard 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 bảng điều khiển. Mỗi lỗ trên các đường ray này đượ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).voltage, or VCC) and negative (ground, or GND).

Trên hầu hết các bảng bánh mì, đường ray tích cực được đánh dấu bằng một dấu hiệu tích cực (

pi@raspberry:~ $ mkdir python-projects
6) và sẽ có một đường màu đỏ chạy bên cạnh nó. Đường ray âm được đánh dấu bằng một dấu hiệu âm (
pi@raspberry:~ $ mkdir python-projects
7) và có một đường màu xanh chạy bên cạnh nó.positive rail is marked with a positive sign (
pi@raspberry:~ $ mkdir python-projects
6) and will have a red line running next to it. The negative rail is marked with a negative sign (
pi@raspberry:~ $ mkdir python-projects
7) and has a blue line running next to it.

Trên bên trong bảng, đường ray thành phần chạy vuông góc với các đường ray tích cực và tiêu cực ở hai bên của bảng điều khiển. Mỗi đường ray này chứa các lỗ để đặt các thành phần.component rails run perpendicular to the positive and negative rails on the sides of the breadboard. Each of these rails contains holes for placing components.

Tất cả các lỗ trong một đường ray duy nhất được kết nối. Ở giữa là một máng xối ngăn cách hai cạnh của bảng điều khiển. Đườ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:

Hướng dẫn python hardware projects - dự án phần cứng python

Trong sơ đồ trên, ba màu được sử dụng để đánh dấu các loại đường ray bánh mì khác nhau:

  • Màu đỏ: Đường sắt tích cực Positive rail
  • Đen: Đường ray tiêu cực Negative rail
  • Màu xanh: Đường ray thành phần Component rails

Sau đó trong 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 cho các kết nối của mạch của bạn mà không phải hàn các đường dẫn giữa các chân và các thành phần GPIO. Họ có ba loại khác nhau:

  1. Nam sang nam
  2. Nữ đến nam
  3. Nữ đến nữ

Sẽ rất tốt nếu có ít nhất mười đến hai mươi mỗi loại khi bạn xây dựng các dự án Raspberry Pi của mình ở Python.

Các thành phần khác

Cùng với dây 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
  • 330 điện trở
  • Active Piezo Buzzer
  • 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.

Gpio ghim

Các tính năng Raspberry Pi có bốn chân GPIO dọc theo cạnh trên của bảng. 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 pin dưới đây cho thấy các loại chân khác nhau và vị trí của chúng. Bố cục này dựa trên chế độ xem trên cao của các chân với các cổng USB Raspberry PI, đối mặt với bạn:

Hướng dẫn python hardware projects - dự án phần cứng python

Raspberry Pi có năm loại chân khác nhau:

  1. 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. These are general-purpose pins that can be used for input or output.
  2. 3V3: Các chân này cung cấp nguồn năng lượng 3,3 V cho các thành phầ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. These pins supply a 3.3 V power source for components. 3.3 V is also the internal voltage that all GPIO pins supply.
  3. 5V: Các chân này cung cấp nguồn năng lượng 5 V, giống như đầu vào công suất USB cung cấp năng lượng 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. These pins supply a 5 V power source, the same as the USB power input that powers the Raspberry Pi. Some components, such as the passive infrared motion sensor, require 5 V.
  4. GND: Những chân này cung cấp kết nối mặt đất cho các mạch. These pins provide a ground connection for circuits.
  5. ADV: Những chân có mục đích đặc biệt này được nâng cao và không được đề cập trong hướng dẫn này. These special-purpose pins are advanced and not covered in this tutorial.

Trong phần tiếp theo, bạn sẽ sử dụng các loại pin 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 nhấn, đóng một mạch. Khi một mạch được đóng lại, Raspberry Pi sẽ đăng ký tín hiệu ON. Bạn có thể sử dụng điều này trên tín hiệu để kích hoạt các hành động khác nhau.ON signal. You can use this ON signal to trigger different actions.

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 nút vào Raspberry Pi:

  1. Kết nối một dây nhảy nữ với nam từ mâm xôi PI GND GND với đường ray âm của bảng điều khiển.female-to-male jumper wire from the Raspberry Pi’s GND pin to the negative rail of the breadboard.
  2. Đặt một nút xúc giác trên máng xối ở giữa bảng điều khiển.
  3. Kết nối dây nhảy từ nam sang nam từ đường ray âm của bảng điều khiển với hàng nơi đặt nút chân dưới bên trái.male-to-male jumper wire from the negative rail of the breadboard to the row where the button’s bottom-left leg is placed.
  4. Kết nối một dây nhảy nữ với nam-nam từ chốt Raspberry PiTHER GPIO4 với hàng bánh mì nơi đặt chân dưới chân phải.female-to-male jumper wire from the Raspberry Pi’s GPIO4 pin to the breadboard row where the button’s bottom-right leg is placed.

Bạn có thể xác nhận hệ thống dây của mình với sơ đồ dưới đây:

Hướng dẫn python hardware projects - dự án phần cứng python

Bây giờ, bạn đã có mạch của mình có dây, hãy để viết mã Python để đọc đầu vào từ nút.

Bên trong thư mục

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
1 mà bạn đã tạo trước đó, lưu một tệp mới có tên là
pi@raspberry:~ $ mkdir python-projects
9. Nếu bạn sử dụng SSH để truy cập Raspberry Pi, thì hãy tạo tệp như sau:

pi@raspberrypi:~/ cd python-projects
pi@raspberrypi:~/python-projects $ touch button.py

Nếu bạn sử dụng MU, thì hãy tạo tệp với các bước sau:

  1. Nhấp vào mục menu mới.
  2. Nhấp vào để lưu.
  3. Điều hướng đến thư mục
    pi@raspberry:~ $ cd python-projects
    pi@raspberry:~/python-projects $
    
    0.
  4. Lưu tệp dưới dạng
    pi@raspberry:~ $ mkdir python-projects
    
    9.

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

pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
2 từ mô -đun
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
3. Bạn cũng sẽ cần nhập
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
4 từ mô -đun
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
5. Bạn sẽ xem xét lý do tại sao bạn cần
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
4 sau:

from gpiozero import Button
from signal import pause

Tạo một thể hiện của lớp

pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
2 và chuyển số pin dưới dạng tham số. Trong trường hợp này, bạn đã sử dụng mã PIN GPIO4, vì vậy bạn sẽ vượt qua trong
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
8 làm tham số:GPIO4 pin, so you’ll pass in
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
8 as the parameter:

Tiế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 một phiên bản

pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
2:

def button_pressed():
    print("Button was pressed")

def button_held():
    print("Button was held")

def button_released():
    print("Button was released")

Lớp

pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
2 có ba thuộc tính sự kiện:
pi@raspberrypi:~/ cd python-projects
pi@raspberrypi:~/python-projects $ touch button.py
1,
pi@raspberrypi:~/ cd python-projects
pi@raspberrypi:~/python-projects $ touch button.py
2 và
pi@raspberrypi:~/ cd python-projects
pi@raspberrypi:~/python-projects $ touch button.py
3. 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 nhau.

Trong khi các thuộc tính

pi@raspberrypi:~/ cd python-projects
pi@raspberrypi:~/python-projects $ touch button.py
1 và
pi@raspberrypi:~/ cd python-projects
pi@raspberrypi:~/python-projects $ touch button.py
3 là tự giải thích,
pi@raspberrypi:~/ cd python-projects
pi@raspberrypi:~/python-projects $ touch button.py
2 yêu cầu giải thích ngắn. Nếu một hàm được đặt thành thuộc tính
pi@raspberrypi:~/ cd python-projects
pi@raspberrypi:~/python-projects $ touch button.py
2, 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 định.

Thời gian giữ cho

pi@raspberrypi:~/ cd python-projects
pi@raspberrypi:~/python-projects $ touch button.py
2 được xác định bởi thuộc tính
pi@raspberrypi:~/ cd python-projects
pi@raspberrypi:~/python-projects $ touch button.py
9 trên ví dụ
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
2. Mặc định cho
pi@raspberrypi:~/ cd python-projects
pi@raspberrypi:~/python-projects $ touch button.py
9 là một giây. Bạn có thể ghi đè lên điều này bằng cách chuyển giá trị
from gpiozero import Button
from signal import pause
2 khi tạo một thể hiện
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
2:

pi@raspberrypi:~ $ python3
0

Điều này sẽ tạo ra một thể hiện

pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
2 sẽ đợi hai giây rưỡi sau khi nhấn nút và giữ trước khi gọi hàm
from gpiozero import Button
from signal import pause
5.

Bây giờ bạn đã biết về các thuộc tính sự kiện khác nhau trên

pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
2, đặ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 đó:

pi@raspberrypi:~ $ python3
1

Tuyệt quá! Bạn đã thiết lập các sự kiện nút của bạn. Điều cuối cùng bạn cần làm là gọi

from gpiozero import Button
from signal import pause
7 ở cuối tệp. Gọi
from gpiozero import Button
from signal import pause
7 được yêu cầu để giữ cho chương trình lắng nghe các sự kiện khác nhau. Nếu đây không phải là hiện tại, thì chương trình sẽ chạy một lần và thoát.

Chương trình cuối cùng của bạn sẽ trông như thế này:

pi@raspberrypi:~ $ python3
2

Với hệ thống dây điện hoàn chỉnh và tất cả mã được thiết lập, bạn đã sẵn sàng để thử mạch đầu tiên của mình. Bên trong thư mục

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
1, chạy chương trình:

pi@raspberrypi:~ $ python3
3

Nếu bạn sử dụng MU, trước tiên hãy đảm bảo 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 những điều sau trong bảng điều khiển:

Nhấn và giữ nút trong ít nhất một giây và bạn sẽ thấy đầu ra sau:

Cuối cùng, khi bạn phát hành nút, bạn sẽ thấy như sau:

Đáng kinh ngạc! Bạn chỉ cần nối dây 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

from gpiozero import Button
from signal import pause
7 trong mã của mình, bạn sẽ cần dừng chương trình theo cách thủ công. Nếu bạn đang chạy chương trình trong MU, thì bạn có thể nhấp dừng để thoát khỏi chương trình. Nếu bạn đang chạy điều này từ dòng lệnh, thì bạn có thể dừng chương trình bằng ctrl+c.Ctrl+C.

Với mạch đầu tiên này dưới vành đai của bạn, bạn đã sẵn sàng để bắt đầu kiểm soát một số thành phần khác.

DẪN ĐẾN

Đối với mạch tiếp theo của bạn, bạn sẽ sử dụng Python để nhấp nháy đèn LED bật và tắt mỗi giây. LED là viết tắt của diode phát sáng và các thành phần này tạo ra ánh sáng khi một dòng điện được áp dụng. Bạn có thể thấy rằng họ đã sử dụng ở khắp mọi nơi trong thiết bị điện tử.LED stands for light-emitting diode, and these components produce light when a current is applied. You’ll find that they’re used everywhere in electronics.

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 đèn LED qua chân này. Chân ngắn hơn là chân âm, hoặc cực âm. Hiện tại thoát khỏi đèn LED qua chặng này.

Hiện tại chỉ có thể chảy một hướng qua đèn LED, vì vậy hãy chắc chắn rằng bạn đã 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 sẽ cần thực hiện để nối dây mạch này:

  1. Kết nối một dây nhảy nữ với nam từ mâm xôi PI GND GND với đường ray âm của bảng điều khiển.female-to-male jumper wire from the Raspberry Pi’s GND pin to the negative rail of the breadboard.

  2. Đặt một đèn LED vào hai lỗ trên bảng điều khiển nằm cạnh nhau nhưng không ở cùng một hàng.LED into two holes on the breadboard that are next to each other but not in the same row.

  3. Đặt chân dài hơn, dương của đèn LED vào lỗ ở phía bên phải.longer, positive leg of the LED into the hole on the right side.

  4. Đặt chân ngắn hơn, âm của đèn LED vào lỗ ở phía bên trái.shorter, negative leg of the LED into the hole on the left side.

  5. Đặt một đầu của điện trở 330 vào một lỗ trong cùng một hàng bánh mì với chân âm của đèn LED.330 Ω resistor into a hole in the same breadboard row as the negative leg of the LED.

  6. Đặt đầu kia của điện trở vào đường ray âm của bảng điều khiểnnegative rail of the breadboard

  7. Kết nối một dây nhảy nữ với nam từ ghim Raspberry PITHER GPIO4 với một lỗ trong cùng một hàng bánh mì với chân dương của đèn LED.female-to-male jumper wire from the Raspberry Pi’s GPIO4 pin to a hole in the same breadboard row as the positive leg of the LED.

Bạn có thể xác nhận hệ thống dây của mình với sơ đồ dưới đây:

Hướng dẫn python hardware projects - dự án phần cứng python

Nếu hệ thống dây có vẻ tốt, thì bạn đã sẵn sàng viết một số python để có được đè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

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
1. Gọi tệp này
def button_pressed():
    print("Button was pressed")

def button_held():
    print("Button was held")

def button_released():
    print("Button was released")
2:

pi@raspberrypi:~ $ python3
4

Trong mã này, bạn sẽ tạo một thể hiện của lớp

def button_pressed():
    print("Button was pressed")

def button_held():
    print("Button was held")

def button_released():
    print("Button was released")
3 và gọi phương thức
def button_pressed():
    print("Button was pressed")

def button_held():
    print("Button was held")

def button_released():
    print("Button was released")
4 của nó để bật và tắt đèn LED. Phương pháp
def button_pressed():
    print("Button was pressed")

def button_held():
    print("Button was held")

def button_released():
    print("Button was released")
4 có thời gian chờ mặc định là một giây. Đèn LED sẽ tiếp tục nhấp nháy và tắt mỗi giây cho đến khi chương trình thoát ra.

Bắt đầu bằng cách nhập

def button_pressed():
    print("Button was pressed")

def button_held():
    print("Button was held")

def button_released():
    print("Button was released")
3 từ mô -đun
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
3 và
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
4 từ mô -đun
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
5:

pi@raspberrypi:~ $ python3
5

Tiếp theo, tạo một thể hiện của

def button_pressed():
    print("Button was pressed")

def button_held():
    print("Button was held")

def button_released():
    print("Button was released")
3 được gọi là
pi@raspberrypi:~ $ python3
01. Đặt chân GPIO thành
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
8:

Gọi phương thức

def button_pressed():
    print("Button was pressed")

def button_held():
    print("Button was held")

def button_released():
    print("Button was released")
4 theo
pi@raspberrypi:~ $ python3
01:

Cuối cùng, thêm một cuộc gọi vào

from gpiozero import Button
from signal import pause
7 để đảm bảo chương trình không thoát ra:

Chương trình hoàn chỉnh của bạn sẽ trông như thế này:

pi@raspberrypi:~ $ python3
6

Lưu tệp và chạy nó để xem đèn LED nhấp nháy và tắt:

pi@raspberrypi:~ $ python3
7

Đèn LED bây giờ nên nhấp nháy và tắt mỗi giây. Khi bạn hoàn thành việc chiêm ngưỡng mã Python của mình trong hành động, hãy dừng chương trình bằng CTRL+C hoặc dừng trong MU.Ctrl+C or Stop in Mu.

Bây giờ bạn đã biết cách kiểm soát một đèn LED với Python trên Raspberry Pi. Đối với mạch tiếp theo, bạn sẽ sử dụng Python để tạo ra âm thanh từ Raspberry Pi.

Buzzer

Trong mạch này, bạn sẽ kết nối một tiếng chuông piezo hoạt động vào Raspberry Pi. Một tiếng chuông piezo phát ra một giai điệu khi dòng điện được áp dụng. 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, một còi có chân tích cực và tiêu cực. Chân dương của còi buzzer sẽ dài hơn chân âm hoặc sẽ có dấu hiệu dương (

pi@raspberry:~ $ mkdir python-projects
6) trên đỉnh của còi cho thấy chân nào là chân dương.

Hãy để Lôi đi trước và nối dây còi:

  1. Đặt một cái còi trên bảng điều khiển, lưu ý vị trí của Buzzer Buzzer.positive leg.

  2. Kết nối một dây nhảy nữ với nam-nam từ pin GND Raspberry Pi, với một lỗ trong cùng một hàng bánh mì với chân âm của tiếng còi.female-to-male jumper wire from the Raspberry Pi’s GND pin to a hole in the same breadboard row as the negative leg of the buzzer.

  3. Kết nối một dây nhảy nữ với nam từ ghim Raspberry PITHER GPIO4 với một lỗ trong cùng một hàng bánh mì với chân dương của còi.female-to-male jumper wire from the Raspberry Pi’s GPIO4 pin to a hole in the same breadboard row as the positive leg of the buzzer.

Xác nhận hệ thống dây của bạn đối với sơ đồ dưới đây:

Hướng dẫn python hardware projects - dự án phần cứng python

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

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
1. Gọi tệp này
pi@raspberrypi:~ $ python3
08:

pi@raspberrypi:~ $ python3
8

Trong mã này, bạn sẽ tạo ra một thể hiện của lớp

pi@raspberrypi:~ $ python3
09 và gọi nó là phương thức ____ ____110 để tạo tiếng kêu bật và tắt tiếng chuông. Phương pháp
pi@raspberrypi:~ $ python3
10 Các tham số đầu tiên là
pi@raspberrypi:~ $ python3
12 và
pi@raspberrypi:~ $ python3
13. Các tham số này có giá trị
from gpiozero import Button
from signal import pause
2 để đặt thời gian buzzer nên bật và tắt. Giá trị mặc định cho cả hai là một giây.

Bắt đầu bằng cách nhập

pi@raspberrypi:~ $ python3
09 từ mô -đun
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
3 và
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
4 từ mô -đun
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
5:

pi@raspberrypi:~ $ python3
9

Tiếp theo, tạo một thể hiện

pi@raspberrypi:~ $ python3
09 được gọi là
pi@raspberrypi:~ $ python3
20. Đặt chân GPIO thành
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
8:

Gọi phương thức

pi@raspberrypi:~ $ python3
10 trên
pi@raspberrypi:~ $ python3
20. Đặt các tham số
pi@raspberrypi:~ $ python3
12 và
pi@raspberrypi:~ $ python3
13 thành
pi@raspberrypi:~ $ python3
26. Điều này sẽ làm cho tiếng bíp của Buzzer cứ sau nửa giây:

Cuối cùng, thêm một cuộc gọi vào

from gpiozero import Button
from signal import pause
7 để đảm bảo chương trình không thoát ra:

Chương trình hoàn chỉnh của bạn sẽ trông như thế này:

>>> print("Hello from your Raspberry Pi!")
Hello from your Raspberry Pi!
0

Lưu tệp và chạy nó để xem đèn LED nhấp nháy và tắt:

>>> print("Hello from your Raspberry Pi!")
Hello from your Raspberry Pi!
1

Đèn LED bây giờ nên nhấp nháy và tắt mỗi giây. Khi bạn hoàn thành việc chiêm ngưỡng mã Python của mình trong hành động, hãy dừng chương trình bằng CTRL+C hoặc dừng trong MU.Ctrl+C or Stop in Mu.

Bây giờ bạn đã biết cách kiểm soát một đèn LED với Python trên Raspberry Pi. Đối với mạch tiếp theo, bạn sẽ sử dụng Python để tạo ra âm thanh từ Raspberry Pi.

Buzzer

Trong mạch này, bạn sẽ kết nối một tiếng chuông piezo hoạt động vào Raspberry Pi. Một tiếng chuông piezo phát ra một giai điệu khi dòng điện được áp dụng. Sử dụng thành phần này, Raspberry Pi của bạn sẽ có thể tạo ra âm thanh.passive infrared (PIR) motion sensor to the Raspberry Pi. A passive infrared motion sensor detects any motion in its field of vision and sends a signal back to the Raspberry Pi.

Giống như đèn LED, một còi có chân tích cực và tiêu cực. Chân dương của còi buzzer sẽ dài hơn chân âm hoặc sẽ có dấu hiệu dương (
pi@raspberry:~ $ mkdir python-projects
6) trên đỉnh của còi cho thấy chân nào là chân dương.

Hãy để Lôi đi trước và nối dây còi:

Đặt một cái còi trên bảng điều khiển, lưu ý vị trí của Buzzer Buzzer.

Hình ảnh dưới đây hiển thị các mặt số này ở phía bên của cảm biến chuyển động:

Hướng dẫn python hardware projects - dự án phần cứng python

Như hình ảnh hiển thị, mặt số bên trái đặt thời gian chờ tín hiệu và mặt số bên phải đặt độ nhạy 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. increases the timeout and sensitivity.
  • Ngược chiều kim đồng hồ làm giảm thời gian chờ và độ nhạy. decreases the timeout and sensitivity.

Bạn có thể điều chỉnh những điều này dựa trên nhu cầu dự án của bạn, nhưng đối với hướng dẫn này, cả hai mặt số ngược lại 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.

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ảm biến chuyển động không cho phép nó dễ dàng kết nối với một chiếc bánh mì. Bạn cần phải kết nối các chân GPIO Raspberry Pi trực tiếp với các chân trên cảm biến chuyển động với dây nhảy.

Hình ảnh dưới đây cho thấy vị trí của các chân ở mặt dưới của cảm biến chuyển động:

Hướng dẫn python hardware projects - dự án phần cứng python

Bạn có thể thấy có ba chân:

  1. VCC cho điện áp for voltage
  2. Ra ngoài để giao tiếp với Raspberry Pi for communicating with the Raspberry Pi
  3. GND cho mặt đất for ground

Sử dụng các chân này, bạn cần thực hiện các bước sau:

  1. Kết nối dây nhảy nữ với nữ từ Raspberry Pi Lau 5V với pin VCC cảm biến.female-to-female jumper wire from the Raspberry Pi’s 5V pin to the sensor’s VCC pin.
  2. Kết nối dây nhảy nữ với nữ từ ghim Raspberry PITHER GPIO4 với chân cảm biến ra.female-to-female jumper wire from the Raspberry Pi’s GPIO4 pin to the sensor’s OUT pin.
  3. Kết nối dây nhảy nữ với nữ từ GND Raspberry Pi, với pin GND cảm biến.female-to-female jumper wire from the Raspberry Pi’s GND pin to the sensor’s GND pin.

Bây giờ xác nhận hệ thống dây điện với sơ đồ dưới đây:

Hướng dẫn python hardware projects - dự án phần cứng python

Với cảm biến chuyển động được điều chỉnh và có dây theo Raspberry Pi, hãy để Lôi 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

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
1. Gọi tệp này
pi@raspberrypi:~ $ python3
29:

>>> print("Hello from your Raspberry Pi!")
Hello from your Raspberry Pi!
2

Mã cho mạch này sẽ tương tự như mạch nút bạn đã thực hiện trước đó. Bạn sẽ tạo một thể hiện của lớp

pi@raspberrypi:~ $ python3
30 và truyền trong số pin GPIO
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
8 làm tham số. Sau đó, bạn sẽ xác định hai chức năng và đặt chúng thành các thuộc tính
pi@raspberrypi:~ $ python3
32 và
pi@raspberrypi:~ $ python3
33 trên ví dụ
pi@raspberrypi:~ $ python3
30.

Hãy cùng xem mã:

>>> print("Hello from your Raspberry Pi!")
Hello from your Raspberry Pi!
3

pi@raspberrypi:~ $ python3
35 được đặt thành thuộc tính
pi@raspberrypi:~ $ python3
32 và được gọi khi cảm biến phát hiện chuyển động.
pi@raspberrypi:~ $ python3
37 được đặt thành thuộc tính
pi@raspberrypi:~ $ python3
33 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ằng mặt số thời gian chờ ở phía bên của cảm biến.

Bạn sẽ nhận thấy rằng trước các thuộc tính

pi@raspberrypi:~ $ python3
32 và
pi@raspberrypi:~ $ python3
33 được đặt, có một cuộc gọi đến
pi@raspberrypi:~ $ python3
41 trên ví dụ
pi@raspberrypi:~ $ python3
30. 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. Đ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 bắt đầu.

Lưu mã và chạy nó để thử mạch phát hiện chuyển động của bạn:

>>> print("Hello from your Raspberry Pi!")
Hello from your Raspberry Pi!
4

Vẫy tay trước cảm biến. Khi chuyển động được phát hiện lần đầu tiên,

pi@raspberrypi:~ $ python3
35 được gọi và phần sau được hiển thị trong bảng điều khiển:

Bây giờ hãy ngừng vẫy tay trước cảm biến. Sau vài giây, những điều sau đây sẽ được hiển thị:

Tuyệt quá! Bây giờ bạn có thể phát hiện chuyển động với Raspberry Pi của bạn. Khi bạn đã thực hiện việc vẫy tay với Raspberry Pi, hãy tiếp tục và nhấn Ctrl+C trong dòng lệnh hoặc nhấn dừng trong MU để chấm dứt chương trình.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 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ẽ gắn kết tất cả những điều này với nhau trong một dự án đầy đủ.

Xây dựng một 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 ra 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 kích hoạt chuyển động sẽ flash đèn LED và phát ra â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 chi tiết mỗi lần chuyển động.

Dây

Dưới đây là các bước để hoàn thành hệ thống dây điện:

  1. Kết nối dây nhảy nữ sang nam từ các chân Raspberry Pi 5V và GND với các đường ray tích cực và tiêu cực ở bên cạnh bánh mì.female-to-male jumper wires from the Raspberry Pi’s 5V and GND pins to the positive and negative rails on the side of the breadboard.

  2. Đặt một đèn LED trên bảng điều khiển và kết nối mã PI GPIO14 của Raspberry Pi với với đèn LED với dây nhảy nữ sang nam.LED on the breadboard and connect the Raspberry Pi’s GPIO14 pin to the LED with a female-to-male jumper wire.

  3. Kết nối chân âm LED LED với đường ray âm của Breadboard thông qua điện trở 330.LED’s negative leg to the breadboard’s negative rail through a 330 Ω resistor.

  4. Đặt một cái còi trên bảng điều khiển và kết nối mã pin Raspberry PiTHER GPIO15 với còi với dây nhảy nữ sang nam.buzzer on the breadboard and connect the Raspberry Pi’s GPIO15 pin to the buzzer with a female-to-male jumper wire.

  5. Kết nối chân âm Buzzer, với đường ray tiêu cực của Breadboard với dây nhảy từ nam sang nam.buzzer’s negative leg to the breadboard’s negative rail with a male-to-male jumper wire.

  6. Kết nối dây nhảy nữ sang nam từ đường ray tích cực của Breadboard với pin VCC cảm biến.female-to-male jumper wire from the breadboard’s positive rail to the sensor’s VCC pin.

  7. Kết nối dây nhảy nữ với nữ từ ghim Raspberry PITHER GPIO4 với chân cảm biến ra.female-to-female jumper wire from the Raspberry Pi’s GPIO4 pin to the sensor’s OUT pin.

  8. Kết nối dây nhảy nữ với nam từ đường ray tiêu cực của Breadboard với pin GND cảm biến.female-to-male jumper wire from the breadboard’s negative rail to the sensor’s GND pin.

Xác nhận hệ thống dây điện đối với sơ đồ dưới đây:

Hướng dẫn python hardware projects - dự án phần cứng python

Được rồi, bây giờ bạn có mạch có dây lên, hãy để đào sâu vào 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ệ, bắt đầu bằng cách tạo một tệp cho dự án này bên trong thư mục

pi@raspberry:~/Desktop $ cd /home/pi
pi@raspberry:~ $ pwd
/home/pi
1. Đối với dự án này, hãy gọi tệp này
pi@raspberrypi:~ $ python3
45:

>>> print("Hello from your Raspberry Pi!")
Hello from your Raspberry Pi!
5

Điều đầu tiên bạn muốn làm là nhập mô -đun

pi@raspberrypi:~ $ python3
46 để bạn có thể lưu dấu thời gian khi phát hiện chuyển động. Ngoài ra, nhập
pi@raspberrypi:~ $ python3
47 từ mô -đun
pi@raspberrypi:~ $ python3
48 để bạn có thể tham chiếu tệp CSV của mình:

>>> print("Hello from your Raspberry Pi!")
Hello from your Raspberry Pi!
6

Tiếp theo, nhập

pi@raspberrypi:~ $ python3
49 từ mô -đun
pi@raspberrypi:~ $ python3
49 để 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!
7

Cuối cùng, nhập các lớp thành phần cần thiết từ

pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
3 cũng như
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
4 từ mô -đun
pi@raspberry:~ $ cd python-projects
pi@raspberry:~/python-projects $
5:

>>> print("Hello from your Raspberry Pi!")
Hello from your Raspberry Pi!
8

Với việc nhập khẩu đã sẵn sàng, 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 trường hợp của các lớp

def button_pressed():
    print("Button was pressed")

def button_held():
    print("Button was held")

def button_released():
    print("Button was released")
3,
pi@raspberrypi:~ $ python3
09 và
pi@raspberrypi:~ $ python3
30. Đối với mỗi trong số này, hãy chuyển số PIN của chúng dưới dạng tham số:

>>> print("Hello from your Raspberry Pi!")
Hello from your Raspberry Pi!
9

Tiếp theo, xác định vị trí của tệp CSV sẽ lưu trữ dấu thời gian mỗi lần chuyển động được phát hiện. Bạn sẽ gọi nó là

pi@raspberrypi:~ $ python3
57. Tạo một từ điển để giữ các giá trị dấu thời gian sẽ được ghi vào CSV:

pi@raspberry:~ $ pwd
/home/pi
0

Tạo một 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 đề được thêm vào:

pi@raspberry:~ $ pwd
/home/pi
1

Xác định hàm

pi@raspberrypi:~ $ python3
58. Hàm này sẽ có một số hành vi:

  • Bắt đầu nhấp nháy
    pi@raspberrypi:~ $ python3
    
    01 cứ sau nửa giây
  • Tạo tiếng bíp
    pi@raspberrypi:~ $ python3
    
    20
  • Lưu dấu thời gian
    pi@raspberrypi:~ $ python3
    
    61 vào từ điển
    pi@raspberrypi:~ $ python3
    
    62

Thêm một cuộc gọi đến

pi@raspberrypi:~ $ python3
63 để bạn có thể xem các sự kiện xảy ra trong khi chương trình đang chạy:

pi@raspberry:~ $ pwd
/home/pi
2

Sau đó, xác định hàm

pi@raspberrypi:~ $ python3
64 sẽ có các hành vi sau:

  • Tắt
    pi@raspberrypi:~ $ python3
    
    01 và
    pi@raspberrypi:~ $ python3
    
    20
  • Lưu dấu thời gian
    pi@raspberrypi:~ $ python3
    
    67
  • Gọi
    pi@raspberrypi:~ $ python3
    
    68 để lưu dữ liệu chuyển động vào tệp CSV
  • Đặt lại từ điển
    pi@raspberrypi:~ $ python3
    
    62

Bạn cũng sẽ kiểm tra xem giá trị

pi@raspberrypi:~ $ python3
70 có tồn tại trước khi chạy bất kỳ mã nào khác không. Bạn chỉ muốn ghi vào CSV nếu Dấu thời gian
pi@raspberrypi:~ $ python3
61 được ghi lại:

pi@raspberry:~ $ pwd
/home/pi
3

Thêm một cuộc gọi đến

pi@raspberrypi:~ $ python3
41 để bất kỳ chuyển động ban đầu nào bị bỏ qua:

pi@raspberry:~ $ pwd
/home/pi
4

Đặt các thuộc tính

pi@raspberrypi:~ $ python3
32 và
pi@raspberrypi:~ $ python3
33 trên ví dụ
pi@raspberrypi:~ $ python3
30:

pi@raspberry:~ $ pwd
/home/pi
5

Cuối cùng, kết thúc mã bằng một cuộc gọi đến

from gpiozero import Button
from signal import pause
7 để giữ cho chương trình chạy. Mã Python đầy đủ sẽ trông như thế này:

pi@raspberry:~ $ pwd
/home/pi
6

Lưu tệp và chạy nó để kiểm tra báo thức phát hiện chuyển động mới của bạn:

pi@raspberry:~ $ pwd
/home/pi
7

Bây giờ nếu bạn vẫy tay trước máy dò 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 ngừng di chuyển trong vài giây, thì báo thức sẽ dừng lại. Trong bảng điều khiển, bạn sẽ thấy như sau:

pi@raspberry:~ $ pwd
/home/pi
8

Đi trước và dừng chương trình với điểm dừng trong MU hoặc Ctrl+c. Hãy để kiểm tra tệp CSV đã được tạo:Ctrl+C. Let’s check out the CSV file that was generated:

pi@raspberry:~ $ pwd
/home/pi
9

Như bạn có thể thấy, dấu thời gian cho chuyển động từ

pi@raspberrypi:~ $ python3
61 và
pi@raspberrypi:~ $ python3
67 đã được thêm vào tệp CSV.

Xin chúc mừng! Bạn đã tạo ra 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 các 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 camera 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 pygame để phát tệp âm thanh để đ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 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!

Sự kết luận

Raspberry Pi là một thiết bị điện toán tuyệt vời mà tiếp tục tốt hơn. Nó được đóng gói với các tính năng làm cho nó trở thành thiết bị đi đến để tính toán vật lý.

Trong hướng dẫn này, bạn đã học được cách:

  • Thiết lập một pi mâm xôi và chạy mã python trên đóRaspberry Pi and run Python code on it
  • Đọc đầu vào từ các cảm biếnsensors
  • Gửi đầu ra đến các thành phần điện tửelectronic components
  • Xây dựng một dự án thú vị bằng cách sử dụng Python trên Raspberry Pi

Python là sự bổ sung hoàn hảo cho Raspberry Pi, và với các kỹ năng mà 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ý mát mẻ và sáng tạo. Chúng tôi có thể chờ đợi để nghe những gì bạn xây dựng!