สารบัญ:

สร้าง Ambient Display ที่ใช้ลม: 8 ขั้นตอน (พร้อมรูปภาพ)
สร้าง Ambient Display ที่ใช้ลม: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: สร้าง Ambient Display ที่ใช้ลม: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: สร้าง Ambient Display ที่ใช้ลม: 8 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Full Hyperion Ambilight Tutorial (TV Backlight) - LEDs Match Colors On The Screen 2024, พฤศจิกายน
Anonim
สร้าง Ambient Display ที่ใช้ลม
สร้าง Ambient Display ที่ใช้ลม

นี่คือโปรเจ็กต์ระดับคลาสที่ออกแบบและสร้างโดย Trinh Le และ Matt Arlauckas สำหรับ HCIN 720: Prototyping Wearable และ Internet of Things Devices ที่สถาบันเทคโนโลยีโรเชสเตอร์

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

จอแสดงผลจะประกอบด้วยพัดลมเป่าขึ้นเพื่อทำริบบิ้นผ้าและ 'เต้นรำ' เหนือโต๊ะ ความมีชีวิตชีวาของริบบิ้นจะแสดงขนาดของความเร็วลม ทิศทางลมจะแสดงด้วยตัวบ่งชี้ที่เชื่อมต่อกับสเต็ปเปอร์มอเตอร์ในฐานและสามารถหมุนได้เต็ม 360°

ขั้นตอนที่ 1: วัสดุและเครื่องมือ

ที่อยู่อาศัย

  • แผ่นอะครีลิค (PMMA) ขนาด 1/8” เหมาะสำหรับการตัดด้วยเลเซอร์
  • 1/8” แท่งอะครีลิค (สำหรับอุดรอยต่อ)
  • สิ่งที่เป็นฝอย

ชิ้นส่วนอิเล็กทรอนิกส์

  • อนุภาคโฟตอน (https://store.particle.io/collections/photon)
  • แม่แรง DC 2.1 มม. (https://www.adafruit.com/product/373)
  • แหล่งจ่ายไฟ 12VDC 600mA พร้อมปลั๊ก 2.1 มม. (https://www.adafruit.com/product/798)
  • ตัวแปลงไฟ DC-DC (https://www.digikey.com/product-detail/en/murata-power-solutions-inc/OKI-78SR-12-1.0-W36-C/811-3293-ND/6817698) หรือ 7805 วงจรควบคุมแรงดันไฟ (https://www.instructables.com/howto/7805/)
  • MFRC522 บอร์ดอ่าน RFID (https://www.amazon.com/dp/B00VFE2DO6/ref=cm_sw_su_dp)
  • L293D ไดรเวอร์มอเตอร์บริดจ์คู่ H-Bridge (https://www.adafruit.com/product/807)
  • สเต็ปเปอร์มอเตอร์ 12V (https://www.adafruit.com/product/918)
  • พัดลม 12VDC ขนาด 120 มม. (https://www.amazon.com/Kingwin-CF-012LB-Efficient- excellent-Ventilation/dp/B002YFP8BK)
  • S9013 ทรานซิสเตอร์ NPN (หรือใกล้เคียง)
  • ตัวต้านทาน 2 - 220 โอห์ม
  • 1N4001 ไดโอด
  • ไฟ LED สีฟ้า 5 มม.
  • แท็กสติกเกอร์ Mifare Classic 1K RFID (https://www.amazon.com/YARONGTECH-MIFARE-Classic-Material-adhesive/)

การเดินสายไฟ

  • Adafruit Perma-Proto ฮาล์ฟบอร์ด (https://www.adafruit.com/product/1609)
  • ลวด 22 AWG แบบแข็งและแบบเกลียว
  • 20 AWG, ลวดสองตัวนำ (สำหรับกำลัง)
  • แถบขั้วต่อหัวต่อตัวผู้ (สำหรับการเชื่อมต่อพัดลมและมอเตอร์)
  • แถบส่วนหัวแบบวางซ้อนกันได้หญิง 2 - 12 พิน (สำหรับโฟตอน)
  • แถบเฮดเดอร์ตัวเมียระยะพิทช์ 1 - 1x3 0.1” (สำหรับทรานซิสเตอร์พัดลม)
  • 1 - 1x8 0.1” คอนเนคเตอร์ระยะพิทช์และหน้าสัมผัสซ็อกเก็ตจีบ (เครื่องอ่าน RFID)
  • 1 - 1x2 0.1” คอนเนคเตอร์ระยะพิทช์และหน้าสัมผัสซ็อกเก็ตจีบ (พัดลม)
  • 4 - 1x1 0.1” คอนเนคเตอร์ระยะพิทช์และหน้าสัมผัสซ็อกเก็ตจีบ (สเต็ปเปอร์มอเตอร์)
  • 1 - ซ็อกเก็ต DIP 16 พิน (สำหรับ H-bridge)
  • สายรัดไนลอนขนาดเล็ก (อุปกรณ์เสริม)
  • ท่อหดความร้อน (อุปกรณ์เสริม)

ฮาร์ดแวร์

  • 2 - สกรู M3x6mm (สำหรับติดตั้งสเต็ปเปอร์มอเตอร์)
  • 4 - สกรู M3x35mm (สำหรับติดตั้งพัดลม)
  • 8 - เครื่องซักผ้าแบบแบน M3
  • 4 - ถั่ว M3

เครื่องมือ

  • เครื่องตัดเลเซอร์
  • เครื่องพิมพ์ 3 มิติ
  • เครื่องมือบัดกรี
  • กาวอะคริลิก (https://www.amazon.com/Acrylic-Plastic-Cement-Applicator-Bottle/)
  • แผ่นกระดาษลูกฟูกแบบเรียบ (สำหรับจิ๊กประกอบ)

ขั้นตอนที่ 2: ข้อมูลที่จะเป็นตัวแทน

ข้อมูลที่จะเป็นตัวแทน
ข้อมูลที่จะเป็นตัวแทน

Wind Display จะแสดงทิศทางลมและความเร็วจากตำแหน่งที่เกี่ยวข้องกับโทเค็นที่แท็ก RFID ข้อมูลนี้จะถูกรวบรวมจาก WeatherUnderground API หากต้องการใช้ API นี้ ให้สร้างบัญชีที่ https://www.wunderground.com/weather/api และเลือกตัวเลือกแผนที่เหมาะสมกับความต้องการของคุณมากที่สุด

ขั้นตอนที่ 3: แสดงการก่อสร้าง

การก่อสร้างจอแสดงผล
การก่อสร้างจอแสดงผล
การก่อสร้างจอแสดงผล
การก่อสร้างจอแสดงผล
การก่อสร้างจอแสดงผล
การก่อสร้างจอแสดงผล

ตัดด้วยเลเซอร์

ทำตามคู่มือการใช้งานเครื่องตัดเลเซอร์ที่คุณจะใช้ ให้เตรียมแสดงไฟล์ Adobe Illustrator (ด้านล่าง) สำหรับการตัด คุณอาจต้องจัดเรียงวัตถุในไฟล์ใหม่เพื่อให้พอดีกับขนาดของเครื่องตัดเลเซอร์ที่คุณใช้

ตัดแผ่นด้วยเลเซอร์จากแผ่นพลาสติกอะคริลิก (PMMA) ขนาด 1/8 นิ้ว

จิ๊กประกอบ

เพื่อรักษามุมภายนอกห้าเหลี่ยมปกติไว้ที่ 116.6° เราจึงออกแบบอุปกรณ์จับยึดแบบเร็ว (assembly_jig.ai) เพื่อช่วยในการประกอบเพลต

  1. เปิดไฟล์ assembly_jig.ai แล้วตัดกระดาษลูกฟูกหลายๆ ชิ้น
  2. กาวพวกเขาในกอง ตรวจสอบให้แน่ใจว่ากองยังคงเป็นสี่เหลี่ยม

แท่งฟิลเลอร์มุม

เนื่องจากมุมต่าง ๆ ไม่เป็นมุมฉากซึ่งกันและกัน เราจึงใช้แท่งอะครีลิกขนาด 1/8 เพื่ออุดช่องว่าง และให้พื้นที่ผิวสำหรับการติดกาวมากขึ้น ความยาวแท่งก่อนตัดที่จะวางระหว่างแผ่นแต่ละแผ่น เหลือพื้นที่ไว้เล็กน้อย ที่ปลายแต่ละด้านเพื่อให้มุมมาบรรจบกัน

การประกอบฐาน

เริ่มต้นด้วยชิ้นส่วนฐานที่มีรูพัดลมขนาดใหญ่ และแท่งอะครีลิกติดกาวที่ขอบทั้งห้าด้าน

วางชิ้นส่วนพัดลมนี้บนเอียงด้านหนึ่งของจิ๊กประกอบ และวางชิ้นส่วนด้านฐานที่ด้านเอียงตรงข้าม

ค่อยๆ ติดกาวที่ข้อต่อแล้วรอให้เซ็ตตัว

ทำงานรอบๆ ด้านอื่นๆ ของฐานรองต่อไป ตรวจสอบให้แน่ใจว่าได้ติดชิ้นส่วนของแท่งเติมที่ใดก็ตามที่แผ่นสองแผ่นมาบรรจบกัน

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

ติดสเต็ปเปอร์มอเตอร์โดยใช้สกรู M3x6mm สองตัว

การประกอบท็อป

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

ขั้นตอนที่ 4: อุปกรณ์อิเล็กทรอนิกส์

อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์

โครงการนี้สามารถประกอบได้อย่างรวดเร็วโดยใช้สายเขียงหั่นขนมและจัมเปอร์ เพียงทำตามแผนภาพด้านบน

สำหรับการสร้างขึ้นที่มุ่งมั่นมากขึ้น ถึงเวลาแล้วที่ทักษะการบัดกรีที่บ้าคลั่งเหล่านั้น

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

  • คำแนะนำ: วิธีการประสาน
  • Adafruit คู่มือการบัดกรีที่ยอดเยี่ยม

ใช้ฮาล์ฟบอร์ด Adafruit Perma-proto จัดวางส่วนประกอบตามที่แสดงในแผนภาพ Fritzing ด้านบน การใช้ซ็อกเก็ตสำหรับวงจรรวมและทรานซิสเตอร์ช่วยให้สามารถเปลี่ยนได้อย่างรวดเร็วและง่ายดายหากคุณปล่อย Magic Smoke (https://en.wikipedia.org/wiki/Magic_smoke)

หมุด/ซ็อกเก็ตส่วนหัวของบัดกรีกับบอร์ดเพื่อช่วยเชื่อมต่อส่วนประกอบภายนอก (สเต็ปเปอร์มอเตอร์และพัดลม) และทำให้ถอดเปลี่ยนได้ง่าย (ดู "ควันวิเศษ" ด้านบน) บัดกรีสายไฟและสายกราวด์ให้เข้าที่ก่อน โดยพยายามให้สั้นและตรงที่สุด ประสานแจ็คไฟ DC เข้ากับปลายด้านหนึ่งของความยาวของลวดตัวนำสองตัว 20AWG และปลายอีกด้านกับรางจ่ายไฟด้านบน (บอร์ดที่เน้นส่วนหัวโฟตอนทางด้านซ้าย)

บัดกรีลวดเพื่อทำการเชื่อมต่อวงจร ในบางกรณี การเดินสายไฟที่ด้านล่างของบอร์ดจะง่ายกว่า สำหรับเครื่องอ่าน RFID ส่วนหัวแบบซ้อนได้สำหรับโฟตอนช่วยให้มีพื้นที่เพียงพอสำหรับการเชื่อมต่อภายใต้โฟตอน ยุติสาย RFID ด้วยขั้วต่อส่วนหัว 1x8 เพื่อต่อเข้ากับส่วนหัวของเครื่องอ่าน RFID

ขั้นตอนที่ 5: ติดตั้งอุปกรณ์อิเล็กทรอนิกส์

ติดตั้งอุปกรณ์อิเล็กทรอนิกส์
ติดตั้งอุปกรณ์อิเล็กทรอนิกส์
ติดตั้งอุปกรณ์อิเล็กทรอนิกส์
ติดตั้งอุปกรณ์อิเล็กทรอนิกส์
ติดตั้งอุปกรณ์อิเล็กทรอนิกส์
ติดตั้งอุปกรณ์อิเล็กทรอนิกส์

เมื่อฐานติดกาวแล้ว ให้ติดตั้งพัดลมในฐานโดยใช้สกรู M3x35 สี่ตัว แหวนรอง และน็อต

ติดกระดานหลักเข้ากับด้านในของแผ่นรองด้านหลัง (แผ่นที่มีช่องเจาะรูปสี่เหลี่ยมผืนผ้าสำหรับแม่แรง DC แบบบาร์เรล) โดยใช้เทปสำหรับยึดที่เป็นโฟม

เสียบแม่แรง DC ลงในรูสี่เหลี่ยม แล้วซีเมนต์เข้าที่โดยใช้กาวอะคริลิก

ติดบอร์ดเครื่องอ่าน RFID เข้ากับขั้วต่อและยึดทุกที่ที่สะดวกโดยใช้เทปสำหรับติดตั้งที่เป็นโฟม ไม่เป็นไรหากด้านหลังของบอร์ดหันไปทางด้านนอกของจอแสดงผล เสาอากาศจะยังคงรับสัญญาณ RFID ยึด LED สีน้ำเงินไว้ใกล้ ๆ

เสียบพัดลมและสเต็ปเปอร์มอเตอร์เข้ากับเมนบอร์ด

ขั้นตอนที่ 6: การเขียนโปรแกรม

ยังใหม่กับอนุภาคโฟตอน?

โครงการนี้จะใช้ Particle Webhooks เพื่อรวบรวมข้อมูลลม นี่คือกระบวนการโดยสรุป

  1. อุปกรณ์รอการสแกนโทเค็น
  2. เมื่อสแกนโทเค็น ระบบจะจัดเก็บรหัสโทเค็นที่ไม่ซ้ำกัน
  3. จากนั้นอุปกรณ์จะเผยแพร่รหัสโทเค็นนี้ไปยัง Particle.io
  4. เมื่อได้รับข้อมูลนี้ Particle.io จะส่งข้อมูลไปยังหน้า API ของเราผ่านการรวมเว็บฮุค
  5. หน้า API ได้รับรหัสโทเค็น และค้นหาเมืองและรัฐที่เชื่อมโยงกับหน้าดังกล่าวจากอาร์เรย์ Locations
  6. จากนั้นหน้า API จะทำการเรียก AP ไปยัง WeatherUnderground (WU) โดยใช้ข้อมูลตำแหน่ง
  7. WU API ส่งคืนอ็อบเจ็กต์ JSON ของสภาพอากาศปัจจุบันทั้งหมดสำหรับตำแหน่งนั้นไปยังหน้า API
  8. หน้า API จะแยกวิเคราะห์ข้อมูลนี้ แยกและแปลงทิศทางลมและความเร็วลม และส่งคืนข้อมูลดังกล่าวไปยังอุปกรณ์เป็นวัตถุ JSON
  9. อุปกรณ์แยกวิเคราะห์วัตถุ JSON โดยจัดเก็บทิศทางลมและความเร็วเพื่อใช้ควบคุมสเต็ปเปอร์มอเตอร์และพัดลม

เฟิร์มแวร์

สร้างโปรเจ็กต์โฟตอนใหม่ชื่อ 'wind_display' และเขียนทับไฟล์หลักด้วยรหัส wind_display.ino (ด้านล่าง)

ถัดไป ค้นหาและติดตั้งไลบรารีต่อไปนี้ในโครงการของคุณ:

  • MFRC522 - v0.1.4 ไลบรารี RFID สำหรับอุปกรณ์อนุภาค
  • SparkJSON - ไลบรารี v0.0.2 JSON ที่พอร์ตจาก @bblanchon
  • Stepper - v1.1.3 ไลบรารี Stepper Motor สำหรับ Arduino

รวบรวมโครงการและดาวน์โหลดไปยังโฟตอนของคุณ

หน้า API

ในการใช้หน้า API คุณจะต้องอัปโหลดไปยังเว็บเซิร์ฟเวอร์ที่เปิดใช้งาน PHP มีตัวเลือกเว็บโฮสติ้ง PHP ฟรีมากมายให้เลือก

ดาวน์โหลด getWindData.txt และเปลี่ยนนามสกุลไฟล์เป็น.php เปิดในโปรแกรมแก้ไขที่คุณต้องการและทำการเปลี่ยนแปลงต่อไปนี้:

เพิ่ม Photon Core ID ของคุณ:

// เพิ่ม core_id สำหรับโฟตอนที่คุณต้องการอนุญาตให้ใช้ API$allowedCores = array('CoreID ของคุณไปที่นี่');

เพิ่มคีย์ WeatherUnderground API ของคุณ:

// WeatherUnderground API Key$wu_apikey = "รหัส WU API ของคุณ";

ในตอนนี้ ไม่ต้องกังวลกับการตั้งค่าโทเค็น/ตำแหน่ง เราจะดูแลเรื่องนี้หลังจากตั้งค่าทุกอย่างแล้ว

บันทึกและอัปโหลดไฟล์ไปยังเว็บเซิร์ฟเวอร์ บันทึก URL สดสำหรับหน้า API

เว็บฮุคอนุภาค

เข้าสู่ระบบ Particle Console แล้วคลิกไอคอน Integrations ทางด้านซ้าย

  1. คลิกที่ 'การรวมใหม่' จากนั้นเลือก 'Webhook'
  2. ตั้งชื่อกิจกรรมเป็น 'wind_display'
  3. ตั้งค่า URL เป็น URL สดของหน้า API
  4. คลิก 'สร้างเว็บฮุค'

รับรหัสโทเค็น RFID และแก้ไขหน้า API

เมื่อโฟตอนเสียบเข้ากับคอมพิวเตอร์ของคุณผ่าน USB และถอดปลั๊กจากแหล่งจ่ายไฟภายนอก ให้เปิดหน้าต่างเทอร์มินัลแล้วเรียกใช้ Particle Serial Monitor

  1. สแกนแท็ก RFID และจดรหัสโทเค็น 8 ตัวที่แสดงบนจอภาพอนุกรม
  2. ทำซ้ำสำหรับแท็กเพิ่มเติมใดๆ ที่คุณต้องการใช้

ตอนนี้กลับไปที่ getWindData.php และค้นหาส่วน Locations array:

// Locations Array// แทนที่ "TokenID n" ด้วยรหัสโทเค็นที่สแกน // แทนที่ "Cityn" ด้วยเมืองที่เกี่ยวข้องกับรหัสโทเค็น // แทนที่ "Sn" ด้วยสถานะสองอักขระที่เชื่อมโยงกับเมือง $locations = array ("TokenID 1" => array("city" => "City1", "state" => "S1"), "TokenID 2" => array("city" => "City2", "state" => "S2"), "TokenID 3" => array("city" => "City3", "state" => "S3"));

แทนที่ ID โทเค็นแต่ละรายการด้วย ID โทเค็นของแท็กของคุณ และเชื่อมโยงกับเมืองและรัฐที่คุณต้องการข้อมูลลม

บันทึกไฟล์และอัปโหลดไปยังเว็บเซิร์ฟเวอร์ของคุณ

ขั้นตอนที่ 7: ใช้มัน

  1. แสดงได้ทุกที่ที่คุณต้องการ
  2. ตั้งใบพัดให้หันไปทางทิศเหนือ
  3. เสียบปลั๊กไฟ.
  4. วางโทเค็นไว้ใกล้กับเครื่องอ่าน RFID และรอให้ไฟ LED สีฟ้ากะพริบ

ขั้นตอนที่ 8: แนวคิดเพิ่มเติม

นี่คือแนวคิดบางส่วนในการขยายโครงการ!

แนะนำ: