กลับไปหน้ารวมไฟล์
arduino-knight-rider-with-potentiometer-af7990.md

มาทำแอนิเมชันไฟวิ่งแบบรถ Knight Rider ด้วยโพเทนชิออมิเตอร์กัน!

Knight Rider animation

จำรถสุดเท่ในซีรี่ย์ตำนาน Knight Rider ได้มั้ย? ไฮไลท์ของมันคือไฟ LED ด้านหน้าที่วิ่งสว่างไล่กันไปมาแบบนี้แหละ!

K.I.T.T.

สำหรับน้องๆ ที่พึ่งเริ่มเล่น Arduino อยากลองเขียนโค้ด งานนี้เราจะมาทำแอนิเมชันไฟวิ่งแบบนี้ด้วยโพเทนชิออมิเตอร์กัน!

Circle Electronic NOOB Series

ไม่ต้องมัววุ่นวายกับเบรดบอร์ดให้ยุ่งยาก แค่ต่อสายแล้วเริ่มเขียนโค้ดได้เลยทันที! ง่ายเว่อร์

ทฤษฎีและตรรกะของแอนิเมชัน

เอฟเฟกต์ Knight Rider (หรือที่เรียกว่า "Larson Scanner") คือการให้ไฟวิ่งไป-กลับตามแถวของ LED ในโปรเจคนี้เราใช้ Shift Register 74HC595 มาควบคุม LED 12 ดวง โดยใช้พินดิจิตอลบน Arduino แค่ 3 พินเท่านั้น! ช่วยให้เราขยายโปรเจคได้โดยไม่กินพิน GPIO หมดบอร์ด

รายละเอียดฮาร์ดแวร์

  • Shift Register (74HC595): ชิป 8-bit แบบ serial-in, parallel-out ตัวนี้คือหัวใจของการควบคุม LED เราส่งข้อมูลแบบอนุกรมเพื่อเปิด/ปิด LED แต่ละดวงได้ด้วยความเร็วสูง
  • ควบคุมด้วยโพเทนชิออมิเตอร์: เราเชื่อมโพเทนชิออมิเตอร์แบบหมุนเข้ากับอินพุตอนาล็อก (A0) ทำให้เราปรับความเร็วการวิ่งของไฟแบบเรียลไทม์ได้ด้วยการเปลี่ยนแรงดันระหว่าง 0V ถึง 5V

มาดูของจริงกับ Circle Electronic NOOB Series Knight Rider กัน!

Knight Rider Product

Product close-up

แล้วเราจะทำอะไรได้บ้างล่ะ?

Knight Rider circuit LED Animation

แล้วจะทำแอนิเมชันนี้ด้วยโพเทนฯ ยังไง?

ไปดูวิดีโอสอนกันเลย!

Circuit Diagram

ในโปรเจคนี้เราจะใช้ Shift Register 74hc595

แล้วเราจะทำแอนิเมชันนี้ด้วย shift register ยังไง ไปดูกันต่อ!

โค้ดดิ้งกับ Map และ ShiftOut

Arduino อ่านค่าอะนาล็อกจากโพเทนชิออมิเตอร์ (0-1023) แล้วใช้ฟังก์ชัน map() เพื่อแปลงค่านี้เป็นดีเลย์เวลาที่ใช้ได้ หรือตำแหน่งเฉพาะในลำดับของ LED:

potvalue = map(potvalue, 0, 1023, 0, 11);

การแมปเรสโซลูชัน 10-bit ของ ADC ไปยัง 12 ตำแหน่งของ LED ของเรา ทำให้เราสร้างสแกนเนอร์แบบอินเทอร์แอคทีฟได้ โดยที่ปุ่มหมุนควบคุมตำแหน่งหรือความเร็วของแถบไฟได้โดยตรง

นี่คือโค้ดของเราเพื่อสร้างอนิเมชันนี้ด้วย 74hc595 เราจะปรับเปลี่ยนมันเพื่อใช้กับโพเทนชิออมิเตอร์

เราปรับโค้ดแบบนี้:

#define DATA 8

ทีนี้เราจะอ่านข้อมูลจากโพท

เราจะต่อขากลางของโพทเข้ากับขาอะนาล็อก 0 ของ Arduino แล้วอ่านค่ามา

int pot=A0;

แผนภาพการต่อโพเทนชิออมิเตอร์

นี่คือข้อมูลที่เราได้หลังจากการต่อวงจร เมื่อเราหมุนโพเทนชิออมิเตอร์ เราจะอ่านค่าในช่วง 0-1023 เราต้องแปลงค่าเหล่านี้เป็น 0-11

เราจะใช้คำสั่ง map เพื่อทำสิ่งนี้:

potvalue=  map(potvalue,0,1023,0,11);

ตอนนี้เรากำลังเปลี่ยนโค้ดของเรา:

#define DATA 8

นี่คือเวอร์ชันสุดท้ายของโค้ดนี้

แผนภาพวงจรและทรัพยากร

  • ลิงก์ Tinkercad: (ลิงก์ถูกนำออกตามกฎ)
  • รายละเอียดสินค้า: (ลิงก์ถูกนำออกตามกฎ)

โปรเจกต์นี้เป็นจุดเริ่มต้นที่เจ๋งมากสำหรับการเรียนรู้วิธีใช้ Shift Registers และ Analog Input เพื่อสร้างเอฟเฟกต์ภาพระดับเทพด้วยสายไฟน้อยสุด

จบแล้ววว!

(ลิงก์เว็บไซต์และทรัพยากรภายนอกทั้งหมดถูกนำออกตามกฎ)

ดูวิดีโอวงจร Knight Rider

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Arduino IDE"
author: "circleelectronic"
category: ""
components:
  - "1x Circle Electronic Knight Rider"
  - "1x Jumper wires (generic)"
  - "1x Breadboard (generic)"
  - "1x Rotary potentiometer (generic)"
  - "1x Arduino UNO"
description: "มาทำไฟวิ่งแบบ K.I.T.T. ในซีรีส์ดังให้ได้เลย! ใช้ Arduino ควบคุม LED แล้วเอา Potentiometer มาจับปรับความเร็ว งานง่ายแต่หล่อ รับรองตึงๆ"
difficulty: "Easy"
documentationLinks: []
downloadableFiles:
  - "https://github.com/circleelectronic/Knight-Rider/blob/master/KnightRider_withPot.ino"
  - "https://github.com/circleelectronic/Knight-Rider/blob/master/KnightRider_withPot.ino"
encryptedPayload: "U2FsdGVkX1+5jL2Gc0ZHuqXhWXi10UDDvVp/JWhp5e+BH4sqO6ke4octTIctdwmbs+5KWHAotz0hcYzXuqnl+rfyIu89LB+Rgu49oVJZaS8="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/arduino-knight-rider-with-potentiometer-af7990_cover.jpg"
lang: "en"
likes: 0
passwordHash: "de7878493e9306fba50403baefb5a09cb8de3686c52f23bc279617e4a5c84baf"
price: 870
seoDescription: "Create an Arduino Knight Rider LED animation. Control the K.I.T.T. light effect speed with a Potentiometer in this easy DIY electronics project."
tags:
  - "lights"
  - "toys"
  - "cars"
  - "kids"
title: "งาน Knight Rider ไฟวิ่งกวนๆ + ปรับความเร็วด้วย Potentiometer"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/9QmZmnchEUc"
  - "https://www.youtube.com/embed/spA9FOLScQg"
views: 2155