สารบัญ:
- ขั้นตอนที่ 1: เชื่อมต่อ Myoware Muscle Sensor (โดยเฉพาะสำหรับผู้ที่ไม่เคยใช้งานมาก่อน)
- ขั้นตอนที่ 2: การตั้งค่า Adafruit IO
- ขั้นตอนที่ 3: อินพุต Arduino
- ขั้นตอนที่ 4: การตั้งค่าทริกเกอร์ Adafruit IO
- ขั้นตอนที่ 5: เอาต์พุต Neopixel
- ขั้นตอนที่ 6: ผลลัพธ์
วีดีโอ: Neopixel Led Strip ตอบสนองต่อ Myoware Muscle Sensor: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
เป้าหมายคือการติดตั้งเซ็นเซอร์กล้ามเนื้อด้วยความช่วยเหลือของ Arduino และประมวลผลข้อมูลขาเข้าด้วย Adafruit IO และดึงเอาต์พุตด้วยทริกเกอร์เพื่อให้แสงจากสีขาวเป็นสีแดงเป็นเวลาหนึ่งนาที
Muscle Sensor คืออะไร Muscle Sensor วัดกิจกรรมทางไฟฟ้าของกล้ามเนื้อและสร้างสัญญาณเอาต์พุตแบบอะนาล็อกที่ไมโครคอนโทรลเลอร์สามารถอ่านได้ง่าย Electromyography (EMG) วัดการตอบสนองของกล้ามเนื้อหรือกิจกรรมทางไฟฟ้าเพื่อตอบสนองต่อการกระตุ้นกล้ามเนื้อของเส้นประสาท การทดสอบนี้ใช้เพื่อช่วยตรวจหาความผิดปกติของระบบประสาทและกล้ามเนื้อ ในระหว่างการทดสอบ เข็มขนาดเล็กหนึ่งเข็มหรือมากกว่า (หรือที่เรียกว่าอิเล็กโทรด) จะถูกสอดเข้าไปในกล้ามเนื้อผ่านผิวหนัง
สำหรับโครงการนี้ คุณต้องการ: -เซ็นเซอร์กล้ามเนื้อ MyoWare -อิเล็กโทรด EMG -NodeMCU (esp8266) -สายครอบซิลิโคน -สายเคเบิลไมโคร USB -แถบไฟ LED Neopixel
ไลบรารีที่คุณต้องการ: -Adafruit io Arduino (อย่างน้อยเวอร์ชัน 2.3.0) -Adafruit Neopixel (เวอร์ชัน 1.2.5) - ไลบรารี Adafruit MQTT (1.0.3) -Arduino HttpClients (0.4.0) หากคุณไม่มี te ติดตั้งไลบรารี่แล้ว จากนั้นไปที่ Sketch> include Library> Manage Libraries … พิมพ์: [ชื่อไลบรารีที่คุณต้องการติดตั้ง] ในช่องค้นหา
ขั้นตอนที่ 1: เชื่อมต่อ Myoware Muscle Sensor (โดยเฉพาะสำหรับผู้ที่ไม่เคยใช้งานมาก่อน)
หากคุณไม่เคยใช้งาน Myoware Muscle Sensor มาก่อน อันดับแรกควรทำความเข้าใจว่าเซ็นเซอร์นี้เชื่อมต่อและอ่านได้อย่างไรในมอนิเตอร์แบบอนุกรมใน Arduino การดำเนินการนี้เป็นขั้นตอนมาตรฐานที่มีอยู่ในคู่มือหลายฉบับที่ได้อธิบายไว้แล้ว แพลตฟอร์ม Adafruit มีคำอธิบายที่ชัดเจนเกี่ยวกับวิธีการทำงานภายในไม่กี่ขั้นตอน:
learn.adafruit.com/getting-started-with-my…
ตรวจสอบหากทำตามขั้นตอนเหล่านี้ทั้งหมด คุณจะเห็นในจอภาพแบบอนุกรมของคุณว่าค่าต่างๆ เปลี่ยนไปเมื่อคุณกระชับกล้ามเนื้อ เมื่อคุณกำปั้นและกระชับกล้ามเนื้อของคุณ ค่าควรเพิ่มขึ้น และเมื่อคุณผ่อนคลายกล้ามเนื้อ ค่าเหล่านี้จะลดลงอีกครั้ง
สำคัญขั้นตอนนี้เป็นเพียงการตั้งค่าเซ็นเซอร์เท่านั้น รหัสที่คุณใช้ไม่จำเป็นสำหรับส่วนที่เหลือของคู่มือ เฉพาะวิธีที่คุณติดตั้งเซ็นเซอร์เองเท่านั้นที่ยังคงเหมือนเดิมสำหรับขั้นตอนที่จะเกิดขึ้น
ขั้นตอนที่ 2: การตั้งค่า Adafruit IO
ขั้นตอนแรกคือการเข้าสู่ระบบหรือสร้างบัญชีใน Adafruit IO เรียกดู Adafruit IO Adafruit IO เป็นแพลตฟอร์มคลาวด์ที่คุณสามารถเชื่อมต่อผ่านอินเทอร์เน็ตได้ Adafruit IO ทำให้ข้อมูลมีประโยชน์กับการเชื่อมต่อข้อมูล
เมื่อคุณอยู่ในบัญชีของคุณ:
สร้าง Analog FeedNext คุณจะต้องสร้างฟีดที่เรียกว่า Analog หากคุณต้องการความช่วยเหลือในการเริ่มต้นสร้างฟีดบน Adafruit IO ให้อ่านคู่มือ Adafruit IO Feed Basics (ตามรูปที่ 1 และ 2)
การเพิ่มบล็อกเกจและแผนภูมิเส้น BlockNext สร้างแดชบอร์ดใหม่และตั้งชื่อตามที่คุณต้องการ (แสดงในรูปภาพ 3, 4 และ 5 เพื่อสร้างแดชบอร์ดใหม่) ตรวจสอบให้แน่ใจว่าคุณได้เลือกฟีดอะนาล็อกเป็นแหล่งข้อมูล
เมื่อคุณอยู่ในแดชบอร์ด ให้เพิ่มรางบล็อกเกจใหม่ คลิกที่เครื่องหมายบวกสีน้ำเงินที่มุมบนขวา ตั้งชื่อบล็อกตามที่คุณต้องการ (แสดงในรูปภาพ 6 และ 7) และให้ค่าสูงสุด 1024 และค่าต่ำสุดเป็น 0 (ค่าของเซ็นเซอร์กล้ามเนื้อ)
ทำซ้ำเช่นเดียวกันกับบล็อกแผนภูมิเส้น (ภาพที่ 8) เช่นเดียวกับด้านบนด้วยบล็อกเกจ
ตรวจสอบหากคุณทำข้างต้นแล้ว คุณต้องมีหน้าจอที่คล้ายกันเหมือนรูปสุดท้าย
ขั้นตอนที่ 3: อินพุต Arduino
ในขั้นตอนที่ 1 คุณได้ตั้งค่าการเดินสายเซ็นเซอร์ MyoWare Muscle อย่างถูกต้องแล้ว ขั้นตอนนี้เราจะเจาะลึกไปที่โค้ด Arduino ที่มาพร้อมกับการเชื่อมต่อกับขั้นตอนที่ 2 แดชบอร์ด Adafruit IO เมื่อสิ้นสุดขั้นตอนนี้ คุณจะเห็นค่าอินพุตของเซ็นเซอร์ Myoware Muscle ในบล็อกทั้งสองที่คุณตั้งค่าไว้
การตั้งค่า Arduino
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไลบรารีทั้งหมดที่ระบุไว้ข้างต้นในบทนำ
เราจะทำงานกับภาพร่างตัวอย่าง ดังนั้นให้เปิดไฟล์> ตัวอย่าง> Adafruit IO Arduino> adafruitio_08_analog_in (ภาพที่ 1) ทำไมต้องร่างนี้? เนื่องจากเรากำลังตั้งค่าส่วนป้อนเข้าของคู่มือนี้ก่อน เซ็นเซอร์ MyoWare Muscle ใช้เอาต์พุตแบบอะนาล็อก หากคุณต้องการดำน้ำในหัวข้อเกี่ยวกับแอนะล็อกให้มากขึ้น
Arduino Network Configหากต้องการกำหนดการตั้งค่าเครือข่าย ให้คลิกที่แท็บ config.h ในแบบร่าง คุณจะต้องตั้งชื่อผู้ใช้ Adafruit IO ของคุณในการกำหนด IO_USERNAME และคีย์ Adafruit IO ของคุณในการกำหนด IO_KEY คุณสามารถค้นหาชื่อผู้ใช้และคีย์ของคุณที่ด้านบนขวาของหน้าจอใน Arduino IO ของคุณ (ตัวอย่างในรูปภาพ 2)
#define IO_USERNAME "ชื่อผู้ใช้ของคุณ"
#define IO_KEY "your_key"
การกำหนดค่า WiFi WiFi ถูกเปิดใช้งานโดยค่าเริ่มต้นใน config.h ดังนั้นหากคุณใช้หนึ่งในบอร์ด WiFi ที่รองรับ คุณจะต้องแก้ไขตัวเลือก WIFI_SSID และ WIFI_PASS ในแท็บ config.h เท่านั้น
#define WIFI_SSID "your_ssid"#define WIFI_PASS "your_pass"
รหัส Arduino หากคุณมีการเปลี่ยนแปลงการตั้งค่าข้างต้น เราสามารถไปที่โค้ดจริงเพิ่มเติม adafruit_08_analog_in พินเริ่มต้นในตัวอย่างนี้คือระบุไว้ใน AO นี่คือพินที่ถูกต้องเมื่อคุณวางเซ็นเซอร์กล้ามเนื้อไว้บนกระดานในขั้นตอนที่ 2
ตัวอย่างนี้ใช้เซ็นเซอร์ตาแมว เนื่องจากเราใช้เซ็นเซอร์กล้ามเนื้อ เราจะเปลี่ยนชื่อนี้ ไม่สำคัญว่าคุณจะทำเช่นนี้ แต่จะทำให้เป็นระเบียบเรียบร้อยมากขึ้นเท่านั้น เปลี่ยน PHOTOCELL_PIN เป็น MUSCLESENSOR_PIN ทำในสองที่ของภาพร่าง
/************************ ตัวอย่างเริ่มต้นที่นี่ ********************** *********/
// พินอนาล็อก 0 #define PHOTOCELL_PIN A0
ในโค้ดไลน์สุดท้ายมีความล่าช้า การหน่วงเวลานี้คือ 1 วินาที เราจะตั้งค่าเป็น 2 วินาที ดังนั้น 2000 เราทำเช่นนี้เพราะมีใบอนุญาตใน Adafruit IO ที่มีขีดจำกัดข้อมูล ภายใต้สองวินาทีร่างนี้เกินขีดจำกัดข้อมูลนั้น และจะให้คำเตือน THROTTLE. หมายความว่าไม่มีค่าเข้ามา การตั้งค่านี้เป็นสองวินาทีจะป้องกันสิ่งนี้
// รอหนึ่งวินาที (1,000 มิลลิวินาที == 1 วินาที) ล่าช้า (2000);
นี่คือสิ่งที่คุณต้องเปลี่ยนในภาพร่างเพื่อให้ใช้งานได้ หากคุณต้องการทราบว่าโค้ดทั้งหมดทำงานอย่างไร คุณสามารถค้นหาได้ใน Learn Adafruit พร้อมคำอธิบายของบล็อคโค้ดทุกอัน
ตรวจสอบอัปโหลดภาพร่างไปยังบอร์ดของคุณ แล้วเปิด Arduino Serial Monitor บอร์ดของคุณควรเชื่อมต่อกับ Adafruit IO แล้ว
ตอนนี้คุณสามารถกระชับแขนของคุณ และคุณควรเห็นค่าที่เปลี่ยนไปที่ถูกส่งไปยัง Adafruit IO (ดังในรูปที่ 3) หากคุณไม่เห็นค่าใดๆ ในมอนิเตอร์แบบอนุกรม ให้ตรวจสอบว่าคุณได้ตั้งค่าอัตราบอดในมอนิเตอร์แบบอนุกรมเป็น 115200 หรือไม่
แดชบอร์ด Adafruit IO ตรวจสอบแดชบอร์ดของคุณบน Adafruit IO และคุณควรเห็นมาตรวัดและแผนภูมิเส้นตอบสนองต่อการเปลี่ยนแปลงค่า MyoWare Muscle Sensor
ขั้นตอนที่ 4: การตั้งค่าทริกเกอร์ Adafruit IO
จนถึงขณะนี้ เราสามารถป้อนข้อมูลจากเซ็นเซอร์ MyoWare Muscle ไปยัง Adafruit IO ได้ ตอนนี้เราจะเริ่มต้นอ่านข้อมูลนี้ ดังนั้นหลังจากตรวจพบค่า X ของเซ็นเซอร์ Muscle ที่สูงกว่า 5 เท่า แถบนำ Neopixel จะดำเนินการดำเนินการ
ส่วนนี้มีไว้สำหรับฉันที่ฉันต้องตรวจสอบว่าฉันสามารถอ่านประวัติ Adafruit IO ได้อย่างไร ฉันเคยทำงานกับฟีดและแดชบอร์ดมาก่อน ดังนั้นฉันคิดว่าฟีดและแดชบอร์ดที่สร้างขึ้นสามารถอ่านสิ่งนี้และสร้างการดำเนินการที่นี่ใน Arduino จนถึงตอนนี้ฉันยังไม่ประสบความสำเร็จ หลังจากการวิจัยและ Adafruit IO เป็นจำนวนมาก ฉันพบว่าสามารถทริกเกอร์การดำเนินการได้ด้วยฟังก์ชันทริกเกอร์ใน Adafruit IO เรียนรู้เพิ่มเติมเกี่ยวกับทริกเกอร์
ฟีดพิเศษ ก่อนที่เราจะสามารถสร้างทริกเกอร์ได้ เราต้องสร้างฟีดอื่นเพื่อให้เราสามารถตั้งชื่อมันใน Arduino เพื่อรับเอาต์พุต สร้างฟีดที่มีชื่อ AlertTriggered
สร้างทริกเกอร์ถัดจากส่วนหัวฟีดและแดชบอร์ดคือทริกเกอร์ ไปที่นี่ สร้างทริกเกอร์ใหม่ คุณจะถูกถามว่าคุณต้องการสร้าง Reactive Trigger หรือ Schedule Trigger เลือก Reactive Trigger และคลิกที่สร้าง เนื่องจากคุณต้องการทริกเกอร์บางสิ่งเมื่อมีบางอย่างเกิดขึ้นเท่านั้น (ภาพที่ 1)
ต้องตั้งค่าหลายอย่าง (ขั้นตอนถัดไปแสดงในภาพที่ 2).-เลือกการป้อนอนาล็อกในครั้งแรก ถ้าดังนั้นอินพุตจะถูกนำมาจากที่นี่
- คุณเลือกมากกว่านั้นหรือไม่ เพราะคุณต้องการทริกเกอร์บางสิ่งเมื่อค่าเกินจำนวนดังกล่าว
- ค่าเปรียบเทียบคุณสามารถป้อนหมายเลขที่คุณต้องการเพื่อเปิดใช้งานทริกเกอร์ ฉันทำ 600 ในกรณีนี้
- ด้วย arduino คุณจะต้องได้รับคำติชมเมื่อเกิน 600: ดังนั้นที่ จากนั้นเลือกเผยแพร่ข้อความไปที่:.
-หลังจากนั้นคุณสามารถเลือกฟีดที่สองของคุณที่สร้าง AlertTriggered
ในที่สุดคลิกที่สร้าง
ขั้นตอนที่ 5: เอาต์พุต Neopixel
ขั้นตอนสุดท้ายคือการสร้างผลลัพธ์ เสร็จสิ้นใน Arduino Sketch ที่คุณแก้ไขโดยการเรียก AlertTriggered feed (ที่คุณสร้างขึ้นในขั้นตอนที่แล้ว)
เพื่อให้สามารถสร้างเอาต์พุตได้ ก่อนอื่นคุณต้องเชื่อมต่อแถบ LED Neopixel กับสาย NodeMCU.- + 5v (ซ้าย) ของแถบไฟ LED ของคุณบน 3v ของสาย NodeMCU- GND (ขวา) บน G ของ Node (G = GND)) - สายกลาง DIN ของ LED บน D5 (หรือพอร์ต D อื่น ๆ)
CodeI ได้รวมภาพร่างทั้งหมดที่มีการสลับกันในขั้นตอนนี้เป็นไฟล์ (สามารถพบได้ที่ด้านล่างของขั้นตอนนี้) นี่เป็นแบบร่างเดียวกันกับที่คุณเคยทำงานด้วยในสองสามขั้นตอนสุดท้าย แต่ตอนนี้ Sketch สุดท้ายรวมอยู่ในขั้นตอนที่คุณต้องทำเพื่อสร้างผลลัพธ์ ไฟล์ adafruitio_musclesensor_neopixel ใช้งานได้กับ config.h ที่คุณได้ตั้งค่าไว้ก่อนหน้านี้กับข้อมูลของคุณ บล็อกโค้ดทั้งหมดรวมอยู่ในความคิดเห็นเพื่อให้คุณเห็นว่าเกิดอะไรขึ้น
ข้อมูลผลลัพธ์ใดที่ได้รับการเข้ารหัสในรหัสนี้ ฉันได้สร้างทริกเกอร์ เมื่อ AlertTriggered (สิ่งที่เราประกาศในขั้นตอนก่อนหน้าเหนือค่าที่มากกว่า 600) ถูกทริกเกอร์มากกว่า 5 ครั้ง ซึ่งหมายความว่าเมื่อมีการทริกเกอร์ แถบ LED Neopixel จะถูกตั้งค่าจากสีขาวเป็นสีแดง สิ่งนี้จะเกิดขึ้นเป็นเวลาหนึ่งนาทีและกว่าที่สถานะสีแดงจะจางลงและวนกลับมาเป็นสถานะสีขาวอีกครั้ง
Serial Monitor เพื่อให้ชัดเจนยิ่งขึ้นสำหรับคุณในฐานะโปรแกรมเมอร์ รหัสชุดสุดท้ายสำหรับ Serial Monitor ค่าคืออะไรและเมื่อใดที่คุณทริกเกอร์ระดับการแจ้งเตือน ร่วมกับการเพิ่มวินาทีเมื่อเปิดสถานะ Alert จนกระทั่ง 60 วินาทีเปลี่ยนเป็นปิดสถานะ Alert อีกครั้ง ส่วนนี้จึงเป็นทางเลือก
//เพื่อแสดงวินาทีที่ผ่านไปใน Serial Monitor เมื่อ alartstate อยู่บน Serial.println("Seconds pass:"); Serial.println (วินาทีผ่านไป); } อื่น ๆ { secondsPassed = 0; }
ตรวจสอบหากคุณทำตามขั้นตอนเสร็จแล้วหรือได้รับไฟล์สเก็ตช์ adafruitio_musclesensor_neopixel ด้วย config.h ของคุณเอง คุณสามารถอัปโหลดไปยัง NodeMCU ของคุณได้ หากเสร็จแล้ว คุณต้องเห็นสิ่งที่คล้ายกันด้านล่างใน Serial Monitor ของคุณ:
กำลังเชื่อมต่อกับ Adafruit IO…
เชื่อมต่อ Adafruit IO แล้ว กำลังส่ง -> 23 กำลังส่ง -> 78
ภาพที่ 1 คือ Serial Monitor เมื่ออยู่ใน Alertmode
มันไม่ทำงาน? ตรวจสอบสิ่งต่อไปนี้ - ตรวจสอบว่า config.h รวมอยู่ในวิธีที่ถูกต้องหรือไม่ - คุณใส่ชื่อผู้ใช้และรหัส Adafruit IO ที่ถูกต้องแล้วหรือยัง - คุณใส่ SSID ที่ถูกต้องและรหัสผ่าน Wifi หรือไม่ - คุณได้วางสายไฟของ MyoWare ไว้หรือไม่ เซ็นเซอร์กล้ามเนื้อด้านขวาและจาก Neopixel Led Strip
หรือตรวจสอบขั้นตอนก่อนหน้านี้
ขั้นตอนที่ 6: ผลลัพธ์
ไชโยคุณทำเสร็จแล้ว! เพื่อสาธิตและดูการทำงานของผลิตภัณฑ์ขั้นสุดท้าย ฉันได้รวมวิดีโอไว้
แนะนำ:
DIY LED Strip: วิธีตัด เชื่อมต่อ บัดกรี และเปิดไฟ LED Strip: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY LED Strip: How to Cut, Connect, Solder and Power LED Strip: คู่มือเริ่มต้นสำหรับการสร้างโครงการแสงของคุณเองโดยใช้แถบ LED แถบ LED ที่ยืดหยุ่นและใช้งานง่ายเป็นทางเลือกที่ดีที่สุดสำหรับการใช้งานที่หลากหลายฉันจะครอบคลุม พื้นฐานในการติดตั้งแถบ LED 60 LEDs/m ในร่มแบบเรียบง่าย แต่ใน
ควบคุม Ws2812 Neopixel LED STRIP ผ่าน Bluetooth โดยใช้ Arduino Uno: 4 ขั้นตอน
ควบคุม Ws2812 Neopixel LED STRIP ผ่าน Bluetooth โดยใช้ Arduino Uno: สวัสดีทุกคนในคำแนะนำนี้เราจะเรียนรู้วิธีควบคุม neopixel ด้วย arduino โดยพื้นฐานแล้ว Arduino จะเชื่อมต่อผ่าน Bluetooth โดยใช้โมดูล Bluetooth hc05 กับสมาร์ทโฟน และสมาร์ทโฟนจะส่งคำสั่งเปลี่ยนสีของแถบนำนีโอพิกเซล
วิธีใช้ Neopixel Ws2812 LED หรือ LED STRIP หรือ Led Ring กับ Arduino: 4 ขั้นตอน
วิธีใช้ Neopixel Ws2812 LED หรือ LED STRIP หรือ Led Ring กับ Arduino: สวัสดีทุกคนเนื่องจาก Neopixel led Strip เป็นที่นิยมอย่างมากและเรียกอีกอย่างว่า ws2812 led strip เช่นกัน พวกเขาเป็นที่นิยมอย่างมากเพราะในแถบนำเหล่านี้เราสามารถระบุแต่ละ LED แยกจากกัน ซึ่งหมายความว่าหากคุณต้องการให้ไฟ LED สองสามดวงเรืองแสงเป็นสีเดียว
ESP8266 RGB LED STRIP WIFI ควบคุม - NODEMCU เป็นรีโมท IR สำหรับ Led Strip ที่ควบคุมผ่าน Wifi - RGB LED STRIP การควบคุมสมาร์ทโฟน: 4 ขั้นตอน
ESP8266 RGB LED STRIP WIFI ควบคุม | NODEMCU เป็นรีโมท IR สำหรับ Led Strip ที่ควบคุมผ่าน Wifi | การควบคุมสมาร์ทโฟน RGB LED STRIP: สวัสดีทุกคนในบทช่วยสอนนี้ เราจะเรียนรู้วิธีใช้ nodemcu หรือ esp8266 เป็นรีโมท IR เพื่อควบคุมแถบ LED RGB และ Nodemcu จะถูกควบคุมโดยสมาร์ทโฟนผ่าน wifi โดยพื้นฐานแล้ว คุณสามารถควบคุม RGB LED STRIP ได้ด้วยสมาร์ทโฟนของคุณ
Arduino Ws2812 LED หรือ Neopixel Led Strip หรือ Ring Tutorial: 4 ขั้นตอน
Arduino Ws2812 LED หรือ Neopixel Led Strip หรือ Ring Tutorial: ในคำแนะนำนี้เราจะเรียนรู้วิธีใช้ neopixel หรือ ws 2812 หรือนำอย่างรวดเร็วด้วย Arduino LED หรือแถบหรือวงแหวนประเภทนี้ถูกควบคุมโดยพิน Vin เพียงอันเดียวและทั้งหมด LED สามารถระบุแอดเดรสแยกกันได้ ดังนั้นจึงเรียกอีกอย่างว่า indi