Giới thiệu về Phòng thí nghiệm bỏ túi PSLab

Vừa rồi giữa tháng 10 mình có đi dự Open Tech Summit do FOSSASIA tổ chức với vai trò là Workstop Facilitator thì có quen được vài anh chị trong ban tổ chức và được tặng một mạch PSLab về vọc chơi. Mình nghĩ board mạch này khá phù hợp cho các bạn maker bởi nó có rất nhiều chức năng mà trước giờ mình chưa bao giờ nghĩ là sẽ có thể sở hữu được một cái thứ gì có thể làm được như vậy ngay trong phòng của mình. Giá bán của nó tại sự kiện theo mình nhớ không nhầm là 1.200.000đ tương đương một con Raspberry Pi đời mới.

1. Giới thiệu về PSLab

image

Hình 1: Ảnh thực tế board mạch PSLab phiên bản 5.0

PSLab là viết tắt của chữ Pocket Science Lab nghĩa là một phòng thí nghiệm mini nhỏ gọn. Trên board mạch này đã tích hợp sẵn chức năng của nhiều thiết bị khác như:

  • Oscilloscope
  • Multimeter
  • Wave Generator
  • Logic Analyzer

Ngoài ra bạn có thể dễ dàng kết nối nhiều cảm biến vào PSLab như:

  • Cảm biến độ ẩm đất
  • Quang trở
  • Micro
  • Cảm biến từ tính
  • Cảm biến nhiệt độ
  • Cảm biến khi gas 
  • Cảm biến bụi
  • Gyroscope & compas

Vậy làm sao ta có thể đọc được dữ liệu từ PSLab ? Đây chính là điểm đặc biệt của nó bởi thay vì bạn phải dùng app trên desktop như những mạch analyzer hay dev kit thông dụng thì bạn có thể dùng một cái app trên điện thoại chạy Android hay iOS để đọc thông số từ mạch, quá tiện phải không. Ngoài ra tất nhiên là cũng có app trên Desktop (hỗ trợ Linux, Windows và tương lai là Mac). Chỉ cần cài app vào điện thoại trước rồi kết nối điện thoại với PSLab qua cáp OTG là bạn có thể bắt đầu vọc được rồi.

Một điểm thú vị nữa đó là PSLab là một dự án open hardware (đừng nhầm lẫn với opensource hardware nhé). Bạn có thể tải về xem một số thành phần dưới đây của PSLab tại Downloads - Pocket Science Lab:

  • Datasheet
  • App Android. Hiện chưa có bản cho iOS
  • App Desktop hỗ trợ Linux và Windows. Sắp tới sẽ hỗ trợ thêm Mac.
  • Sơ đồ nguyên lí
  • File design case để cắt laster
  • Source code cho app Android và Linux
  • Thư viện Python hỗ trợ tương tác cho desktop app
  • Firmware

 

image

Hình 2: Giao diện app PSLab trên Ubuntu không khác trên Android là mấy

 

image

Hình 3: Khám phá sơ đồ nguyên lí của PSLab bằng KiCad trên Ubuntu

 

image

Hình 4: Sơ đồ nguyên lí của PSLab mở bằng KiCad

 

image

Hình 5: Render ảnh 3D của PSLab trên KiCad

 

2. Dùng thử PSLab

Để sử dụng PSLab, cách đơn giản và nhanh gọn nhất là kết nối nó với điện thoại qua cáp OTG. Nếu trên điện thoại đã cài sẵn app PSLab thì bạn sẽ nhận được thông báo như hình dưới. Sau khi bấm Ok thì app sẽ tự động bật lên

 

imageimage

Hình 6: Kết nối PSLab với Android và giao diện app PSLab trên Android

Ví dụ bạn chọn sử dụng chức năng Multimeter thì chỉ cần chọn mục Multimeter. Tại giao diện trang Multimeter, bạn có thể bấm vào nút biểu tượng dấu chấm hỏi thì sẽ có hướng dẫn chi tiết hiện ra.

imageimage

Hình 7: Giao diện chức năng Multimeter của app PSLab trên Android

 

3. Câu hỏi thường gặp 

Phần này là một số câu hỏi thường gặp. Bạn nào lười đọc bài thì có thể đọc phần này luôn cho nhanh :D

3.1. PSLab là gì ? Tôi có thể làm được gì với nó ?

PSLab là một board mạch tích hợp dạng tất cả trong một: Oscilloscope, Multimeter, Wave Generator, Logic Analyzer, các loại cảm biến,... Bạn có thể kết nối PSLab với điện thoại Android của mình qua cáp OTG để từ đó đọc dữ liệu hoặc điều khiển PSLab theo ý muốn.

3.2. Có thể mua PSLab ở đâu

Bạn có thể đặt mua ở https://pslab.io/shop. Board này hiện chưa bán ở Việt Nam, nơi bán gần nhất là ở Singapore. Bạn cũng có thể inbox riêng cho mình để đặt mua chung nhiều người để khỏi tốn tiền ship.

3.3. Tải app để sử dụng PSLab trên điện thoại ở đâu

Bạn có thể tải ở Play Store cho Anroid hoặc F-Droid (file apk). Mình chưa thấy link tải cho iOS.

3.4. Tải app để sử dụng PSLab trên máy tính ở đâu

Tải về cho Windows. Với Linux thì có nhiều cách đóng gói file cài, bạn tự vào Git để xem nhé. Với Mac thì hiện chưa hỗ trợ.

3.5. Có iOS app cho thiết bị của Táo không ?

Do Apple đang có một số chính sách ngăn cấm không cho thiết bị của mình kết nối đến hardware khác ngoài của hãng nên hiện vẫn chưa có app cho iOS.

3.6. Có thể kết nối PSLab đến những thiết bị nào ?

Bạn có thể kết nối PSLab với máy tính thông qua cáp USB thông thường hoặc kết nối với điện thoại thông qua cáp USB hỗ trợ OTG (USB On The Go). Bạn cũng có thể gắn thêm chip ESP Wifi hoặc Bluetooth lên PSLab và giao tiếp với PSLab thông qua những con chip này mà không cần gắn dây.

3.7. Có thể báo lỗi hoặc đóng góp cho dự án PSLab ở đâu ?

Bạn có thể tạo Issue hoặc Pull Request ở dự án bạn muốn báo bug hoặc gửi Pull Request trên các repo của PSLab trên Github:

3.8. Có thể xuất dữ liệu được ghi ở app PSLab ra ngoài ?

Được. Bạn có thể vào mục "Logged Data" trên app để xem dữ liệu được ghi lại và xuất ra file trên thiết bị. Chức năng này hiện vẫn đang được phát triển.

3.9. Tôi có thể đọc dữ liệu của một số cảm biến được tích hợp sẵn trên điện thoại của tôi từ app PSLab không ?

Được. Hiện tại app PSLab đang hỗ trợ đọc dữ liệu từ cảm biến ánh sáng và la bàn số.

3.10. Những loại cảm biến gắn ngoài nào có thể tích hợp được với PSLab ?

PSLab sử dụng giao thức I2C để giao tiếp với cảm biến và UART để giao tiếp với điện thoại hoặc máy tính kết nối với nó. Về lí thuyết mọi cảm biến hỗ trợ giao thức I2C đều có thể được tích hợp vào PSLab. 

Ngoài ra PSLab cũng có thể đọc dữ liệu từ các chân analog và digital để hỗ trợ các cảm biến không hỗ trợ I2C như quan trở, cảm biến nhiệt độ LM35, nút bấm, cảm biến khí gas MQ35,... hoặc thậm chí là DS18B20 (sử dụng giao thức 1-Wire) tuy nhiên bạn cần phải tự lập trình cho app thì mới đọc và hiển thị được dữ liệu. Vì app PSLab được opensource nên việc này cũng không quá phức tạp. 

Bạn có thể xem danh sách một số cảm biến được gợi ý sử dụng với PSLab tại trang Sensors - Pocket Science Lab

3.11. PSLab có thể đọc và lưu dữ liệu mà không cần kết nối đến điện thoại hoặc máy tính được không ?

Được tuy nhiên tính năng này vẫn đang được thử nghiệm tại thời điểm viết bài. Hiện tại bạn có thể xuất file cấu hình cho PSLab từ app và nạp nó vào PSLab thông qua việc update firmware cho board mạch. Sau khi được cấp nguồn 5V từ cổng USB, PSLab sẽ được hiện đọc và ghi dữ liệu theo file cấu hình mà không cần kết nối đến điện thoại hoặc máy tính để điều khiển nữa. Để lấy dữ liệu ra thì chỉ cần kết nối lại với app trên điện thoại hoặc máy tính là xong. 

Các phiên bản sau này của PSLab sẽ được bổ sung khả năng ghi dữ liệu vào thẻ nhớ SD card để thuận tiện hơn trong việc lấy dữ liệu.

3.12. Có thể xem sơ đồ nguyên lí của PSLab ở đâu ?

Phần cứng của PSLab được thiết kế bằng KiCad và lưu tại pslab-hardware.

3.13. PSLab được phát triển bởi ai ? Từ khi nào ? Câu chuyện phía sau nó là gì ?

PSLab được phát triển bởi cộng đồng các nhà phát triển tại FOSSASIA - một tổ chức phi lợi nhuận hỗ trợ các nhà phát triển và các nhà hoạch định về công nghệ mã nguồn mở miễn phí. Đã có hơn 100 nhà phát triển đã đóng góp cho PSLab trên nhiều dự án nhỏ khác nhau. Dự án PSLab được bắt đầu khi Praveen Kumar, một giáo viên vật lí người Ấn Độ đã đề xuất ý tưởng về một bộ kit thí nghiệm mở dứa trên ExpEYES ở FOSSASIA Summit 2014 tại Ấn Độ. Anh ấy đã giúp dự án ban đầu khởi động và đã xây dựng những phiên bản software components  đầu tiên cho ý tưởng của mình. 

Dự án được ra mắt chính thức 3 năm sau đó vào năm 2017 như là một phần của dự án GSoC Develop firmware and experiments for Pocket Science Lab (PSLab) thực hiện bởi Jithin BP. Trong dự án này, ExpEYES (Experiments for Young Engineers and Scientists) đã được sử dụng để tạo ra phiên bản đầu tiên của PSLab. Trong những năm tiếp theo, hardware của PSLab đã được cải tiến liên tục. Kích thước và thiết kế của PSLab được tối ưu để giảm chi phí sản xuất loạt. Nhiều tính năng mới cũng được thêm vào firmware. Bên cạnh đó, một ứng dụng Android cũng được tạo ra đồng thời phiên bản app desktop cũng được làm lại sử dụng framework Electron để chạy được cross platform.

Hình 8: Một bộ ExpEYES chạy trên Raspberry Pi

Từ 2018, Padmal M từ Sri Lanka đã dẫn đầu đội kĩ thuật và hình thành nên lộ trình phát triển cho PSLab cùng với Mario Behling, đội ngũ developer và contributor từ cộng đồng.

Từ 2019, FOSSASIA tiến hành sản xuất theo lô PSLab với số lượng lớn với mụch tiêu trở thành dự án Open Hardware hình mẫu, phát triển thương mại một cách bền vững và tạo cảm hứng cho cộng đồng để tạo ra thêm nhiều dự án Open Hardware cũng như Free và Open Source Software. 

Trong các bài viết tiếp theo, mình sẽ hướng dẫn chi tiết cách sử dụng một số tính năng đo đạc và thu thập dữ liệu trên PSLab.

lên
4 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

Bộ điều khiển PID - ứng dụng phần 2 - xe dò line dùng thuật toán PID

Tiép nối bài viết về xe dò line cảm ơn Đỗ Hữu Toàn đã viết hộ mình phần 4. hôm nay mình sẽ làm cho chiếc xe dò line đi mượt và có hồn hơn 

lên
34 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Hướng dẫn nạp chương trình đơn giản cho Arduino Uno R3

Trong bài viết này, bạn sẽ được hướng dẫn cách nạp chương trình đơn giản kiểu "Hello world" (điều khiển đèn LED nhấp nháy theo chu kì 1 giây) cho Arduino Uno R3.

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

randomSeed()

Hàm random() luôn trả về một số ngẫu nhiên trong phạm vi cho trước. Giả sử mình gọi hàm này 10 lần, nó sẽ trả về 10 giá trị số nguyên ngẫu nhiên. Nếu gọi nó n lần, random() sẽ trả về n số. Tuy nhiên những giá trị mà nó trả về luôn được biết trước (cố định).

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