Sử dụng cảm biến áp suất BMP180 với board Intel Edison (Sử dụng nodejs)

Bài viết của lequocchi gãi đũng chỗ mình cần để làm tài liệu tham khảo tiếng Việt. Nên mình xin đóng góp một bài viết hướng dẫn sử dụng bmp180 trên Intel Edison. Các bạn cùng theo dõi nhé.

I. Chuẩn bị

II. Nối dây

Bạn nào không biết pinout Edison, vui lòng xem tại đây.

Lưu ý: Board Intel Edison giao tiếp ở mức điện thế 1.8V, các hiệu điện thế 3.3, 5V vào các chân GPIO có thể gây hỏng board trừ 2 chân GPIO nào đó mà hiện tại mình không nhớ :D. Do không liên quan đến bài viết nên mình không nói thêm kẻo các bạn tưởng chân nào cũng 3.3V thì chết!

BMP180 Intel Edison
VCC J19-2
GND J19-3
SDA J17-8
SCL J18-6

III. Lập trình

1. Cài nodejs

Khỏi nha bạn, Intel Edison có sẵn node 4.x rồi!

2. Cài Johnny-five và Edison-IO

Rất dễ! Hai thư viện này dùng để lập trình Edison trong môi trường nodejs đó bạn hiền!

npm install -g johnny-five edison-io

3. Code

//khai báo thư viện + board
var five = require("johnny-five");
var Edison = require("edison-io");
var board = new five.Board({
  io: new Edison()
});


//sự kiện ready được fire thì anh em mới lập trình được nhá!
board.on("ready", function() {

  // setup BMP180 nè
  var barometer = new five.Barometer({
    controller: "BMP180"
  });

  //Khi có dữ liệu mới nè
  barometer.on("change", function() {
    console.log("barometer");
    console.log("  pressure     : ", this.pressure);
    console.log("--------------------------------------");
  });
});

IV. Kết thúc

Có bài hay cùng chia sẻ với mọi người nha! Một tí đóng góp cho Cộng đồng Intel Edison Việt Nam. Các bạn rate node động viên mình nhé. Hi vọng các bạn có những dự án hay!

Youtube: 
Demo
Những hình ảnh về dự án: 
Bài viết truyền cảm hứng: 
lên
10 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Cảm biến nhiệt độ LM35 và cách sử dụng nó trong môi trường Arduino

Cảm biến nhiệt độ LM35 là một loại cảm biến tương tự rất hay được ứng dụng trong các ứng dụng đo nhiệt độ thời gian thực. Vì nó hoạt động khá chính xác với sai số nhỏ, đồng thời với kích thước nhỏ và giá thành rẻ là một trong những ưu điểm của nó. Vì đây là cảm biến tương tự (analog sensor) nên ta có thể dễ dàng đọc được giá trị của nó bằng hàm analogRead(). Nào, cùng nhau tìm hiểu thôi!

lên
45 thành viên đã đánh giá bài viết này hữu ích.

Vấn đề của số chấm động và số nguyên trong ngôn ngữ lập trình C++ trên board mạch Arduino

Có bao giờ bạn tự hỏi: "Dự án của mình làm tốt thế này, chạy ngon lành rành rành thế này, chắc không có bugs đâu?". Thực sự, nếu dự án của bạn không có phần xử lý số thực chấm động trong đó thì mình nghĩ phần code của bạn sẽ hoạt động ngon lành theo thời gian. Nhưng mà có số thực thì từ từ, chúng ta cần xét lại code. Trước đây, có một số bạn nhắn tin riêng hỏi mình về code với điểm chung là "code mình chạy ngon lành lúc đầu, sau đó bị lỗi, không rõ nguyên nhân". Loại trừ các phần code logic sai ra, thì hầu hết đều là do lỗi khi xử lý số chấm động mà không quan tâm đến nền tảng lập trình bên dưới! Mà cũng đúng, chúng ta rất dễ bị đánh lừa bởi chính đoạn code chúng ta viết. Vì nó có báo lỗi biên dịch đâu mà, kaka. Qua bài viết này, mình muốn phân tích và cùng các bạn rút kinh nghiệm về số chấm động float, cách hạn chế lỗi sai với số chấm động.

lên
22 thành viên đã đánh giá bài viết này hữu ích.