สารบัญ:

Arduino/Android สำหรับผู้เริ่มต้น ไม่จำเป็นต้องมีการเข้ารหัส - ข้อมูลและการควบคุม: 15 ขั้นตอน
Arduino/Android สำหรับผู้เริ่มต้น ไม่จำเป็นต้องมีการเข้ารหัส - ข้อมูลและการควบคุม: 15 ขั้นตอน

วีดีโอ: Arduino/Android สำหรับผู้เริ่มต้น ไม่จำเป็นต้องมีการเข้ารหัส - ข้อมูลและการควบคุม: 15 ขั้นตอน

วีดีโอ: Arduino/Android สำหรับผู้เริ่มต้น ไม่จำเป็นต้องมีการเข้ารหัส - ข้อมูลและการควบคุม: 15 ขั้นตอน
วีดีโอ: #4 สอน Arduino Tutorial : เขียนโปรแกรม if else เช็คเงื่อนไข 2024, ธันวาคม
Anonim
Arduino/Android สำหรับผู้เริ่มต้น ไม่จำเป็นต้องมีการเข้ารหัส - ข้อมูลและการควบคุม
Arduino/Android สำหรับผู้เริ่มต้น ไม่จำเป็นต้องมีการเข้ารหัส - ข้อมูลและการควบคุม

อัปเดต 23 เมษายน 2019 -- สำหรับการพล็อตวันที่/เวลาโดยใช้ Arduino millis() เท่านั้น โปรดดูที่ Arduino Date/Time Plotting/Logging โดยใช้ Millis() และ PfodApp pfodDesigner V3.0.3610+ ฟรีล่าสุดสร้างภาพร่าง Arduino ที่สมบูรณ์เพื่อลงจุดข้อมูลกับวันที่/เวลา ใช้ Arduino millis() ไม่ต้องใช้ Android หรือ Arduino CODING

==========================================================================

โครงการนี้เหมาะสำหรับผู้เริ่มต้นที่สมบูรณ์ ไม่จำเป็นต้องมีประสบการณ์การเขียนโค้ดอย่างแน่นอน เมื่อคุณทำตามคำแนะนำนี้เสร็จแล้ว คุณจะสามารถออกแบบเมนูใดก็ได้ที่คุณต้องการเพื่อแสดง พล็อตและบันทึกข้อมูล Arduino การอ่านแบบอะนาล็อกและอินพุตดิจิตอล และควบคุมเอาต์พุต Arduino เอาต์พุต PWM และเอาต์พุตดิจิทัล

โดยเฉพาะอย่างยิ่งคำแนะนำนี้จะแสดงวิธีการแสดง พล็อตและบันทึกการอ่านแบบอะนาล็อกและแสดงสถานะของอินพุตดิจิตอลและควบคุมเอาต์พุต PWM และพัลส์เอาต์พุตดิจิทัล หากต้องการเปิดและปิดบางอย่างจริงๆ โปรดดูวิธีเพิ่มรีเลย์ไปยัง Arduino และ Simple Home Automation สำหรับผู้เริ่มต้น นอกจากนี้ยังมีบทช่วยสอน pfodDesigner เพิ่มเติมและบทช่วยสอนอื่น ๆ เกี่ยวกับการบันทึกข้อมูลและการทำพล็อต

ไม่จำเป็นต้องมีการเข้ารหัสสำหรับคำแนะนำนี้อย่างแน่นอน ไม่จำเป็นต้องเขียนโค้ด Arduino pfodDesignerV2 ฟรีจะสร้างโค้ดทั้งหมดที่คุณต้องการ ไม่จำเป็นต้องใช้รหัส Android วัตถุประสงค์ทั่วไปของ Android pfodApp จะแสดงเมนูและข้อมูลและแปลงและบันทึกข้อมูลและจัดการอินพุตของผู้ใช้ อย่างไรก็ตาม คำแนะนำนี้ครอบคลุมเฉพาะบางหน้าจอและตัวเลือกการแสดงผลที่มีใน pfodApp ตรวจสอบ pfodSpecification ที่สมบูรณ์สำหรับรายละเอียดทั้งหมด

คำแนะนำนี้ยังออนไลน์อยู่ที่วิธีแสดง / พล็อตข้อมูล Arduino บน Android โดยใช้ pfodDesignerV2 / pfodApp - ไม่จำเป็นต้องเข้ารหัสอย่างแน่นอน

ขั้นตอนที่ 1: ฮาร์ดแวร์ Android/Arduino รองรับอะไรบ้าง

pfodApp ทำงานบนโทรศัพท์มือถือ Android, V2.1 เป็นต้นไป และสามารถเชื่อมต่อโดยใช้ Bluetooth Classic, Bluetooth Low Energy (BLE), Wifi และ SMS

ทางด้าน Arduino pfodDesignerV2 จะสร้างโค้ดสำหรับ Arduino 101 (BLE), UNO และความเข้ากันได้ (MEGA 2650 เป็นต้น), บอร์ด ESP8266, RedBear BLE, RFduino และ Ethernet, Bluetooth, Bluetooth LE, WiFi และ SMS shields ที่หลากหลาย

ขั้นตอนที่ 2: การออกแบบและทดสอบการแสดงข้อมูลและเมนูป้อนข้อมูล

สิ่งที่คุณต้องทำก่อนเริ่ม

โปรเจ็กต์นี้เหมาะสำหรับผู้เริ่มต้นที่สมบูรณ์ แต่คุณต้องทำงานสองสามอย่างให้เสร็จก่อนที่จะเริ่ม คุณต้องตั้งค่า Arduino IDE ก่อน ติดตั้ง pfodDesignerV2 และตรวจสอบให้แน่ใจว่าคุณสามารถถ่ายโอนสเก็ตช์สุดท้าย (ไฟล์โค้ด) ที่ pfodDesignerV2 สร้างขึ้นจากมือถือของคุณไปยังคอมพิวเตอร์ของคุณ

  1. ติดตั้ง Arduino IDE สำหรับระบบปฏิบัติการของคอมพิวเตอร์ของคุณจากการเริ่มต้นใช้งาน Arduino และทำงานผ่านตัวอย่างการคอมไพล์และเรียกใช้ตัวอย่าง Blink
  2. ติดตั้งแอพ pfodDesignerV2 ฟรีบนมือถือ Android ของคุณ
  3. ตรวจสอบว่าคุณสามารถถ่ายโอนไฟล์จากมือถือของคุณไปยังคอมพิวเตอร์โดยใช้สาย USB หรือแอปถ่ายโอนไฟล์ เช่น WiFi File Transfer ดู pfodAppForAndroidGettingStarted.pdf สำหรับรายละเอียดเพิ่มเติม

สิ่งที่คุณต้องซื้อ

pfodDesignerV2 นั้นฟรี ดังนั้นคุณสามารถทำตามคำแนะนำนี้ได้เกือบทั้งหมดด้วย pfodDesignerV2 บนมือถือ Android ของคุณ แต่ถ้าคุณต้องการแสดง/พล็อตข้อมูลจริงๆ หรือเปิด/ปิดบางอย่าง คุณจะต้องซื้อบอร์ดที่เข้ากันได้กับ Arduino และ pfodApp

บทช่วยสอนนี้จะใช้ Arduino 101 / Genuino 101 เป็นบอร์ดตัวอย่าง มีการสื่อสาร Bluetooth LE ในตัว แต่คุณสามารถใช้ฮาร์ดแวร์อื่นๆ ได้หลากหลาย ดูหน้านี้สำหรับบอร์ดและชีลด์ BLE อื่น ๆ หรือหน้านี้สำหรับการใช้บอร์ด ESP2866 หรือหน้านี้สำหรับแผงป้องกัน WiFi ของ ESP8266 หรือหน้านี้สำหรับการใช้ Uno/Mega กับตัวป้องกันที่เชื่อมต่อผ่านซีเรียล หรือหน้านี้สำหรับการใช้ตัวป้องกัน SMS คุณยังสามารถสร้างโค้ดสำหรับ Arduino Ethernet shield ได้อีกด้วย

หมายเหตุ: โทรศัพท์มือถือ Android บางรุ่นไม่รองรับการเชื่อมต่อ BLE ดังนั้นโปรดตรวจสอบมือถือของคุณก่อนตัดสินใจว่าจะซื้อบอร์ด/ชีลด์ใด หากมือถือของคุณรองรับ BLE มือถือของคุณต้องใช้งาน Android V4.4 หรือสูงกว่าเพื่อรับการเชื่อมต่อ BLE ที่มีประโยชน์

ขั้นตอนที่ 3: การออกแบบเมนู - เมนูใหม่และพร้อมท์

การออกแบบเมนู - เมนูใหม่และพร้อมท์
การออกแบบเมนู - เมนูใหม่และพร้อมท์
การออกแบบเมนู - เมนูใหม่และพร้อมท์
การออกแบบเมนู - เมนูใหม่และพร้อมท์
การออกแบบเมนู - เมนูใหม่และพร้อมท์
การออกแบบเมนู - เมนูใหม่และพร้อมท์

คำแนะนำนี้จะครอบคลุมรายการเมนูห้า (5) รายการ, การแสดงข้อมูลเพื่อแสดงการอ่านแบบอะนาล็อกที่ปรับขนาดเป็นหน่วยโลกแห่งความจริง, การแสดงเปิด/ปิดเพื่อแสดงสถานะของอินพุตดิจิตอล, เอาต์พุต PWM เพื่อตั้งค่าเอาต์พุต pwm และการตั้งค่าเปิด/ปิดเป็น ตั้งค่าหรือพัลส์เอาต์พุตดิจิทัลและแผนภูมิเพื่อพล็อตการอ่านแบบอะนาล็อกที่ปรับขนาดเป็นหน่วยในโลกแห่งความเป็นจริง แต่ละรายการเหล่านี้มีข้อความ รูปแบบ และการแสดงผลที่ออกแบบได้ แต่ก่อนอื่นคุณต้องเปิด pfodDesignerV2 และสร้างเมนูใหม่

เริ่มเมนูใหม่

ดาวน์โหลดและติดตั้ง pfodDesignerV2 จาก GooglePlay

เมื่อเปิด pfodDesignerV2 คุณจะเห็นปุ่ม Start new Menu แต่ละหน้าจอยังมีปุ่มช่วยเหลือ

การตั้งค่าช่วงเวลารีเฟรช

การคลิกปุ่มเริ่มเมนูใหม่จะแสดงรายการการทำงานที่พร้อมใช้งานสำหรับเมนูใหม่ เมนูใหม่ถูกสร้างขึ้นโดยไม่มีปุ่มและชื่อเมนูเริ่มต้น Menu_1 เราต้องการให้ pfodApp ขอเมนูนี้อีกครั้งในช่วงเวลาปกติเพื่อรับค่าล่าสุด ดังนั้นให้ใช้ตัวเลื่อนช่วงเวลาการรีเฟรชเพื่อตั้งค่าช่วงเวลาการรีเฟรชเป็น 1 วินาที

ดูตัวอย่างเมนู

คลิกเมนูแสดงตัวอย่างเพื่อดูว่าการออกแบบปัจจุบันมีลักษณะอย่างไร ยังไม่มีปุ่ม มีเพียงข้อความแจ้งเริ่มต้นที่ด้านล่าง ใช้ปุ่มย้อนกลับของมือถือเพื่อกลับไปที่หน้าจอการแก้ไขเพื่อแก้ไขข้อความแจ้งเริ่มต้นสำหรับสิ่งที่มีประโยชน์มากกว่า

การเปลี่ยนพรอมต์

คลิกที่ Edit Prompt เพื่อเปิดหน้าจอ Editing Prompt พรอมต์คือข้อความที่แสดงต่อผู้ใช้ที่ด้านล่างของรายการปุ่มเมนูที่เลื่อนได้ ในหน้าจอพร้อมท์การแก้ไข การแสดงตัวอย่างพร้อมท์จะแสดงที่ด้านล่างของหน้าจอ

คลิกแก้ไขข้อความแจ้งและตั้งค่าข้อความเป็น "Arduino Data" pfodApp จะบิดเบือนข้อความโดยอัตโนมัติหากกว้างเกินไปสำหรับหน้าจอ คุณสามารถขึ้นบรรทัดใหม่ระหว่าง 'Arduino' และ 'Data' เพื่อบังคับข้อความในสองบรรทัด

คลิกช่องทำเครื่องหมายเพื่อยอมรับการเปลี่ยนแปลงเหล่านี้และแสดงหน้าจอพร้อมท์เมนูการแก้ไขอีกครั้งพร้อมข้อความแจ้งที่อัปเดตที่ด้านล่างของหน้าจอ

จากนั้นกำหนดขนาดฟอนต์เป็น, สีพื้นหลังเป็น น้ำเงิน และตั้งค่า ตัวหนา (เลื่อนลงเพื่อเข้าถึงตัวเลือกการจัดรูปแบบอื่นๆ) สีขาวเป็นสีข้อความเริ่มต้น คุณสามารถเปลี่ยนได้หากต้องการ

ชุดสีพื้นหลังสำหรับพรอมต์ยังตั้งค่าสีพื้นหลังเริ่มต้นสำหรับเมนูทั้งหมด

ขั้นตอนที่ 4: การออกแบบเมนู - การแสดงข้อมูลแอนะล็อก

การออกแบบเมนู - การแสดงข้อมูลแอนะล็อก
การออกแบบเมนู - การแสดงข้อมูลแอนะล็อก
การออกแบบเมนู - การแสดงข้อมูลแอนะล็อก
การออกแบบเมนู - การแสดงข้อมูลแอนะล็อก
การออกแบบเมนู - การแสดงข้อมูลแอนะล็อก
การออกแบบเมนู - การแสดงข้อมูลแอนะล็อก

รายการเมนูแรกที่จะถูกเพิ่มคือการแสดงค่าอินทิกรัลที่ปรับขนาดเป็นค่าโลกแห่งความจริง พร้อมข้อความอธิบายและหน่วย กลับไปที่หน้าจอ Editing Menu_1 และคลิกที่ Add Menu Item นี่จะแสดงรายการเมนูที่คุณสามารถเพิ่มได้ เลื่อนลงมาเล็กน้อยเพื่อแสดงตัวเลือกการแสดงข้อมูล

คลิกที่ตัวเลือกการแสดงข้อมูลเพื่อเพิ่มและเปิดหน้าจอแก้ไข

การแสดงข้อมูลยอมรับเฉพาะค่าข้อมูลสำคัญจาก pfodDevice ของคุณ (Arduino ของคุณ) ค่าข้อมูลรวมมีช่วงที่ระบุ (ค่าเริ่มต้น 0 ถึง 1023) ซึ่งจับคู่กับช่วงการแสดงผล (Display Min.. Display Max) ในมือถือ Android ของคุณและแสดงโดยใช้ข้อความนำหน้า ค่าที่แมป และข้อความต่อท้าย ค่าที่แมปจะแสดงบนแถบแนวนอนด้วย

ในตัวอย่างนี้ การอ่าน ADC มาจาก A0 ของ Arduino 101 การอ่าน ADC นี้มีตั้งแต่ 0 ถึง 1023 นับ เช่น ตัวแปลง 10 บิต และใช้แรงดันอ้างอิง 3.3V นั่นคือ 1023 นับเท่ากับอินพุต 3.3V สำหรับบอร์ด Uno 1023 จำนวนคือ 5 โวลต์โดยค่าเริ่มต้น ในขณะที่สำหรับบอร์ด ESP8266 1023 คือ 1.0V ดังนั้นคุณจึงตั้งค่า Display Max เพื่อให้ pfodApp แสดงการแสดงผลที่ถูกต้องสำหรับค่าข้อมูล 1023

ในตัวอย่างนี้ แก้ไขข้อความนำหน้าเป็น 'A0 ' โดยเว้นวรรคหลัง 0 แก้ไขข้อความต่อท้ายเป็น 'V' โดยไม่มีการเว้นวรรค แก้ไข Display Max เป็น '3.3' เนื่องจากเราใช้บอร์ด Arduino 101 เพื่อวัดโวลต์ด้วยตัวแปลง 10 บิต โดยที่ 1023 นับ == 3.3V

pfodApp ช่วยให้มั่นใจได้ว่าจำนวนตำแหน่งทศนิยมที่แสดงเกินความละเอียดของค่าข้อมูล เลื่อนลงมาคุณจะเห็นปุ่มแก้ไขช่วงตัวแปรข้อมูล ปุ่มนี้ให้คุณตั้งค่าช่วงที่คาดไว้ / ที่ถูกต้องของค่าข้อมูล และใช้เป็นช่วงที่จะจับคู่กับค่าที่ระบุ (Display Min.. Display Max) ค่าดีฟอลต์ (0.. 1023) คือสิ่งที่จำเป็นสำหรับการอ่าน ADC แต่สามารถเปลี่ยนให้ตรงกับช่วงของตัวแปรข้อมูลที่จะแสดงได้

หากคุณกำลังรับข้อมูลจากตัวแปลง 12 บิต ช่วงตัวแปรข้อมูลที่ป้อนควรเป็น 0 ถึง 4095 สำหรับ 16 บิต จะเป็น 0 ถึง 65535 ตัวอย่าง: หากคุณกำลังรับข้อมูลจาก ADC 12 บิต เชื่อมต่อกับ 1,000 kPa ทรานสดิวเซอร์แรงดัน จากนั้นป้อน 0 ถึง 4095 เป็นช่วงตัวแปรข้อมูล, 0 เป็น Display Min, 1000 เป็น Display Max และ 'kPa' เป็นข้อความต่อท้าย ดังนั้น 1000kPa จะแสดงขึ้นเมื่อ Arduino ส่งข้อมูลการอ่าน 4095

นอกจากการตั้งค่าขนาดแบบอักษร สี ลักษณะและพื้นหลังแล้ว ยังมีตัวเลือกในการแสดงข้อความหรือตัวระบุแถบหรือทั้งสองอย่างโดยคลิกที่ปุ่มแสดงข้อความและตัวเลื่อนเพื่อสลับระหว่างตัวเลือกเหล่านี้:-แสดงข้อความและ SliderDisplay ข้อความเท่านั้นแสดงแถบเลื่อนเท่านั้น

ตัวอย่างนี้จะแสดงทั้งข้อความและตัวบ่งชี้แถบ (ตัวเลื่อน) หมายเหตุ: ไม่สามารถย้ายแถบเลื่อนได้ รายการเมนูนี้มีไว้สำหรับแสดงผลเท่านั้น ไม่ใช่สำหรับการป้อนข้อมูลของผู้ใช้

การเชื่อมต่อจอแสดงผลนี้กับอินพุตแบบอะนาล็อก

สุดท้ายเลื่อนลงมาที่หน้าจอแก้ไขรายการเมนูไปที่ปุ่ม "ไม่ได้เชื่อมต่อกับพิน I/O" แล้วคลิกเพื่อเปิดการแสดงผลเป็นรายการหมุด ADC

สำหรับบอร์ดที่เข้ากันได้กับ Uno และ Arduino 101 จะมี 6 พินอินพุตแบบอะนาล็อก (ADC) หากคุณกำลังใช้อุปกรณ์ ESP8266 จะมีพิน ADC เพียงตัวเดียวคือ A0

เลือก A0 เมื่อ pfodDesignerV2 สร้างโค้ด มันจะรวมวิธีการเรียก analogRead และส่งการอ่าน pfodApp เพื่ออัปเดตเมนูทุกครั้งที่ pfodApp ร้องขอการรีเฟรช

ดูตัวอย่างเมนู

กลับไปที่หน้าจอการแก้ไข Menu_1 และดูตัวอย่างเมนูอีกครั้ง นี่คือลักษณะที่จะปรากฏใน pfodApp เพราะจริง ๆ แล้ว pfodDesignerV2 เป็นเพียงเวอร์ชันของ pfodApp ที่มีแบ็กเอนด์พิเศษเพื่อจัดการการสร้างเมนูและแก้ไข ทุกหน้าจอใน pfodDesignerV2 เป็นหน้าจอ pfodApp มาตรฐานที่คุณสามารถสร้างและควบคุมจาก pfodDevice (Arduino ของคุณ)

เมื่อ pfodApp ขอเมนูนี้อีกครั้ง โปรแกรมจะอัปเดตการแสดงผลด้วยข้อมูลล่าสุดที่แมปกับช่วง 0V ถึง 3.3V

ขั้นตอนที่ 5: การออกแบบเมนู - เปิด/ปิดการแสดงข้อมูล

การออกแบบเมนู - เปิด/ปิดการแสดงข้อมูล
การออกแบบเมนู - เปิด/ปิดการแสดงข้อมูล
การออกแบบเมนู - เปิด/ปิดการแสดงข้อมูล
การออกแบบเมนู - เปิด/ปิดการแสดงข้อมูล
การออกแบบเมนู - เปิด/ปิดการแสดงข้อมูล
การออกแบบเมนู - เปิด/ปิดการแสดงข้อมูล
การออกแบบเมนู - เปิด/ปิดการแสดงข้อมูล
การออกแบบเมนู - เปิด/ปิดการแสดงข้อมูล

รายการเมนูถัดไปที่จะเพิ่มคือ On/Off Display ซึ่งจะแสดงสถานะปัจจุบันของตัวแปร 0 / 1 บทช่วยสอนนี้เราจะตรวจสอบสถานะของพินอินพุตดิจิตอล D4 สูง (1) หรือต่ำ (0)

คลิกเพิ่มรายการเมนูอีกครั้งและเลือกเปิด/ปิดการแสดงผล (โปรดทราบว่านี่ไม่ใช่การตั้งค่าเปิด/ปิด แต่การแสดงเปิด/ปิดอยู่ด้านล่างรายการตัวเลือก)

เลื่อนลงและคลิกที่ปุ่ม “ไม่ได้เชื่อมต่อกับพิน I/O” แล้วเลือก D4 เป็นพินเพื่อเชื่อมต่อกับจอแสดงผลนี้ ในตัวอย่างของเรา อินพุตไปที่ D4 จริงๆ แล้วเป็นสวิตช์ประตูซึ่งปิดเมื่อประตูปิดและเปิดเป็นอย่างอื่น ดังนั้นเมื่ออินพุตสูง ประตูจะเปิดและเมื่ออินพุตต่ำ ประตูจะปิด

แก้ไขข้อความนำเป็น "Door is " สังเกตช่องว่างหลัง 'เป็น' และแก้ไขข้อความต่ำเป็น "ปิด" และแก้ไขข้อความสูงเป็น "เปิด" คุณยังสามารถเปลี่ยนขนาดตัวอักษร สี ฯลฯ ได้ตามต้องการ

คลิกที่ Display Text and Slider จนกว่าจะขึ้นว่า Display Text Only

นั่นคือทั้งหมดที่จำเป็นสำหรับการแสดงอินพุตดิจิตอล ย้อนกลับและดูตัวอย่างเมนู

ขั้นตอนที่ 6: การออกแบบเมนู - เอาต์พุต PWM

การออกแบบเมนู - เอาต์พุต PWM
การออกแบบเมนู - เอาต์พุต PWM
การออกแบบเมนู - เอาต์พุต PWM
การออกแบบเมนู - เอาต์พุต PWM

pfodDesignerV2 ยังทำให้ง่ายต่อการควบคุมเอาต์พุต PWM หรือให้ผู้ใช้ตั้งค่าตัวแปรจากตัวเลื่อน

คลิกเพิ่มรายการเมนูอีกครั้งและเลือกเอาต์พุต PWM หรืออินพุตตัวเลื่อน

โดยค่าเริ่มต้น รายการเมนูนี้จะเริ่มต้นโดยตั้งค่าช่วงตัวแปรเป็น 0 ถึง 255 และ Display Max ตั้งค่าเป็น 100 และข้อความต่อท้ายตั้งค่าเป็น '%' ดังนั้นสำหรับบอร์ดที่เข้ากันได้กับ Arduino คุณสามารถเชื่อมต่อรายการเมนูนี้กับพินและตัวควบคุมที่มีความสามารถ PWM เอาต์พุต PWM จาก 0% ถึง 100% โดยการเลื่อนตัวเลื่อน แถบเลื่อนแสดงสดเพื่อให้คุณลองใช้ได้

คลิกที่ปุ่ม “ไม่เชื่อมต่อกับพิน I/O” เพื่อเชื่อมต่อรายการเมนูนี้กับเอาต์พุตดิจิตอลที่รองรับ PWM เช่น D5 สำหรับบอร์ด Uno เอาต์พุตดิจิตอลที่รองรับ PWM คือ D3, D5, D6, D9, D10 และ D11 สำหรับ Arduino 101 ได้แก่ D3, D5, D6 และ D9 ตรวจสอบข้อกำหนดของบอร์ดเฉพาะที่คุณใช้เพื่อดูว่าเอาต์พุตใดที่สามารถใช้กับ PWM ได้

เช่นเดียวกับรายการเมนูอื่น ๆ คุณสามารถเลือกข้อความของคุณเอง แสดงสูงสุด / ต่ำสุด รูปแบบตัวอักษร ฯลฯ คุณยังสามารถแสดงแถบเลื่อนโดยไม่มีข้อความได้หากต้องการ

หมายเหตุ: Data Variable Range ตั้งค่าช่วงที่ตัวเลื่อนส่งกลับไปที่ pfodDevice (Arduino ของคุณ) pfodApp จะส่งค่าปริพันธ์เสมอ ดังนั้นในขณะที่จอแสดงผลบอกว่า 0 ถึง 100% ตัวเลื่อนจะส่งค่าอินทิกรัลกลับในช่วง 0 ถึง 255 ตามที่กำหนดโดยปุ่มแก้ไขช่วงตัวแปรข้อมูล ใน ESP8266 ช่วง PWM เริ่มต้นคือ 1023 ดังนั้นสำหรับบอร์ดเหล่านั้นให้คลิกปุ่มแก้ไขช่วงตัวแปรข้อมูลและเปลี่ยนแก้ไขค่าสูงสุดเป็น 1023 โปรดสังเกตว่าสิ่งนี้จะไม่เปลี่ยน Display Max ซึ่งยังคงแสดง 100% มันเปลี่ยนการแมปจากการตั้งค่าตัวเลื่อนเพื่อให้ 0 ถึง 1023 จะแสดงเป็น 0 ถึง 100%

ย้อนกลับและดูตัวอย่างเมนูอีกครั้ง

ตัวอย่างเมนูนี้เป็นแบบสดและคุณสามารถเลื่อนตัวเลื่อนได้ หากคุณเพิ่มเมนูย่อย คุณยังสามารถเปิดและนำทางในลักษณะเดียวกับที่ pfodApp จะทำ

ขั้นตอนที่ 7: การออกแบบเมนู - การตั้งค่าเปิด/ปิด หรือ Pulse

การออกแบบเมนู - การตั้งค่าเปิด/ปิด หรือ Pulse
การออกแบบเมนู - การตั้งค่าเปิด/ปิด หรือ Pulse
การออกแบบเมนู - การตั้งค่าเปิด/ปิด หรือ Pulse
การออกแบบเมนู - การตั้งค่าเปิด/ปิด หรือ Pulse
การออกแบบเมนู - การตั้งค่าเปิด/ปิด หรือ Pulse
การออกแบบเมนู - การตั้งค่าเปิด/ปิด หรือ Pulse
การออกแบบเมนู - การตั้งค่าเปิด/ปิด หรือ Pulse
การออกแบบเมนู - การตั้งค่าเปิด/ปิด หรือ Pulse

รายการเมนูถัดไปที่จะเพิ่มคือการตั้งค่าเปิด/ปิดหรือพัลส์ซึ่งให้คุณควบคุมการเปิดหรือปิดเอาต์พุตดิจิตอลหรือพัลส์

คลิกเพิ่มรายการเมนูอีกครั้งและเลือกเปิด/ปิดการตั้งค่าหรือชีพจร

คุณสามารถคลิกที่ใดก็ได้ในปุ่มเพื่อสลับการตั้งค่า ที่นี่เราจะใช้รายการเมนูนี้เพื่อพัลส์ Arduino LED (D13) เป็นเวลา 10 วินาที หลังจากนั้นจะปิด เมนูจะอัปเดตหนึ่งครั้งต่อวินาที (ช่วงเวลารีเฟรชที่คุณตั้งค่าสำหรับเมนูนี้ที่จุดเริ่มต้นของบทช่วยสอนนี้) เพื่อแสดงสถานะปัจจุบันของ led คุณสามารถบังคับให้ปิดก่อนเวลาโดยคลิกที่ปุ่มอีกครั้ง

ตั้งค่า Edit Leading Text เป็น "LED is" และ Edit Low text เป็น "Off" และ Edit High text เป็น "On" คลิกที่ปุ่ม “ไม่ได้เชื่อมต่อกับพิน I/O” เพื่อเชื่อมต่อรายการเมนูนี้กับ D13 คลิกแสดงข้อความและตัวเลื่อนเพื่อแสดงข้อความเท่านั้น และเพิ่มขนาดแบบอักษรเพื่อให้ปุ่มใหญ่ขึ้นและคลิกได้ง่ายขึ้น คุณยังสามารถเปลี่ยนขนาดตัวอักษร สี ฯลฯ ได้ตามต้องการ ที่นี่ฉันได้ตั้งค่าพื้นหลังสีเงินและแบบอักษรตัวหนา

ในการตั้งค่าความยาวพัลส์ ให้คลิกปุ่ม "เอาต์พุตไม่กะพริบ" และเลือก "ชีพจรสูง" ที่แถบเลื่อนด้านบน ตั้งค่าความยาวพัลส์ 10 วินาที

ย้อนกลับและดูตัวอย่างเมนูอีกครั้ง

หากคุณไม่ชอบรูปลักษณ์ คุณสามารถกลับไปที่หน้าจอการแก้ไข Menu_1 และแก้ไขรายการเมนูได้ ฉันต้องการพื้นที่เพิ่มเติมเล็กน้อยระหว่างรายการเมนูและแบบอักษรขนาดใหญ่ขึ้นสำหรับจอแสดงผล Door is Open

ขั้นตอนที่ 8: การออกแบบเมนู - การเพิ่ม Spacers เมนู

การออกแบบเมนู - การเพิ่ม Spacers เมนู
การออกแบบเมนู - การเพิ่ม Spacers เมนู
การออกแบบเมนู - การเพิ่ม Spacers เมนู
การออกแบบเมนู - การเพิ่ม Spacers เมนู

กลับไปที่ Editing Menu_1 และคลิกที่ Add Menu Item แล้วเลื่อนลงมาและเลือก "Label"

แก้ไขข้อความเพื่อลบข้อความทั้งหมดเพื่อให้คุณเหลือตัวเว้นวรรค คุณสามารถปรับขนาดของพื้นที่ด้วยการตั้งค่าขนาดแบบอักษร ที่นี่ฉันได้ตั้งค่าตัวเว้นวรรคขนาดเล็ก

ขั้นตอนที่ 9: การออกแบบเมนู - การย้ายรายการเมนู

การออกแบบเมนู - การย้ายรายการเมนู
การออกแบบเมนู - การย้ายรายการเมนู
การออกแบบเมนู - การย้ายรายการเมนู
การออกแบบเมนู - การย้ายรายการเมนู

เพิ่ม Spacer ตัวที่สองแล้วกลับไปที่หน้าจอ Editing Menu_1 แล้วเลื่อนลงไปที่ Move Items Up/Down

คลิกที่นี้และเลือกป้ายกำกับที่จะย้ายและย้ายไปที่ประตูคือ จะถูกแทรกเหนือประตูเป็นรายการแสดงผล ย้ายป้ายกำกับอื่นไปที่ PWM เพื่อวางไว้ระหว่างประตูและ PWM สุดท้ายฉันยังเพิ่มแบบอักษรสำหรับรายการเมนูประตูและทำให้เป็นตัวหนาโดยเลือกแก้ไขเมนูจากนั้นเลือกประตูแล้วแก้ไขปุ่มนั้น

ตัวอย่างเมนูอยู่ในขณะนี้

ขั้นตอนที่ 10: การออกแบบเมนู - การเพิ่มแผนภูมิและบันทึกข้อมูล

การออกแบบเมนู - การเพิ่มแผนภูมิและบันทึกข้อมูล
การออกแบบเมนู - การเพิ่มแผนภูมิและบันทึกข้อมูล
การออกแบบเมนู - การเพิ่มแผนภูมิและบันทึกข้อมูล
การออกแบบเมนู - การเพิ่มแผนภูมิและบันทึกข้อมูล
การออกแบบเมนู - การเพิ่มแผนภูมิและบันทึกข้อมูล
การออกแบบเมนู - การเพิ่มแผนภูมิและบันทึกข้อมูล

สุดท้ายเราจะเพิ่มแผนภูมิเพื่อพล็อตและบันทึกค่าของ A0

กลับไปที่ Editing Menu_1 และคลิกที่ Add Menu Item แล้วเลื่อนลงและเลือก Chart Button pfodApp ให้คุณมีหลายแผนภูมิและแปลง แต่เพื่อความเรียบง่าย pfodDesignerV2 อนุญาตเพียงปุ่มแผนภูมิเดียวต่อการออกแบบเมนูและไม่เกิน 3 แปลงบนแผนภูมินั้น เมื่อคุณเพิ่มปุ่มแผนภูมิแล้ว ตัวเลือกนั้นจะถูกลบออก มันจะกลับมาอีกครั้งหากคุณลบปุ่มแผนภูมิออกจากเมนูของคุณ หรือหากคุณเริ่มเมนูใหม่ทั้งหมดโดยใช้ปุ่มเริ่มเมนูใหม่

pfodSpecification มีตัวเลือกการสร้างแผนภูมิและการวางแผนมากมาย ไม่ใช่ทั้งหมดที่มีให้ผ่านทาง pfodDesignerV2 ตรวจสอบ pfodSpecification.pdf สำหรับรายละเอียดทั้งหมด

คุณสามารถแก้ไขปุ่มแผนภูมิได้เหมือนกับปุ่มอื่นๆ ที่นี่ฉันจะตั้งค่าข้อความของปุ่มนี้เป็น Voltage Plot ด้วยขนาดตัวอักษร

หากต้องการแก้ไขแผนภูมิเอง ให้คลิกที่แผนภาพแรงดันไฟฟ้าของปุ่มแผนภูมิ ที่จะเปิดหน้าจอ Editing Plots สำหรับหน้าจอ

ในขณะที่คุณแก้ไขแผนภูมิและแผนผัง คุณสามารถดูตัวอย่างผลลัพธ์ได้โดยใช้ปุ่มแสดงตัวอย่างแผนภูมิ

ใช้ปุ่มย้อนกลับของมือถือของคุณเพื่อกลับไปที่หน้าจอแก้ไข

ตั้งค่า Edit Chart Label เป็น "Voltage at A0" หรือป้ายใดก็ได้ที่คุณต้องการ ตั้งค่าช่วงข้อมูลพล็อตด้วย ช่วงเวลาที่ Arduino ของคุณจะส่งข้อมูลการลงจุดสำหรับการบันทึกและการลงจุด ข้อมูลพล็อตจะถูกบันทึกโดยอัตโนมัติไปยังไฟล์บนมือถือ Android ของคุณเพื่อดาวน์โหลดและดำเนินการต่อไป ที่นี่ฉันได้ออกจากช่วงการวางแผนที่ 1 วินาที

คลิกที่ Edit Plot 1 เพื่อเปิดหน้าจอแก้ไข

ใช้หน้าจอแก้ไขนี้เพื่อตั้งค่า Edit Plot Label เป็น "A0" และแก้ไข Plot yAxis Units เป็น "Volts"

เช่นเดียวกับหน้าจอ Display Data ด้านบน ให้ตั้งค่า Plot Data Variable Range และ Display Max และ Display Min เพื่อให้พล็อตแสดงค่าโลกแห่งความจริง ในกรณีนี้ ช่วงข้อมูลจาก A0 คือ 0 ถึง 1023 และแทนค่า 0V ถึง 3.3V ดังนั้นปล่อยให้ช่วง Plot Data Variable เป็น 0 ถึง 1023 และแก้ไข Display Max เป็น 3.3

คลิกที่ไม่ได้เชื่อมต่อกับพิน I / O เพื่อเชื่อมต่อพล็อตนี้กับพิน A0 และคลิก Plot is Auto Scale เพื่อสลับไปที่ Plot is Fixed Scale มาตราส่วนคงที่ตั้งค่า yAxis เริ่มต้นเป็น Display Max / Min ในขณะที่มาตราส่วนอัตโนมัติปรับ yAxis เพื่อแสดงข้อมูลเท่านั้น ไม่ว่าในกรณีใด ๆ ข้อมูลการลงจุดจะเกิน Display Max / Min พล็อตจะปรับขนาดอัตโนมัติเสมอเพื่อแสดงข้อมูลทั้งหมด

ใช้ปุ่มแสดงตัวอย่างแผนภูมิเพื่อตรวจสอบการตั้งค่าของคุณ คุณสามารถใช้สองนิ้วเพื่อซูมพล็อตเข้าหรือออก

สุดท้ายให้คลิกที่ Edit Plot 2 และ Edit Plot 3 และคลิกปุ่ม Hide เพื่อซ่อน เนื่องจากเรากำลังวางแผนเฉพาะตัวแปรข้อมูลในตัวอย่างนี้ การแสดงตัวอย่างแผนภูมิจะแสดงเพียงพล็อตเดียว

การกลับไปที่หน้าจอ Editing Menu_1 และเลือก Preview Menu จะแสดงเมนูสุดท้าย

ตัวอย่างเมนูนี้เป็น 'สด' คุณสามารถเลื่อนแถบเลื่อน PWM และเปิดและปิด LED และคลิกที่ปุ่ม Voltage Plot เพื่อเปิดหน้าจอพล็อต

กลับไปที่หน้าจอ Editing Menu_1 คุณสามารถลบปุ่มที่ไม่ต้องการและเปลี่ยนชื่อเมนูได้ ชื่อเมนูมีไว้ให้คุณใช้เท่านั้น มันจะแสดงในรายการเมนูที่มีอยู่ แต่จะไม่แสดงให้ผู้ใช้เห็นเมื่อเมนูนั้นแสดงบน pfodApp

ขั้นตอนที่ 11: การสร้างรหัส Arduino

การสร้างรหัส Arduino
การสร้างรหัส Arduino
การสร้างรหัส Arduino
การสร้างรหัส Arduino
การสร้างรหัส Arduino
การสร้างรหัส Arduino

เมื่อคุณออกแบบเสร็จแล้ว คุณสามารถคลิก สร้างรหัส เพื่อเปิดเมนูสร้างรหัส

จากเมนูนี้ คุณสามารถเปลี่ยนประเภทของฮาร์ดแวร์ที่คุณใช้ในการสื่อสารได้ Arduino 101 ใช้ BLE (Bluetooth Low Energy) ในการสื่อสาร ดังนั้นให้คลิกที่ Change Target แล้วเลือก Bluetooth Low Energy (BLE) จากนั้นเลือก Arduino/Genuino 101 หากคุณใช้ฮาร์ดแวร์ที่แตกต่างกัน ให้เลือกเป้าหมายที่เหมาะสม โล่การสื่อสารของ Arduino ส่วนใหญ่เชื่อมต่อผ่าน Serial ที่ 9600 แต่ตรวจสอบข้อกำหนดสำหรับเกราะเฉพาะของคุณ

ใช้ปุ่มย้อนกลับเพื่อกลับไปที่หน้าจอสร้างรหัส

สุดท้ายคลิกที่ เขียนโค้ดไปยังไฟล์ เพื่อสร้างภาพร่าง Arduino สำหรับเมนูนี้สำหรับ Arduino 101 ปุ่มนี้เขียนภาพร่างไปยังไฟล์บนมือถือของคุณและแสดง 4k ไบต์สุดท้ายในหน้าจอ

ขั้นตอนที่ 12: ถ่ายโอนภาพร่างไปยังคอมพิวเตอร์ของคุณ

การถ่ายโอนภาพสเก็ตช์ไปยังคอมพิวเตอร์ของคุณ
การถ่ายโอนภาพสเก็ตช์ไปยังคอมพิวเตอร์ของคุณ

คุณสามารถออกจาก pfodDesignerV2 ได้แล้ว การออกแบบของคุณได้รับการบันทึกและอยู่ภายใต้ “แก้ไขเมนูที่มีอยู่” คุณต้องออกจาก pfodDesignerV2 เพื่อให้แน่ใจว่าบล็อกสุดท้ายของโค้ดถูกเขียนลงในไฟล์

เชื่อมต่อมือถือของคุณกับคอมพิวเตอร์และเปิดที่จัดเก็บข้อมูล USB หรือใช้แอพ Wifi File Transfer เพื่อเข้าถึงที่เก็บข้อมูลมือถือของคุณจากคอมพิวเตอร์ของคุณ (ดูรายละเอียดเพิ่มเติมที่ pfodAppForAndroidGettingStarted.pdf) หมายเหตุ: pfodDesignerV2 ไม่สามารถเข้าถึงการ์ด SD เพื่อบันทึกรหัสที่สร้างขึ้นในขณะที่คอมพิวเตอร์กำลังเข้าถึงเป็นที่เก็บข้อมูล USB ดังนั้นให้เปิดที่เก็บข้อมูล USB ก่อนเรียกใช้ pfodDesignerV2 อีกครั้ง

ไปที่ /pfodAppRawData และเปิด pfodDesignerV2.txt ในโปรแกรมแก้ไขข้อความ (เช่น WordPad) ไฟล์ pfodDesignerV2.txt ถูกเขียนทับทุกครั้งที่คุณคลิก "สร้างโค้ด"

เปิด Arduino IDE และสร้างสเก็ตช์ใหม่ ลบโค้ดใดๆ ออกจากหน้าต่างสเก็ตช์ จากนั้นคัดลอกและวางโค้ดที่สร้างลงใน Arduino IDE สำเนาของรหัสที่สร้างขึ้นอยู่ที่นี่

ในการรวบรวมรหัสนี้สำหรับ Arduino 101 คุณต้องติดตั้งไลบรารี pfodParser V2.35+ จาก https://www.forward.com.au/pfod/pfodParserLibraries/index.html เป้าหมายบางอย่าง เช่น Serial ไม่ต้องการไลบรารีนี้ ด้านบนของไฟล์ที่สร้างขึ้นจะระบุว่าจำเป็นต้องติดตั้งหรือไม่

ขั้นตอนที่ 13: รวบรวมและทดสอบเมนูของคุณ

รวบรวมและทดสอบเมนูของคุณ
รวบรวมและทดสอบเมนูของคุณ
รวบรวมและทดสอบเมนูของคุณ
รวบรวมและทดสอบเมนูของคุณ
รวบรวมและทดสอบเมนูของคุณ
รวบรวมและทดสอบเมนูของคุณ

รวบรวมและอัปโหลดภาพร่างไปยัง Arduino 101 หรือบอร์ดใดก็ตามที่คุณใช้ หากคุณกำลังใช้ตัวป้องกันที่เชื่อมต่อกับ Serial อย่าลืมถอดตัวป้องกันออกก่อนที่จะตั้งโปรแกรม เนื่องจากตัวป้องกันมักจะเชื่อมต่อพินเดียวกัน (D0 และ D1) กับ USB

ติดตั้ง pfodApp จาก GooglePlay และตั้งค่าการเชื่อมต่อสำหรับบอร์ดของคุณ ตามที่อธิบายไว้ใน pfodAppForAndroidGettingStarted.pdf

เมื่อเชื่อมต่อกับ Arduino 101 pfodApp จะแสดงเมนูที่คุณออกแบบไว้ ตอนนี้คุณคลิกปุ่ม LED เพื่อเปิดไฟ LED เป็นเวลา 10 วินาทีแล้วปิด เมนูจะอัปเดตเป็น LED เป็น Off เมื่อไฟ LED ดับลง หากคุณเชื่อมต่ออินพุต D4 กับ GND เมนูจะแสดงว่า Door is Closed

คุณสามารถใช้ตัวเลื่อน PWM เพื่อควบคุมแรงดันไฟฟ้าขาเข้าเป็น A0 เชื่อมต่อตัวต้านทาน 47K จาก D5 ถึง A0 และเชื่อมต่อตัวเก็บประจุ 470nF จาก A0 ถึง GND (หมายเหตุ: หากตัวเก็บประจุที่คุณใช้มี +/- ตรวจสอบให้แน่ใจว่า - เชื่อมต่อกับ GND) เครือข่าย RC นี้ปรับพัลส์ PWM ให้เรียบเพื่อให้แรงดัน DC คงที่โดยประมาณ จากนั้นเมื่อคุณปรับแถบเลื่อน PWM แรงดันไฟฟ้าที่วัดได้ที่ A0 จะเปลี่ยนไปและเมนูจะแสดงค่าที่เปลี่ยนแปลง

พล็อตจะแสดงแรงดันไฟฟ้าที่แตกต่างกันที่วัดได้ที่ A0

คุณสามารถใช้สองนิ้วเพื่อซูมเข้าเพื่อดูระลอกคลื่นในแต่ละระดับอย่างใกล้ชิด

หากคุณดูที่มุมมองดีบักของ pfodApp ที่เข้าถึงได้จากเมนูบนมือถือของคุณ คุณจะเห็นข้อความอัปเดตเมนูสั้นมาก เนื่องจาก pfodApp แคชเมนูและหลังจากนั้น Arduino ร่างจะส่งเฉพาะค่าอัปเดตสำหรับแต่ละรายการในเมนูแทนการส่งข้อความเมนูทั้งหมดอีกครั้ง ในแต่ละวินาที หากคุณดูที่มุมมองข้อมูลดิบของ pfodApp คุณจะเห็นระเบียนข้อมูล CSV ที่ส่งและบันทึก นี่คือจุดที่พล็อตได้รับข้อมูล สอง,, ที่ส่วนท้ายของแต่ละเร็กคอร์ดเป็นที่ยึดสำหรับข้อมูลของแปลงที่ 2 และจุดที่ 3 ซึ่งไม่ได้ใช้ในตัวอย่างนี้

ขั้นตอนที่ 14: รับข้อมูลพล็อต

รับข้อมูลพล็อต
รับข้อมูลพล็อต

pfodApp จะบันทึกข้อมูลการพล็อตบนมือถือ Android ของคุณโดยอัตโนมัติภายใต้ไดเร็กทอรี /pfodAppRawData ในไฟล์ที่มีชื่อเดียวกับการเชื่อมต่อ โดยที่ช่องว่างใดๆ จะถูกแทนที่ด้วย _ ตัวอย่างเช่น หากการเชื่อมต่อที่คุณสร้างใน pfodApp เพื่อเชื่อมต่อกับ Arduino 101 นั้นคุณตั้งชื่อเป็น “Arduino 101” ข้อมูลพล็อตจะถูกบันทึกไว้ในไฟล์ /pfodAppRawData/Arduino_101.txt

pfodApp จะแสดงชื่อไฟล์ข้อมูลดิบเมื่อคุณออกจากแอป

คุณสามารถถ่ายโอนไฟล์ข้อมูลพล็อตนี้ไปยังคอมพิวเตอร์ของคุณเพื่อดำเนินการต่อไป

ขั้นตอนที่ 15: ขั้นตอนต่อไป

นี้เสร็จสมบูรณ์การเรียนการสอน Bluetooth Low Energy (BLE) ที่ใช้งานง่ายด้วย pfodApp มีตัวอย่างการใช้ BLE shields อื่นๆ Simple Home Automation for Beginners จะดูที่การต่อรีเลย์ เพื่อให้คุณสามารถเปิดและปิดของจริงได้

แต่ pfodApp สามารถทำได้มากกว่านี้ โปรโตคอล pfod นั้นสมบูรณ์แต่เรียบง่ายและมีมากกว่าแค่เมนูธรรมดาๆ ตรวจสอบ pfodSpecification.pdf ฉบับเต็มสำหรับรายละเอียดและตัวอย่างทั้งหมด โปรดดูที่ www.pfod.com.au สำหรับโครงการตัวอย่างมากมาย หน้าจอทั้งหมดที่ใช้โดย pfodDesignerV2 เป็นหน้าจอ pfod มาตรฐาน pfodDesignerV2 เป็นเพียง pfodApp ที่เชื่อมต่อกับแบ็กเอนด์ที่ติดตามการเลือกของคุณและให้บริการหน้าจอที่ร้องขอ จาก pfodDesignerV2 คุณสามารถใช้ปุ่มเมนูของมือถือเพื่อเปิดมุมมองดีบักเพื่อดูว่ามีการส่งข้อความ pfod ใดบ้างเพื่อสร้างหน้าจอ pfodDesignerV2 และคำสั่งใดที่ส่งกลับจากการกระทำของคุณ

แนะนำ: