สารบัญ:
- ขั้นตอนที่ 1: ส่วนประกอบ
- ขั้นตอนที่ 2: เชื่อมต่อ ILI9341 TFT Touchscreen Display Shield กับ Arduino
- ขั้นตอนที่ 3: เริ่ม Visuino และเพิ่ม TFT Display Shield
- ขั้นตอนที่ 4: ใน Visuino: เพิ่มองค์ประกอบการวาดข้อความสำหรับเงาข้อความ
- ขั้นตอนที่ 5: ใน Visuino: เพิ่ม Draw Text Element สำหรับ Text Foreground
- ขั้นตอนที่ 6: ใน Visuino: เพิ่ม Draw Bitmap Element สำหรับแอนิเมชั่น
- ขั้นตอนที่ 7: ใน Visuino: เพิ่มพินสำหรับคุณสมบัติ X และ Y ของ Draw Bitmap Element
- ขั้นตอนที่ 8: ใน Visuino: เพิ่ม 2 Integer Sine Generator และกำหนดค่า First One
- ขั้นตอนที่ 9: ใน Visuino: กำหนดค่าตัวสร้างไซน์ที่สอง และเชื่อมต่อตัวสร้างไซน์กับหมุดพิกัด X และ Y ของบิตแมป
- ขั้นตอนที่ 10: ใน Visuino: เพิ่มและเชื่อมต่อ Start และ Clock Multi Source Components
- ขั้นตอนที่ 11: สร้าง คอมไพล์ และอัปโหลดโค้ด Arduino
- ขั้นตอนที่ 12: และเล่น…
วีดีโอ: Arduino Uno: แอนิเมชั่นบิตแมปบน ILI9341 TFT Touchscreen Display Shield พร้อม Visuino: 12 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
ILI9341 ที่ใช้ TFT Touchscreen Display Shields เป็น Display Shields ราคาประหยัดที่ได้รับความนิยมอย่างมากสำหรับ Arduino Visuino ได้รับการสนับสนุนสำหรับพวกเขามาระยะหนึ่งแล้ว แต่ฉันไม่เคยมีโอกาสเขียนบทช่วยสอนเกี่ยวกับวิธีการใช้งาน เมื่อเร็ว ๆ นี้มีเพียงไม่กี่คนที่ถามคำถามเกี่ยวกับการใช้จอแสดงผลกับ Visuino ดังนั้นฉันจึงตัดสินใจทำแบบฝึกหัด
ในบทช่วยสอนนี้ ฉันจะแสดงให้คุณเห็นว่าการเชื่อมต่อ Shield กับ Arduino นั้นง่ายเพียงใด และตั้งโปรแกรมด้วย Visuino เพื่อทำให้บิตแมปเคลื่อนไหวเพื่อย้ายไปมาบนจอแสดงผล
ขั้นตอนที่ 1: ส่วนประกอบ
- บอร์ดที่เข้ากันได้กับ Arduino Uno หนึ่งตัว (อาจใช้งานได้กับ Mega เช่นกัน แต่ฉันยังไม่ได้ทดสอบชิลด์กับมัน)
- ILI9341 2.4" TFT Touchscreen Shield สำหรับ Arduino
ขั้นตอนที่ 2: เชื่อมต่อ ILI9341 TFT Touchscreen Display Shield กับ Arduino
เสียบ TFT Shield ที่ด้านบนของ Arduino Uno ตามที่แสดงในภาพ
ขั้นตอนที่ 3: เริ่ม Visuino และเพิ่ม TFT Display Shield
ในการเริ่มต้นเขียนโปรแกรม Arduino คุณจะต้องติดตั้ง Arduino IDE จากที่นี่:
ตรวจสอบให้แน่ใจว่าคุณติดตั้ง 1.6.7 หรือสูงกว่า มิฉะนั้น Instructable นี้จะไม่ทำงาน
ต้องติดตั้ง Visuino: https://www.visuino.com ด้วย
- เริ่ม Visuino ตามที่แสดงในภาพแรก
- คลิกที่ปุ่ม "ลูกศรลง" ของส่วนประกอบ Arduino เพื่อเปิดเมนูแบบเลื่อนลง (ภาพที่ 1)
- จากเมนูให้เลือก "Add Shields…" (ภาพที่ 1)
- ในกล่องโต้ตอบ "Shields" ให้ขยายหมวดหมู่ "Displays" และเลือก "TFT Color Touch Screen Display ILI9341 Shield" จากนั้นคลิกที่ปุ่ม "+" เพื่อเพิ่ม (ภาพที่ 2)
ขั้นตอนที่ 4: ใน Visuino: เพิ่มองค์ประกอบการวาดข้อความสำหรับเงาข้อความ
ต่อไปเราต้องเพิ่มองค์ประกอบกราฟิกเพื่อแสดงข้อความและบิตแมป ขั้นแรกเราจะเพิ่มองค์ประกอบกราฟิกเพื่อวาดเงาของข้อความ:
- ใน Object Inspector ให้คลิกที่ปุ่ม "…" ถัดจากค่าของคุณสมบัติ "Elements" ขององค์ประกอบ "TFT Display" (ภาพที่ 1)
- ในตัวแก้ไของค์ประกอบ เลือก "วาดข้อความ" จากนั้นคลิกที่ปุ่ม "+" (ภาพที่ 2) เพื่อเพิ่มหนึ่งรายการ (ภาพที่ 3)
- ใน Object Inspector ตั้งค่าของคุณสมบัติ "Color" ขององค์ประกอบ "Draw Text1" เป็น "aclSilver" (ภาพที่ 3)
- ใน Object Inspector ตั้งค่าของคุณสมบัติ "Size" ขององค์ประกอบ "Draw Text1" เป็น "4" (ภาพที่ 4) ทำให้ข้อความใหญ่ขึ้น
- ใน Object Inspector ตั้งค่าของคุณสมบัติ "Text" ขององค์ประกอบ "Draw Text1" เป็น "Visuino" (ภาพที่ 5)
- ใน Object Inspector ตั้งค่าของคุณสมบัติ "X" ขององค์ประกอบ "Draw Text1" เป็น "43" (ภาพที่ 6)
- ใน Object Inspector ตั้งค่าของคุณสมบัติ "Y" ขององค์ประกอบ "Draw Text1" เป็น "278" (ภาพที่ 6)
ขั้นตอนที่ 5: ใน Visuino: เพิ่ม Draw Text Element สำหรับ Text Foreground
ตอนนี้เราจะเพิ่มองค์ประกอบกราฟิกเพื่อวาดข้อความ:
- ในตัวแก้ไของค์ประกอบ เลือก "วาดข้อความ" จากนั้นคลิกที่ปุ่ม "+" (ภาพที่ 1) เพื่อเพิ่มอันที่สอง (ภาพที่ 2)
- ใน Object Inspector ตั้งค่าของคุณสมบัติ "Size" ขององค์ประกอบ "Draw Text1" เป็น "4" (ภาพที่ 2)
- ใน Object Inspector ตั้งค่าของคุณสมบัติ "Text" ขององค์ประกอบ "Draw Text1" เป็น "Visuino" (ภาพที่ 3)
- ใน Object Inspector ตั้งค่าของคุณสมบัติ "X" ขององค์ประกอบ "Draw Text1" เป็น "40" (ภาพที่ 4)
- ใน Object Inspector ตั้งค่าของคุณสมบัติ "Y" ขององค์ประกอบ "Draw Text1" เป็น "275" (ภาพที่ 4)
ขั้นตอนที่ 6: ใน Visuino: เพิ่ม Draw Bitmap Element สำหรับแอนิเมชั่น
ต่อไปเราจะเพิ่มองค์ประกอบกราฟิกเพื่อวาดบิตแมป:
- ในตัวแก้ไของค์ประกอบ เลือก "วาดบิตแมป" จากนั้นคลิกที่ปุ่ม "+" (ภาพที่ 1) เพื่อเพิ่มหนึ่งรายการ (ภาพที่ 2)
- ใน Object Inspector ให้คลิกที่ปุ่ม "…" ถัดจากค่าของคุณสมบัติ "Bitmap" ขององค์ประกอบ "Draw Bitmap1" (ภาพที่ 2) เพื่อเปิด "Bitmap Editor" (ภาพที่ 3)
- ใน "Bitmap Editor" ให้คลิกที่ปุ่ม "Load…" (ภาพที่ 3) เพื่อเปิด File Open Dialog (ภาพที่ 4)
- ในไดอะล็อกเปิดไฟล์ เลือกบิตแมปที่จะวาด และคลิกที่ปุ่ม "เปิด" (ภาพที่ 4) หากไฟล์มีขนาดใหญ่เกินไป อาจไม่สามารถใส่ลงในหน่วยความจำ Arduino ได้ หากคุณได้รับข้อผิดพลาดหน่วยความจำไม่เพียงพอในระหว่างการคอมไพล์ คุณอาจต้องเลือกบิตแมปที่เล็กกว่า
- ใน "ตัวแก้ไขบิตแมป" คลิกที่ "ตกลง" ปุ่ม (ภาพที่ 5) เพื่อปิดกล่องโต้ตอบ
ขั้นตอนที่ 7: ใน Visuino: เพิ่มพินสำหรับคุณสมบัติ X และ Y ของ Draw Bitmap Element
ในการทำให้บิตแมปเคลื่อนไหว เราต้องควบคุมตำแหน่ง X และ Y สำหรับสิ่งนี้ เราจะเพิ่มพินสำหรับคุณสมบัติ X และ Y:
- ใน Object Inspector ให้คลิกที่ปุ่ม "Pin" ที่ด้านหน้าของคุณสมบัติ "X" ขององค์ประกอบ "Draw Bitmap1" (ภาพที่ 1) และเลือก "Integer SinkPin" (ภาพที่ 2)
- ใน Object Inspector ให้คลิกที่ปุ่ม "Pin" ที่ด้านหน้าคุณสมบัติ "Y" ขององค์ประกอบ "Draw Bitmap1" (ภาพที่ 3) และเลือก "Integer SinkPin" (ภาพที่ 4)
ขั้นตอนที่ 8: ใน Visuino: เพิ่ม 2 Integer Sine Generator และกำหนดค่า First One
เราจะใช้เครื่องกำเนิดไซน์จำนวนเต็ม 2 เครื่องเพื่อทำให้การเคลื่อนไหวของบิตแมปเคลื่อนไหว:
- พิมพ์ "sine" ในช่อง Filter ของ Component Toolbox จากนั้นเลือกส่วนประกอบ "Sine Integer Generator" (ภาพที่ 1) และวางองค์ประกอบสองส่วนในพื้นที่ออกแบบ
- ใน Object Inspector ตั้งค่าของคุณสมบัติ "Amplitude" ขององค์ประกอบ SineIntegerGenerator1 เป็น "96" (ภาพที่ 2)
- ใน Object Inspector ตั้งค่าของคุณสมบัติ "Offset" ขององค์ประกอบ SineIntegerGenerator1 เป็น "96" (ภาพที่ 3)
- ใน Object Inspector ตั้งค่าของคุณสมบัติ "Frequency" ขององค์ประกอบ SineIntegerGenerator1 เป็น "0.2" (ภาพที่ 4)
ขั้นตอนที่ 9: ใน Visuino: กำหนดค่าตัวสร้างไซน์ที่สอง และเชื่อมต่อตัวสร้างไซน์กับหมุดพิกัด X และ Y ของบิตแมป
- ใน Object Inspector ตั้งค่าของคุณสมบัติ "Amplitude" ขององค์ประกอบ SineIntegerGenerator2 เป็น "120" (ภาพที่ 1)
- ใน Object Inspector ตั้งค่าของคุณสมบัติ "Offset" ขององค์ประกอบ SineIntegerGenerator2 เป็น "120" (ภาพที่ 2)
- ใน Object Inspector ตั้งค่าของคุณสมบัติ "Frequency" ขององค์ประกอบ SineIntegerGenerator2 เป็น "0.03" (ภาพที่ 3)
- เชื่อมต่อพินเอาต์พุต "Out" ขององค์ประกอบ SineIntegerGenerator1 กับพินอินพุต "X" ขององค์ประกอบ "Shields. TFT Sisplay. Elements. Draw Bitmap1" ขององค์ประกอบ Arduino (ภาพที่ 4)
- เชื่อมต่อพินเอาต์พุต "Out" ขององค์ประกอบ SineIntegerGenerator2 กับพินอินพุต "Y" ขององค์ประกอบ "Shields. TFT Display. Elements. Draw Bitmap1" ขององค์ประกอบ Arduino (ภาพที่ 5)
ขั้นตอนที่ 10: ใน Visuino: เพิ่มและเชื่อมต่อ Start และ Clock Multi Source Components
ในการแสดงบิตแมปทุกครั้งที่มีการอัปเดตตำแหน่ง X และ Y เราจำเป็นต้องส่งสัญญาณนาฬิกาไปยังองค์ประกอบ "Draw Bitmap1" ในการส่งคำสั่งหลังจากเปลี่ยนตำแหน่ง เราต้องการวิธีซิงโครไนซ์เหตุการณ์ สำหรับสิ่งนี้ เราจะใช้องค์ประกอบทำซ้ำเพื่อสร้างเหตุการณ์อย่างต่อเนื่อง และใช้ Clock Multi Source เพื่อสร้าง 2 เหตุการณ์ตามลำดับ เหตุการณ์แรกจะโอเวอร์คล็อกเครื่องกำเนิดไซน์เพื่ออัปเดตตำแหน่ง X และ Y และเหตุการณ์ที่สองจะโอเวอร์คล็อก "Draw Bitmap1":
- พิมพ์ "ทำซ้ำ" ในกล่องตัวกรองของกล่องเครื่องมือส่วนประกอบ จากนั้นเลือกส่วนประกอบ "ทำซ้ำ" (ภาพที่ 1) แล้ววางลงในพื้นที่ออกแบบ (ภาพที่ 2)
- พิมพ์ "multi" ในช่อง Filter ของ Component Toolbox จากนั้นเลือกส่วนประกอบ "Clock Multi Source" (ภาพที่ 2) และวางลงในพื้นที่ออกแบบ (ภาพที่ 3)
- เชื่อมต่อพินเอาต์พุต "Out" ของส่วนประกอบ Repeat1 กับพินอินพุต "In" ของส่วนประกอบ ClockMultiSource1 (ภาพที่ 3)
- เชื่อมต่อพินเอาต์พุต "พิน[0]" ของพิน "ออก" ของส่วนประกอบ ClockMultiSource1 เข้ากับพินอินพุต "ใน" ของคอมโพเนนต์ SineIntegerGenerator1 (ภาพที่ 4)
- เชื่อมต่อพินเอาต์พุต "พิน[0]" ของพิน "ออก" ของส่วนประกอบ ClockMultiSource2 เข้ากับพินอินพุต "ใน" ของส่วนประกอบ SineIntegerGenerator1 (ภาพที่ 5)
- เชื่อมต่อพินเอาต์พุต "พิน [1]" ของพินอินพุต "นาฬิกา" ขององค์ประกอบ "Shields. TFT Display. Elements. Draw Bitmap1" ขององค์ประกอบ Arduino (ภาพที่ 6)
ขั้นตอนที่ 11: สร้าง คอมไพล์ และอัปโหลดโค้ด Arduino
- ใน Visuino ให้กด F9 หรือคลิกที่ปุ่มที่แสดงในรูปที่ 1 เพื่อสร้างโค้ด Arduino และเปิด Arduino IDE
- ใน Arduino IDE ให้คลิกที่ปุ่ม Upload เพื่อคอมไพล์และอัพโหลดโค้ด (ภาพที่ 2)
ขั้นตอนที่ 12: และเล่น…
ยินดีด้วย! คุณได้เสร็จสิ้นโครงการ
ภาพที่ 2, 3, 4 และ 5 และวิดีโอแสดงโครงการที่เชื่อมต่อและขับเคลื่อน คุณจะเห็นบิตแมปเคลื่อนที่ไปรอบ ๆ แผงแสดงผลหน้าจอสัมผัส TFT ที่ใช้ ILI9341 ตามที่เห็นในวิดีโอ
ในรูปที่ 1 คุณสามารถดูไดอะแกรม Visuino ทั้งหมดได้ แนบมากับโปรเจ็กต์ Visuino ที่ฉันสร้างขึ้นสำหรับ Instructable นี้ และบิตแมปที่มีโลโก้ Visuino ดาวน์โหลดและเปิดได้ใน Visuino:
แนะนำ:
Arduino UNO พร้อม OLED Ultrasonic Range Finder และ Visuino: 7 ขั้นตอน
Arduino UNO พร้อม OLED Ultrasonic Range Finder และ Visuino: ในบทช่วยสอนนี้ เราจะใช้ Arduino UNO, OLED Lcd, โมดูลค้นหาช่วงอัลตราโซนิก และ Visuino เพื่อแสดงช่วงอัลตราโซนิกบน LCD และกำหนดระยะทางจำกัดด้วยไฟ LED สีแดง ชมวิดีโอสาธิต
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: 3 ขั้นตอน
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: เป็นโปรเจ็กต์เครื่องรับย่านความถี่ทั้งหมด ใช้ห้องสมุด Arduino Si4734 ห้องสมุดนี้มีตัวอย่างมากกว่า 20 ตัวอย่าง คุณสามารถฟัง FM ด้วย RDS สถานี AM (MW) ในพื้นที่ SW และสถานีวิทยุสมัครเล่น (SSB) เอกสารทั้งหมดที่นี่
PWM พร้อม ESP32 - Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: 6 ขั้นตอน
PWM พร้อม ESP32 | Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: ในคำแนะนำนี้เราจะดูวิธีสร้างสัญญาณ PWM ด้วย ESP32 โดยใช้ Arduino IDE & โดยทั่วไปแล้ว PWM จะใช้เพื่อสร้างเอาต์พุตแอนะล็อกจาก MCU ใดๆ และเอาต์พุตแอนะล็อกนั้นอาจเป็นอะไรก็ได้ระหว่าง 0V ถึง 3.3V (ในกรณีของ esp32) & จาก
BluBerriSix - บทช่วยสอน TFT TouchScreen / Arduino: 12 ขั้นตอน (พร้อมรูปภาพ)
BluBerriSix - บทช่วยสอน TFT TouchScreen / Arduino: 2019 เป็นวันครบรอบ 20 ปีของ RIM Blackberry 850! สิ่งประดิษฐ์เล็กๆ น้อยๆ ของแคนาดานี้ได้เปลี่ยนวิธีการสื่อสารของโลก หายไปนาน แต่มรดกยังคงอยู่! ในคำแนะนำนี้ คุณจะได้เรียนรู้วิธีใช้ MCUfriend.com 2.4" TFT ดิส
Rasberry Pi Zero W พร้อม Arduino TfT (ili9341): 3 ขั้นตอน
Rasberry Pi Zero W พร้อม Arduino TfT (ili9341): ดังนั้นหลังจากการวิจัย การดีบัก และการทดสอบเป็นเวลา 1 สัปดาห์ ในที่สุดฉันก็ได้ SeedStudio 2.8" Arduino TfT ทำงานกับ RasPi 0 W ของฉันกับ Kivy และ GPIO เพื่อสร้างนาฬิกาอัจฉริยะหรืออุปกรณ์แสดงผลขนาดเล็ก เมื่อเห็นว่าข้อมูลที่จำเป็นทั้งหมดกระจัดกระจาย