Mục lục:

Ghi nhật ký dữ liệu từ xa có độ chính xác cao bằng đồng hồ vạn năng / Arduino / pfod
Ghi nhật ký dữ liệu từ xa có độ chính xác cao bằng đồng hồ vạn năng / Arduino / pfod

Video: Ghi nhật ký dữ liệu từ xa có độ chính xác cao bằng đồng hồ vạn năng / Arduino / pfod

Video: Ghi nhật ký dữ liệu từ xa có độ chính xác cao bằng đồng hồ vạn năng / Arduino / pfod
Video: Bộ Váy Hoa Súng gây bão truyền thông của Hoa Hậu Khánh Vân tại Miss Universe 2021 2024, Tháng bảy
Anonim
Ghi dữ liệu từ xa với độ chính xác cao bằng đồng hồ vạn năng / Arduino / pfodApp
Ghi dữ liệu từ xa với độ chính xác cao bằng đồng hồ vạn năng / Arduino / pfodApp
Ghi dữ liệu từ xa với độ chính xác cao bằng đồng hồ vạn năng / Arduino / pfodApp
Ghi dữ liệu từ xa với độ chính xác cao bằng đồng hồ vạn năng / Arduino / pfodApp
Ghi dữ liệu từ xa với độ chính xác cao bằng đồng hồ vạn năng / Arduino / pfodApp
Ghi dữ liệu từ xa với độ chính xác cao bằng đồng hồ vạn năng / Arduino / pfodApp

Cập nhật ngày 26 tháng 4 năm 2017 Mạch và bảng đã sửa đổi để sử dụng với đồng hồ USB 4000ZC.

Không cần mã hóa Android

Tài liệu hướng dẫn này cho bạn biết cách truy cập một loạt các phép đo có độ chính xác cao từ Arduino của bạn và cũng có thể gửi chúng từ xa để ghi nhật ký và vẽ biểu đồ. Để ghi dữ liệu tốc độ cao (2000 mẫu / giây), hãy xem hướng dẫn này, ghi dữ liệu tốc độ cao từ xa bằng Arduino / GL AR150 / Android / pfodApp

Bộ chuyển đổi AtoD được tích hợp trong Arduino có độ chính xác kém, thường là +/- 10% và phạm vi rất hạn chế, thường chỉ 0 đến 5V DC volt. Sử dụng một mạch và thư viện đơn giản, bạn có thể cung cấp cho Arduino của mình các phép đo tự động có độ chính xác cao từ đồng hồ vạn năng có kết nối RS232 được cách ly về mặt quang học. Có sẵn các phép đo cho bản phác thảo của bạn cho phép bạn kiểm soát kết quả đầu ra dựa trên các giá trị. Hướng dẫn này cũng bao gồm việc gửi phép đo từ xa, qua WiFi, Bluetooth, Bluetooth Low Energy hoặc SMS tới điện thoại di động Android để hiển thị, ghi nhật ký và vẽ biểu đồ bằng pfodApp.

Hướng dẫn này sử dụng bo mạch Arduino Mega2560 5V mà bạn có thể ghép nối với nhiều loại lá chắn giao tiếp, Ethernet, WiFi, Bluetooth V2 (cổ điển), Bluetooth LE hoặc SMS. Phần cứng và thư viện giao diện được trình bày ở đây có thể được sử dụng với các bo mạch tương thích Arduino 3.3V. Cũng như Mega2560, bạn có thể sử dụng nhiều loại bảng khác như UNO với và lá chắn Ehternet, bảng cơ sở ESP8266 (đứng một mình), bảng tích hợp Bluetooth Low Energy, như Arduino 101 hoặc các bảng kết nối với giao tiếp hệ thống phụ sử dụng SPI chẳng hạn như tấm chắn RedBear BLE và bảng SPI Bluefruit của Adafrut. pfodDesignerV2 hỗ trợ tất cả các kết hợp bảng này và sẽ tạo mã cho chúng. Điều kiện hạn chế là bạn cần có Serial phần cứng miễn phí để kết nối với lá chắn RS232 của Vạn năng này.

Mạch và mã được trình bày ở đây hoạt động với một số vạn năng. Một loại có sẵn, rẻ tiền, là Tekpower TP4000ZC, còn được gọi là Digitek TD-4000ZC. Các đồng hồ vạn năng hoạt động với mạch và thư viện này bao gồm Digitek DT-4000ZC, Digitech QM1538, Digitech QM1537, Digitek DT-9062, Digitek INO2513, Digitech QM1462, PeakTech 3330, Tenma 72-7745, Uni-Trend UT30A, Uni-Trend UT30E, Uni -Trend UT60E, Voltcraft VC 820, Voltcraft VC 840

Bước 1:

Hướng dẫn này có hai phần:

Phần đầu tiên bao gồm giao diện phần cứng với đồng hồ vạn năng và thư viện mã sử dụng Arduino Mega. Nếu bạn chỉ muốn thực hiện phép đo vào Arduino của mình thì đây là tất cả những gì bạn cần.

Phần thứ hai bao gồm việc gửi phép đo tới thiết bị di động Android từ xa để hiển thị, ghi nhật ký và vẽ biểu đồ. Trong ví dụ này, chúng tôi sẽ sử dụng lá chắn Bluetooth và tạo bản phác thảo cơ bản bằng pfodDesignerV2, nhưng bạn cũng có thể tạo mã cho các kết nối WiFi, Ethernet, Bluetooth Low Energy và SMS bằng pfodDesignerV2. Thư viện vạn năng sau đó được thêm vào bản phác thảo cơ bản để hoàn thành mã. Không cần mã hóa Android để hiển thị, ghi nhật ký và vẽ sơ đồ đọc. Mọi thứ đều được kiểm soát từ mã Arduino của bạn.

Dự án này cũng có sẵn trên mạng tại www.pfod.com.au

Để có màn hình hiển thị từ xa của đồng hồ vạn năng, hãy xem Hướng dẫn này, Kính dữ liệu Arduino cho đồng hồ vạn năng của tôi của Alain.

Bước 2: Đồng hồ vạn năng

Đồng hồ vạn năng
Đồng hồ vạn năng

Đồng hồ vạn năng được sử dụng trong hướng dẫn này là Tekpower TP4000ZC rẻ tiền (~ US40) (còn được gọi là Digitek DT-4000ZC) và Digitech QM1538 cũ hơn, không còn được bán nữa. Cả hai máy đo này đều giống nhau về mặt trực quan và sử dụng cùng một mã hóa RS232 của phép đo.

Đây là thông số kỹ thuật cho Tekpower TP4000ZC: -DC Điện áp: 400mV / 4/40 / 400V ± 0,5% + 5, 600V ± 0,8% Điện áp AC: 4/40 / 400V ± 0,8% + 5, 400mV / 600V ± 1,2% + Dòng điện 5DC: 400 / 4000μA ± 2.0% + 5, 40 / 400mA ± 1.5% + 5, 4 / 10A ± 2% + 5AC Dòng điện: 400 / 4000μA ± 2.5% + 3, 40 / 400mA ± 2% + 5, 4 / 10A ± 2,5% + 5 Điện trở: 400Ω / 4/40 / 400kΩ / 4MΩ ± 1% + 5, 40MΩ ± 2% + 5 Điện trở: 40nF ± 3,5% + 10, 400nF / 4 / 40μF ± 3% + 5, 100μF ± 3,5% + 5 Tần số: 10Hz-10MHz ± 0,1% + 5D Chu kỳ hoạt động: 0,1% -99,9% ± 2,5% + 5 Nhiệt độ: 0oC - + 40oC ± 3oC, -50oC - + 200oC ± 0,75% ± 3oC, + 200oC - + 750oC ± 1,5% ± 3oC, Độ phân giải 0,1oC qua đầu dò cặp nhiệt điện đi kèm.

Kết nối RS232 của đồng hồ vạn năng chỉ là một chiều và bạn không thể thay đổi cài đặt của đồng hồ vạn năng từ xa, vì vậy bạn cần chọn kiểu đo theo cách thủ công. Tuy nhiên, đồng hồ đo tự động điều chỉnh và các cài đặt Điện áp và Dòng điện xử lý cả AC và DC.

Bước 3: Phần cứng giao diện RS232

Phần cứng giao diện RS232
Phần cứng giao diện RS232
Phần cứng giao diện RS232
Phần cứng giao diện RS232
Phần cứng giao diện RS232
Phần cứng giao diện RS232

Có hai giao diện. Máy đo Digitek DT-4000ZC và Tekpower TP40000ZC mới hơn đi kèm với cáp USB. Trong khi Digitek QM1538 cũ hơn được cung cấp cáp kết nối RS232 9 chân D. Mạch trên (phiên bản pdf) cho thấy cách kết nối bộ ghép quang của nhiều mét với ổ cắm nối tiếp Arduino RX. Lưu ý: Mạch này đã được cập nhật để thêm một điện trở bảo vệ khác, R2, cho các máy đo Digitek DT-4000ZC và Tekpower TP40000ZC. Điện trở này không được bao gồm trên bảng kết nối 9pin D được hiển thị ở trên.

Digitek DT-4000ZC và Tekpower TP40000ZC

Đối với Digitek DT-4000ZC và Tekpower TP40000ZC, bạn cần có cáp âm thanh 3,5mm từ nam sang nam, âm thanh nổi hoặc đơn âm đều được và ổ cắm 3,5mm.

Digitek QM1538

Đối với Digitek QM1538 cũ hơn, bạn cần một ổ cắm 9 chân D. Đầu nối 9 chân D có các chân bù đắp sẽ không cắm vào tấm chắn nguyên mẫu. Chỉ cần cắt bỏ hàng 4 chân là bạn có thể hàn đầu nối vào bo mạch, vì mạch chỉ sử dụng chân ở hàng thứ hai gồm 5 chân. Các chân gắn được uốn cong để cho đầu nối nằm phẳng và đầu nối được giữ chặt vào tấm chắn nguyên mẫu bằng keo epoxy 2 phần (“Araldite”). Sơ đồ chân cắm được hiển thị ở trên là từ trang web này. Điện trở 10K được gắn bên trong đầu nối của cáp RS232 được cung cấp (kết nối giữa chân 2 và 3) là không cần thiết cho dự án này.

Kết nối tín hiệu với chân Arduino RX

Mạch này sẽ hoạt động cho cả bảng Arduino 5V và 3.3V. Ở đây chúng tôi đang sử dụng Arduino Mega2560 (5V) và gắn mạch trên một tấm chắn nguyên mẫu như hình trên.

Một dây dẫn bay được sử dụng để kết nối TP1 trên tấm chắn với Serial1 RX, chân D19, trên Mega2560.

Lưu ý về Nối tiếp phần mềm: Ban đầu tấm chắn này được ghép nối với một UNO sử dụng Nối tiếp phần mềm trên các chân 10, 11. Tuy nhiên, khi ghép nối với Tấm chắn Bluetooth trên Serial ở 9600baud, một số byte nhận bị mất. Di chuyển RS232 sang kết nối Nối tiếp phần cứng đã giải quyết được vấn đề này. Vì vậy, để hiển thị và ghi nhật ký từ xa đáng tin cậy, nếu bạn đang sử dụng lá chắn giao tiếp kết nối qua nối tiếp, bạn cần một bảng có hai hoặc nhiều Chuỗi phần cứng như Mega2560. Các lựa chọn thay thế khác là UNO có và tấm chắn Ehternet, bo mạch cơ sở ESP8266 (độc lập), bo mạch tích hợp Bluetooth Low Energy như Anduino 101 hoặc các bo mạch kết nối với hệ thống phụ giao tiếp sử dụng SPI như tấm chắn RedBear BLE và Adafrut's Bluefruit SPI bảng. pfodDesignerV2 hỗ trợ tất cả các bảng này và sẽ tạo mã cho chúng.

Bước 4: Thư viện PfodVC820MultimeterParser

Tekpower TP4000ZC và một số đa mét khác không gửi phép đo qua RS232 dưới dạng văn bản ASCII, mà nó gửi 14 byte với các bit được đặt tùy thuộc vào phân đoạn nào của màn hình LCD được chiếu sáng. Mã hóa của 14 byte được giải thích trong pdf này. Thư viện pfodVC820MeterParser.zip giải mã các byte này thành các chuỗi văn bản và thả nổi. (VC820 đề cập đến một trong các đồng hồ đo sử dụng mã hóa này.) Cũng xem QtDMM dành cho Windows, Mac và phần mềm máy tính Linux xử lý một loạt các đồng hồ đo.

Có một ví dụ nhỏ nhất, MeterParserExample.ino, về việc sử dụng thư viện pfodVC820MeterParser. Kết nối máy đo với kết nối nối tiếp 2400baud và sau đó gọi hasReading () từng vòng lặp để xử lý các byte. haveReading () sẽ trả về true khi có một bài đọc hoàn chỉnh mới được phân tích cú pháp. Sau đó, bạn có thể gọi getAsFloat () để nhận giá trị (được chia tỷ lệ) dưới dạng float hoặc getAtStr () để nhận giá trị với tỷ lệ để in và ghi nhật ký. Có các phương thức khác có sẵn để truy cập kiểu đo lường, getTypeAsStr () và getTypeAsUnicode (), cũng như các phương thức tiện ích khác.

#include "pfodVC820MeterParser.h" pfodVC820MeterParser mét; // void setup () {Serial.begin (74880); Serial1.begin (2400); mét.connect (& Serial1); } float đọc; void loop () {if (meter.haveReading ()) {read = meter.getAsFloat (); // sử dụng cái này để tính toán Arduino Serial.print ("Đọc với đơn vị:"); Serial.print (mét.getDigits ()); Serial.print (mét.getScalingAsStr ()); Serial.print (mét.getTypeAsStr ()); Serial.print (F ("= as float in (6 kieu):")); Serial.println (đang đọc, 6); Serial.println ("Thời gian (giây) và Đọc dưới dạng chuỗi để ghi nhật ký"); Serial.print (((float) millis ()) / 1000.0); Serial.print (", sec,"); Serial.print (mét.getAsStr ()); Serial.print (','); Serial.println (meter.getTypeAsStr ()); }}

Với đồng hồ được đặt ở độ C và sử dụng đầu dò cặp nhiệt điện, bản phác thảo ví dụ cung cấp đầu ra này trên màn hình nối tiếp Arduino IDE

Đọc với các đơn vị: 25,7C = dưới dạng in nổi (6 chữ số): 25,700000 Thời gian (giây) và Đọc dưới dạng chuỗi để ghi nhật ký 2,40, giây, 25,7, C

Bước 5: Phần 2 - Hiển thị từ xa, ghi nhật ký và vẽ sơ đồ

Phần này của hướng dẫn bao gồm cách hiển thị từ xa, ghi nhật ký và vẽ biểu đồ chỉ số đồng hồ trên điện thoại di động Android của bạn. pfodApp được sử dụng để xử lý hiển thị, ghi nhật ký và vẽ biểu đồ trên điện thoại di động Android của bạn. Không cần lập trình Android. Tất cả các hiển thị, ghi nhật ký và vẽ biểu đồ hoàn toàn được kiểm soát bởi bản phác thảo Arduino của bạn. Ứng dụng pfodDesignerV2 miễn phí cho phép bạn thiết kế menu và biểu đồ Android, sau đó tạo bản phác thảo Arduino cho bạn.

pfodApp hỗ trợ một số loại kết nối, Ethernet, WiFi, Bluetooth V2 (cổ điển), Bluetooth LE hoặc SMS. Hướng dẫn này sử dụng Arduino 101 (Bluetooth Low Energy) để ghi và vẽ dữ liệu. Các bo mạch Bluetooth Low Energy khác cũng được hỗ trợ. Hướng dẫn này sử dụng SMS để kết nối với pfodApp. Bạn có thể sử dụng pfodDesignerV2 để thêm ghi dữ liệu và biểu đồ vào ví dụ SMS đó. pfodDesignerV2 cũng có các tùy chọn để tạo mã Arduino vào lá chắn Bluetooth V2 (cổ điển) để kết nối với pfodApp.

Đối với ví dụ này, chúng tôi sẽ sử dụng Iteadstudio Bluetooth Shield V2.2 kết nối với Arduino Mega2560 thông qua kết nối nối tiếp 9600baud. Sử dụng ứng dụng pfodDesignerV2 miễn phí, chúng tôi thiết lập một menu đơn giản chỉ có một nhãn để hiển thị số đo của đồng hồ và một nút để mở biểu đồ. Trang này có một số hướng dẫn pfodDesignerV2. Khi chúng tôi có bản phác thảo cơ bản, chúng tôi sẽ sửa đổi nó để thêm bộ phân tích cú pháp đồng hồ và gửi số liệu và số liệu đồng hồ đo để ghi nhật ký và lập biểu đồ.

Thiết kế Menu

Trong phần này, chúng tôi sẽ thiết kế một menu Android / pfodApp sẽ hiển thị số đọc đồng hồ và một nút để mở biểu đồ của các số đọc. Các bài đọc cũng được lưu vào một tệp trên điện thoại di động Android

Bước 6: Thêm nhãn

Thêm nhãn
Thêm nhãn
Thêm nhãn
Thêm nhãn
Thêm nhãn
Thêm nhãn

Cài đặt pfodDesignerV2 miễn phí và bắt đầu một menu mới.

Mục tiêu mặc định là Serial ở 9600baud, đây là những gì cần cho Iteadstudio Bluetooth Shield V2.2. Nếu bạn đang kết nối bằng thiết bị Bluetooth Low Energy hoặc Wifi hoặc SMS thì hãy nhấp vào Target để thay đổi lựa chọn.

Để thêm nhãn để hiển thị chỉ số công tơ, hãy nhấp vào Thêm mục Menu và chọn kéo xuống để chọn Nhãn.

Chọn kích thước và màu sắc phông chữ phù hợp. Để nguyên Văn bản dưới dạng Nhãn vì chúng tôi sẽ sửa đổi mã đã tạo để thay thế mã này bằng số đo đồng hồ sau này. Ở đây chúng tôi đã đặt kích thước phông chữ thành +7, màu phông chữ là Đỏ và nền là Bạc.

Quay lại màn hình Trình đơn chỉnh sửa_1 và đặt Khoảng thời gian làm mới 1 giây. Điều này sẽ khiến pfodApp yêu cầu lại menu khoảng một lần một giây để hiển thị lần đọc mới nhất trong Nhãn.

Bước 7: Thêm nút biểu đồ

Thêm nút biểu đồ
Thêm nút biểu đồ
Thêm nút biểu đồ
Thêm nút biểu đồ
Thêm nút biểu đồ
Thêm nút biểu đồ
Thêm nút biểu đồ
Thêm nút biểu đồ

Nhấp vào Thêm mục Menu một lần nữa để thêm Nút biểu đồ.

Chỉnh sửa văn bản của Nút biểu đồ thành một thứ gì đó phù hợp, ví dụ: chỉ cần “Biểu đồ” và chọn cỡ chữ và màu sắc.

Sau đó nhấp vào nút “Biểu đồ” để mở màn hình chỉnh sửa cốt truyện. Sẽ chỉ có một âm mưu, vì vậy hãy nhấp vào nút Chỉnh sửa lô 2 và Chỉnh sửa lô 3, cuộn xuống và nhấp vào Ẩn lô cho mỗi nút.

Chỉnh sửa nhãn biểu đồ thành một cái gì đó phù hợp, ví dụ: "Đồng hồ vạn năng". Không cần thay đổi bất kỳ cài đặt cốt truyện nào khác vì chúng tôi sẽ sửa đổi bản phác thảo để gửi nhãn trục y khác nhau tùy thuộc vào cài đặt vạn năng.

Cuối cùng, quay lại Menu Chỉnh sửa_1 và Lời nhắc Chỉnh sửa, thao tác này sẽ đặt văn bản ở cuối menu và màu nền tổng thể của menu. Ở đây chúng tôi đã đặt lời nhắc thành “Đồng hồ vạn năng từ xa” với kích thước phông chữ +3 và màu nền là Bạc.

Bây giờ bạn có thể quay lại Trình đơn chỉnh sửa_1 và nhấp vào Trình đơn xem trước để xem trước thiết kế trình đơn.

Nếu bạn không thích thiết kế, bạn có thể thay đổi nó trước khi tạo mã. Nếu bạn muốn xóa Nhãn khỏi nút, bạn có thể thêm một số nhãn trống như được mô tả ở đây. Thêm biểu đồ và dữ liệu ghi nhật ký về cách hiển thị / vẽ sơ đồ dữ liệu Arduino trên Android là một hướng dẫn khác về lập danh mục dữ liệu và biểu đồ pfodDesignerV2 / pfodApp.

Bước 8: Tạo bản phác thảo Arduino

Tạo bản phác thảo Arduino
Tạo bản phác thảo Arduino
Tạo bản phác thảo Arduino
Tạo bản phác thảo Arduino

Để tạo mã Arduino sẽ hiển thị menu này trong pfodApp, hãy quay lại màn hình Chỉnh sửa Menu_1 và cuộn xuống và nhấp vào nút Tạo mã.

Nhấp vào nút “Viết mã vào tệp” để xuất bản phác thảo Arduino sang tệp /pfodAppRawData/pfodDesignerV2.txt trên điện thoại di động của bạn. Sau đó, thoát khỏi pfodDesignerV2. Chuyển tệp pfodDesignerV2.txt sang PC của bạn bằng kết nối USB hoặc ứng dụng truyền tệp, chẳng hạn như truyền tệp wifi pro. Bản sao của bản phác thảo đã tạo ở đây, pfodDesignerV2_meter.txt

Tải bản phác thảo vào Arduino IDE của bạn và lập trình bảng Uno (hoặc Mega) của bạn. Sau đó thêm Iteadstudio Bluetooth Shield V2.2. Cài đặt pfodApp trên điện thoại di động Android của bạn và tạo kết nối Bluetooth mới có tên, chẳng hạn như Đồng hồ vạn năng. Xem pfodAppForAndroidGettingStarted.pdf để biết cách tạo kết nối mới. Sau đó, khi bạn sử dụng pfodApp để mở kết nối Đồng hồ vạn năng, bạn sẽ thấy menu được thiết kế của mình.

Mở Biểu đồ không hiển thị bất kỳ điều gì thú vị vì chúng tôi chưa thêm vào phần cứng / phần mềm vạn năng.

Bước 9: Thêm đồng hồ vạn năng

Thêm đồng hồ vạn năng
Thêm đồng hồ vạn năng
Thêm đồng hồ vạn năng
Thêm đồng hồ vạn năng
Thêm đồng hồ vạn năng
Thêm đồng hồ vạn năng

Chúng tôi sẽ sửa đổi bản phác thảo đã tạo để thêm trình phân tích cú pháp vạn năng và gửi dữ liệu của nó đến điện thoại di động Android của bạn. Bản phác thảo được sửa đổi hoàn chỉnh có ở đây, pfod_meter.ino

Những sửa đổi này bổ sung trình phân tích cú pháp vạn năng và bộ đếm thời gian 5 giây. Nếu không có số đọc hợp lệ mới trong thời gian đó thì bản phác thảo sẽ ngừng gửi dữ liệu và cập nhật màn hình Android / pfodApp thành “- - -“. Khi lựa chọn thủ công của đồng hồ được thay đổi, các nhãn biểu đồ được cập nhật, nhưng bạn cần thoát khỏi biểu đồ và chọn lại để xem các nhãn mới. Mặt khác, chỉ số của đồng hồ được cập nhật tự động mỗi giây. Cuối cùng pfodApp xử lý Unicode theo mặc định vì vậy khi hiển thị đồng hồ đọc, phương thức getTypeAsUnicode () được sử dụng để trả về Unicode cho ohms, Ω và degsC, ℃ cho màn hình đồng hồ.

Nút biểu đồ hiển thị biểu đồ cập nhật của các bài đọc: -

Dữ liệu biểu đồ, ở định dạng CSV, cũng được lưu vào tệp vào điện thoại di động Android của bạn dưới /pfodAppRawData/Mulitmeter.txt để chuyển sang máy tính của bạn sau này và nhập vào bảng tính để tính toán và lập biểu đồ thêm.

Bước 10: Chi tiết sửa đổi phác thảo

  1. Tải xuống thư viện pfodVC820MeterParser.zip và sau đó mở Arduino IDE và nhấp vào Phác thảo → Bao gồm Thư viện → Thêm.zip để thêm thư viện này vào IDE của bạn.
  2. Thêm thư viện pfodVC820MeterParser vào bản phác thảo. Nhấp vào Phác thảo → Bao gồm Thư viện → pfodVC820MeterParser. Thao tác này sẽ thêm các câu lệnh bao gồm ở trên cùng của bản phác thảo.
  3. Chỉnh sửa pfodParser_codeGenerated parser ("V1"); thành pfodParser_codeGenerated parser (""); Thao tác này sẽ vô hiệu hóa bộ nhớ đệm menu trong pfodApp để các thay đổi menu của bạn sẽ được hiển thị. Bạn có thể hoàn nguyên về “V3” khi bạn đã hoàn thành tất cả các thay đổi của bạn để bật lại bộ nhớ đệm menu.
  4. Thêm các dòng này để tạo các đối tượng cho nối tiếp phần mềm và đồng hồ vạn năng. máy đo pfodVC820MeterParser;
  5. Vào cuối thiết lập () thêm Serial1.begin (2400); mét.connect (& Serial1);
  6. Vòng lặp trên () thêm unsigned long validReadingTimer = 0; const unsigned long VALID_READINGS_TIMEOUT = 5000; // 5secs bool haveValidReadings = true; // đặt thành true khi có giá trị đọc hợp lệ int MeasureType = meter. NO_READING; và ở đầu vòng lặp () thêm if (meter.haveReading ()) {if (meter.isValid ()) {validReadingTimer = millis (); haveValidReadings = true; } int newType = meter.getType (); if (MeasureType! = newType) {// xuất tiêu đề lập danh mục dữ liệu mới parser.print (F ("sec,")); parser.println (meter.getTypeAsStr ()); } MeasureType = newType; } if ((millis () - validReadingTimer)> VALID_READINGS_TIMEOUT) {haveValidReadings = false; // không có bài đọc hợp lệ mới nào trong 5 giây qua}
  7. Tiếp tục xuống trong vòng lặp thay thế parser.print (F ("{= Multimeter | time (secs) | Plot_1 ~~~ ||}")); with parser.print (F ("{= Multimeter | time (secs) | Meter Reading ~~~")); parser.print (mét.getTypeAsStr ()); parser.print (F ("||}"));
  8. Ở cuối vòng lặp () thay thế sendData (); với if (haveValidReadings) {sendData (); }
  9. Trong sendData () thay thế parser.print (','); parser.print (((float) (plot_1_var-plot_1_varMin)) * plot_1_scaling + plot_1_varDisplayMin); với parser.print (','); parser.print (mét.getAsStr);
  10. Trong sendMainMenu () thay thế parser.print (F ("~ Nhãn")); với parser.print ('~'); if (haveValidReadings) {parser.print (meter.getDigits ()); parser.print (mét.getScalingAsStr ()); parser.print (meter.getTypeAsUnicode ()); } else {parser.print (F ("- - -")); }
  11. Trong sendMainMenuUpdate () thêm parser.print (F ("|! A")); parser.print ('~'); if (haveValidReadings) {parser.print (meter.getDigits ()); parser.print (mét.getScalingAsStr ()); parser.print (meter.getTypeAsUnicode ()); } else {parser.print (F ("- - -")); } Để cập nhật giá trị đọc khi sử dụng bộ nhớ đệm trình đơn.

Phần kết luận

Hướng dẫn này đã chỉ ra cách kết nối đồng hồ vạn năng rẻ tiền với Arduino Mega2560 qua RS232. Nhiều bảng khác cũng được hỗ trợ. PfodVC820MeterParserlibrary phân tích cú pháp dữ liệu vạn năng thành các phao để tính toán Arduino và các chuỗi để hiển thị và ghi nhật ký. pfodDesignerV2 được sử dụng để tạo một bản phác thảo cơ bản để hiển thị số đọc của đồng hồ vạn năng và hiển thị biểu đồ của các giá trị trong điện thoại di động Android bằng pfodApp. Không cần lập trình Android. Đối với bản phác thảo cơ bản này, việc xử lý đồng hồ vạn năng đã được thêm vào và bản phác thảo cuối cùng hiển thị số đọc đồng hồ vạn năng hiện tại trên điện thoại di động Android của bạn cũng như vẽ biểu đồ các kết quả đọc và ghi chúng vào một tệp trên thiết bị di động của bạn để sử dụng sau này.

Đề xuất: