Menu
×

Được chứng nhận

Ghi lại kiến ​​thức của bạn

Đăng nhập Đăng ký

Tạo Tài khoản Example.com.vn miễn phí để cải thiện trải nghiệm học tập của bạn

Người tìm đường và việc học của tôi

Theo dõi tiến độ học tập của bạn tại Example.com.vn và thu thập phần thưởng

Nâng cấp

Trở thành người dùng PLUS và mở khóa các tính năng mạnh mẽ (không có quảng cáo, lưu trữ, hỗ trợ, ..)

Bắt đầu từ đâu

Bạn không chắc chắn muốn bắt đầu từ đâu? Đi theo con đường được hướng dẫn của chúng tôi

Trình chỉnh sửa mã (Dùng thử)

Với trình chỉnh sửa mã trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã và xem kết quả trong trình duyệt của mình

Video

Tìm hiểu những điều cơ bản về HTML qua video hướng dẫn thú vị và hấp dẫn

Mẫu

Chúng tôi đã tạo một loạt mẫu trang web đáp ứng mà bạn có thể sử dụng - miễn phí!

Web hosting

Lưu trữ trang web của riêng bạn và chia sẻ nó với mọi người với Example.com.vn Spaces

Tạo một máy chủ

Tạo máy chủ của riêng bạn bằng Python, PHP, React.js, Node.js, Java, C#, v.v.

Làm thế nào để

Bộ sưu tập lớn các đoạn mã cho HTML, CSS và JavaScript

Khung CSS

Xây dựng các trang web nhanh và phản hồi bằng cách sử dụng khung W3.CSS miễn phí của chúng tôi

Thống kê trình duyệt

Đọc xu hướng dài hạn của việc sử dụng trình duyệt

Tốc độ gõ

Kiểm tra tốc độ đánh máy của bạn

Đào tạo AWS

Tìm hiểu dịch vụ web của Amazon

Bộ chọn màu

Sử dụng công cụ chọn màu của chúng tôi để tìm các màu RGB, HEX và HSL khác nhau. Bánh xe màu hình tròn thể hiện sự chuyển màu trong quang phổ

Trò chơi mã

Trò chơi mã hóa W3Schools! Giúp linh miêu thu thập nón thông Logo Lynx

Đặt mục tiêu

Nhận hành trình học tập được cá nhân hóa dựa trên các kỹ năng và mục tiêu hiện tại của bạn

Bản tin

Tham gia bản tin của chúng tôi và có quyền truy cập vào nội dung độc quyền mỗi tháng

Việc làm

Thuê những tài năng công nghệ hàng đầu. Hợp lý hóa quy trình tuyển dụng của bạn để có đội ngũ phù hợp hoàn hảo

Lớp học

Hãy liên hệ để sử dụng Example.com.vn Plus và các chứng chỉ với tư cách là một tổ chức giáo dục

×
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP CÁCH W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS AN NINH MẠNG DỮ LIỆU KHOA HỌC

Node.js Raspberry Pi GPIO - LED và nút nhấn


Sử dụng cả đầu vào và đầu ra

Trong chương trước, chúng ta đã học cách sử dụng Raspberry Pi và GPIO của nó để tạo ra đèn LED nhấp nháy.

Để làm được điều đó, chúng tôi đã sử dụng chân GPIO làm "Đầu ra".

Trong chương này chúng ta sẽ sử dụng một chân GPIO khác làm "Đầu vào".

Thay vì nhấp nháy trong 5 giây, chúng tôi muốn đèn LED sáng lên khi bạn nhấn nút kết nối với bảng mạch.


Chúng ta cần gì?

Trong chương này, chúng ta sẽ tạo một ví dụ đơn giản trong đó chúng ta điều khiển đèn LED bằng Nút ấn.

Đối với điều này bạn cần:

Nhấp vào các liên kết trong danh sách ở trên để xem mô tả về các thành phần khác nhau.

Lưu ý: Điện trở bạn cần có thể khác với điện trở chúng tôi sử dụng tùy thuộc vào loại đèn LED bạn sử dụng. Hầu hết các đèn LED nhỏ chỉ cần một điện trở nhỏ, khoảng 200-500 ohm. Nói chung, giá trị chính xác bạn sử dụng không quan trọng, nhưng giá trị của điện trở càng nhỏ thì đèn LED sẽ càng sáng.

Trong chương này, chúng tôi sẽ xây dựng dựa trên mạch mà chúng tôi đã xây dựng ở chương trước, vì vậy bạn sẽ nhận ra một số phần trong danh sách trên.


Xây dựng mạch

Bây giờ là lúc xây dựng mạch trên Breadboard của chúng ta. Chúng ta sẽ sử dụng mạch mà chúng ta đã tạo ở chương trước làm điểm bắt đầu.

Nếu bạn chưa quen với thiết bị điện tử, chúng tôi khuyên bạn nên tắt nguồn cho Raspberry Pi. Và sử dụng thảm chống tĩnh điện hoặc dây nối đất để tránh làm hỏng nó.

Tắt Raspberry Pi đúng cách bằng lệnh:

pi@w3demopi:~ $ sudo shutdown -h now

Sau khi đèn LED ngừng nhấp nháy trên Raspberry Pi, hãy rút phích cắm nguồn ra khỏi Raspberry Pi (hoặc tắt dải nguồn mà nó được kết nối).

Chỉ cần rút phích cắm mà không tắt đúng cách có thể gây hỏng thẻ nhớ.

Raspberry Pi 3 với Breadboard. Mạch đèn LED và nút

Nhìn vào hình minh họa ở trên của mạch.

  1. Bắt đầu với mạch chúng ta đã tạo ở chương trước:
    Trên Raspberry Pi, kết nối chân cái của dây nhảy với chân nguồn 5V . Trong ví dụ của chúng tôi, chúng tôi đã sử dụng Chân vật lý 2 ( 5V , hàng 1, cột bên phải)
  2. Trên Breadboard, nối chân đực của dây jumper nối với nguồn 5V , vào Power Bus phía bên phải. Toàn bộ cột của bảng mạch của bạn được kết nối, do đó, hàng nào không quan trọng. Trong ví dụ của chúng tôi, chúng tôi đã đính kèm nó vào hàng 1
  3. Trên Breadboard, nối nút ấn sao cho vừa với Rãnh. Trong ví dụ của chúng tôi, nó kết nối với hàng 13 và 15, cột E và F
  4. Trên Breadboard, kết nối một chân của điện trở 1k ohm với cột Ground Bus ở bên phải và chân còn lại với hàng Tie-Point bên phải, nơi nó kết nối với một trong các chân bên phải của nút ấn. Trong ví dụ của chúng tôi, chúng tôi đã gắn một mặt vào hàng Tie-Point số 13, cột J và mặt còn lại vào lỗ Ground Bus gần nhất
  5. Trên Breadboard, nối dây nhảy đực-đực từ Power Bus bên phải, tới hàng Tie-Point bên phải nối với chân còn lại của nút ấn. Trong ví dụ của chúng tôi, chúng tôi đã gắn một mặt vào hàng Tie-Point 15, cột J và mặt còn lại vào lỗ Power Bus gần nhất
  6. Trên Raspberry Pi, kết nối chân cái của dây nhảy với chân GPIO . Trong ví dụ của chúng tôi, chúng tôi đã sử dụng Chân vật lý 11 ( GPIO 17 , hàng 6, cột bên trái)
  7. Trên Breadboard, nối chân đực của dây nhảy với hàng Tie-Point bên trái, chân Nút ấn nằm ngay trên chân nối đất . Trong ví dụ của chúng tôi, chúng tôi đã đính kèm nó vào hàng 13, cột A

Mạch của bạn bây giờ đã hoàn tất và các kết nối của bạn sẽ trông khá giống với hình minh họa ở trên.

Bây giờ là lúc khởi động Raspberry Pi và viết tập lệnh Node.js để tương tác với nó.



Tập lệnh nút và đèn LED Raspberry Pi và Node.js

Chuyển đến thư mục "nodetest" và tạo một tệp mới có tên " buttonled.js ":

pi@w3demopi:~ $ nano buttonled.js

Tệp hiện đã mở và có thể được chỉnh sửa bằng Nano Editor tích hợp.

Viết hoặc dán nội dung sau:

nút.js

var Gpio = require('onoff').Gpio; //include onoff to interact with the GPIO
var LED = new Gpio(4, 'out'); //use GPIO pin 4 as output
var pushButton = new Gpio(17, 'in', 'both'); //use GPIO pin 17 as input, and 'both' button presses, and releases should be handled

pushButton.watch(function (err, value) { //Watch for hardware interrupts on pushButton GPIO, specify callback function
  if (err) { //if an error
    console.error('There was an error', err); //output error message to console
  return;
  }
  LED.writeSync(value); //turn LED on or off depending on the button state (0 or 1)
});

function unexportOnClose() { //function to run when exiting program
  LED.writeSync(0); // Turn LED off
  LED.unexport(); // Unexport LED GPIO to free resources
  pushButton.unexport(); // Unexport Button GPIO to free resources
};

process.on('SIGINT', unexportOnClose); //function to run when user closes using ctrl+c

Nhấn " Ctrl+x " để lưu mã. Xác nhận bằng " y " và xác nhận tên bằng " Enter ".

Chạy mã:

pi@w3demopi:~ $ node buttonled.js

Bây giờ đèn LED sẽ bật khi bạn nhấn nút và tắt khi bạn nhả nút.

Kết thúc chương trình bằng Ctrl+c .


×

Liên hệ bán hàng

Nếu bạn muốn sử dụng dịch vụ của Example.com.vn với tư cách là một tổ chức giáo dục, nhóm hoặc doanh nghiệp, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Báo cáo lỗi

Nếu bạn muốn báo cáo lỗi hoặc nếu bạn muốn đưa ra đề xuất, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Example.com.vn được tối ưu hóa cho việc học tập và đào tạo. Các ví dụ có thể được đơn giản hóa để cải thiện khả năng đọc và học. Các hướng dẫn, tài liệu tham khảo và ví dụ liên tục được xem xét để tránh sai sót, nhưng chúng tôi không thể đảm bảo tính chính xác hoàn toàn của mọi nội dung. Khi sử dụng W3Schools, bạn đồng ý đã đọc và chấp nhận các điều khoản sử dụng , chính sách cookie và quyền riêng tư của chúng tôi.

Bản quyền 1999-2024 của Refsnes Data. Đã đăng ký Bản quyền. Example.com.vn được cung cấp bởi W3.CSS .