สารบัญ:

โทรศัพท์มือถือ Arduino GSM น้ำหนักเบา: 7 ขั้นตอน (พร้อมรูปภาพ)
โทรศัพท์มือถือ Arduino GSM น้ำหนักเบา: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: โทรศัพท์มือถือ Arduino GSM น้ำหนักเบา: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: โทรศัพท์มือถือ Arduino GSM น้ำหนักเบา: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ธาติทองโยชิ🤭 #ธาตุทองซาวด์ [kajrsp.ankh] 2024, พฤศจิกายน
Anonim
Image
Image
ส่วนที่ต้องการ
ส่วนที่ต้องการ

สวัสดีเพื่อน, ในคำแนะนำนี้ฉันจะแนะนำโทรศัพท์เคลื่อนที่ Arduino GSM น้ำหนักเบาของฉันให้คุณ มือถือน้ำหนักเบามีคุณสมบัติระดับชาติ/นานาชาติดังต่อไปนี้:

  1. โทรออก
  2. รับสาย
  3. ส่ง SMS
  4. รับ SMS

ในโครงการนี้ ฉันใช้โมดูล GSM SIM900A เพื่อเชื่อมต่อกับเครือข่ายมือถือ เป็นโมดูลเซลลูลาร์แบบ all-in-one ที่น่ารักที่ช่วยให้คุณสามารถเพิ่มเสียง, SMS และข้อมูลลงในโครงการของคุณได้ มันทำงานบนความถี่ 900/1800MHz และมาพร้อมกับ RS232 ที่เป็นมิตรซึ่งสามารถเชื่อมต่อกับ MCU ใด ๆ ได้อย่างง่ายดาย อัตราการส่งข้อมูลสามารถปรับได้ตั้งแต่ 9600 – 115200 ผ่านคำสั่ง AT

ฉันยังใช้จอแสดงผลเพื่อแสดงภาพอินเทอร์เฟซ GUI ฉันเลือกจอแสดงผล LCD แบบสัมผัสโดย Nextion เชื่อฉันเถอะว่ามันเป็นจอแสดงผลที่ยอดเยี่ยมจริงๆ Nextion นำวิธีใหม่และง่ายต่อการเชื่อมต่อโครงการของคุณผ่าน UART ซอฟต์แวร์กำหนดค่าที่ใช้งานง่าย (Nextion Editor) ช่วยให้คุณสามารถออกแบบอินเทอร์เฟซของคุณเองโดยใช้คำสั่ง GUI และทำให้ส่วนต่างๆ ของการพัฒนาของคุณทำได้อย่างง่ายดาย ในทางกลับกัน คุณจะสามารถประหยัดพื้นที่โปรแกรมจำนวนมากใน MCU ของคุณได้ ขอบคุณ Nextion!!..

ด้วยตัวของมันเอง โมดูล GSM และหน้าจอสัมผัส Nextion ไม่สามารถทำอะไรได้ ต้องใช้ไมโครคอนโทรลเลอร์ในการขับเคลื่อน หัวใจสำคัญคือ Arduino Uno เพื่อขับเคลื่อนโทรศัพท์เคลื่อนที่ GSM น้ำหนักเบา ซึ่งสามารถส่งและรับคำสั่งผ่านพิน RX/TX ได้

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

โครงการนี้ยังเป็นตัวอย่างที่ดีของวิธีใช้ Arduino โดยเฉพาะสำหรับการจัดการสตริงและอักขระ ตลอดจนเพื่อให้คุณทำความคุ้นเคยกับ Nextion TFT Intelligent LCD Touch Display ใหม่ และใช้คำสั่ง AT สำหรับโมดูล GSM หวังว่าคุณจะสนุกและพบว่าโพสต์ของฉันน่าสนใจ ตอนนี้ให้เราทำมัน

ขั้นตอนที่ 1: ส่วนที่ต้องการ:

นี่คือส่วนที่จำเป็นสำหรับตัวอย่างนี้

  1. Arduino Uno
  2. โมดูล SIM900A GSM
  3. Nextion TFT จอ LCD อัจฉริยะแบบสัมผัส
  4. ซิมการ์ด.
  5. สายเชื่อมต่อ.

นอกจากนี้ยังมีอุปกรณ์เสริมบางอย่าง

  1. ไมค์และลำโพงภายนอก
  2. สไตลัส

ขั้นตอนที่ 2: การเดินสายไฟ:

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

เชื่อมต่อโมดูล GSM และจอแสดงผล Nextion กับ Arduino โดยทำตามขั้นตอนที่เหมาะสมด้านล่าง

  • Nextion +5V เป็น Arduino VDD_5v
  • Nextion RX เป็น Arduino pin_11
  • Nextion Tx เป็น Arduino pin_10
  • Nextion GND เป็น Arduino GND_0v
  • GSM Rx ถึง Arduino pin_1
  • GSM TX ถึง Arduino pin_0
  • GSM GND เป็น Arduino GND_0v

หมายเหตุ: หากซิมการ์ดของคุณถูกล็อคด้วยรหัส PIN คุณสามารถปิดการใช้งาน PIN หรือป้อน PIN ผ่านคำสั่ง 'AT+CPIN' ก่อนที่คุณจะสามารถเชื่อมต่อเครือข่ายได้ ตัวอย่าง: “AT+CPIN=1234”

ขั้นตอนที่ 3: ตั้งค่า:

ติดตั้ง
ติดตั้ง
ติดตั้ง
ติดตั้ง
ติดตั้ง
ติดตั้ง

ต่อไป ฉันจะแสดงวิธีเตรียม. HMI (Human Machine Interface) สำหรับจอแสดงผล Nextion โดยไม่ลืมภาพร่าง Arduino

เครื่องมือที่จำเป็น:

  • ตัวแก้ไขถัดไป
  • เพ้นท์.เน็ต.
  • Arduino IDE

ตั้งโปรแกรมการแสดงผล Nextion:

เพื่อให้ Nextion แสดงอินเทอร์เฟซ สิ่งแรกที่ต้องทำคือการออกแบบไฟล์ HMI ใน Nextion Editor ตัวแก้ไขนี้อนุญาตให้คุณออกแบบอินเทอร์เฟซของคุณโดยใช้ส่วนประกอบแบบ Plug-and-play เช่น (ข้อความ ปุ่ม แถบความคืบหน้า รูปภาพ มาตรวัด ช่องกาเครื่องหมาย กล่องตัวเลือก และอื่นๆ อีกมากมาย) ซึ่งคุณสามารถตั้งค่ารหัสและคุณสมบัติสำหรับแต่ละส่วนประกอบเหล่านี้ได้

ในโครงการนี้ ฉันใช้ 8 หน้าเพื่อสร้าง GUI แบบโต้ตอบ ไอคอนส่วนใหญ่ที่ฉันใช้ในการปรับใช้เป็นไอคอน Android ที่ให้บริการฟรีและสามารถดาวน์โหลดได้จาก [ลิงก์] นี้ ฉันใช้ paint.net (ตัวแก้ไขโอเพ่นซอร์ส) เพื่อแก้ไข/ปรับขนาดรูปภาพทั้งหมด และสร้างการกลับด้านของไอคอน เพื่อให้สัมผัสได้ถึงการสัมผัสเมื่อส่วนประกอบต่างๆ เช่น ปุ่มถูกกด เหตุการณ์การสัมผัส เช่น (Pres & Release) จะรวมอยู่ด้วยเมื่อมีการสัมผัสส่วนประกอบ หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Nextion Instruction Set คุณสามารถเยี่ยมชมหน้าวิกิได้ที่นี่

การเขียนโปรแกรมจอแสดงผล Nextion นั้นง่ายพอๆ กับ abc แต่เป็นกระบวนการที่ใช้เวลานาน โดยเฉพาะอย่างยิ่งเมื่อใช้คุณสมบัติที่ซับซ้อน เช่น แป้นตัวเลขและคีย์บอร์ด อย่างไรก็ตาม ผมอยากจะบอกว่าในตอนท้ายคุณจะเพลิดเพลินไปกับผลลัพธ์ที่ได้จริงๆ ผลลัพธ์ที่ได้นั้นยอดเยี่ยมมากเหมือนภาพด้านบน

ขั้นตอน:

  1. โหลดไฟล์. HMI ลงในเอดิเตอร์ เลื่อนลงเพื่อค้นหาส่วนที่เก็บ GitHub ของฉันในหน้านี้
  2. รวบรวมไฟล์. HMI (ใต้แถบเมนู)
  3. ไปที่ไฟล์ > เปิดโฟลเดอร์บิลด์ > คัดลอกไฟล์.tft > วางลงในการ์ด SD

    หมายเหตุ: ตรวจสอบให้แน่ใจว่าได้ฟอร์แมตการ์ด SD เป็น FAT32

  4. เมื่อคัดลอกแล้ว ให้ใส่การ์ด SD ลงใน Nextion จากนั้นเปิด power_on
  5. รอให้.tft อัปโหลด
  6. Power_off the Nextion นำการ์ด SD ออกอย่างปลอดภัย จากนั้นเปิดเครื่องอีกครั้ง
  7. Voila! คุณควรเห็นอินเทอร์เฟซใหม่ของคุณบน Nextion Display

การจำลอง:

Nexiton ยังมีโปรแกรมจำลองที่มีประโยชน์สำหรับทดสอบ/ดีบักไฟล์. HMI ก่อนที่คุณจะเชื่อมต่อจอแสดงผลกับ MCU ของคุณ “Instruction Input Area” ให้คุณแทรกคำสั่งต่างๆ เช่น เปลี่ยนหน้า, ซ่อน/แสดงรูปภาพ, ปุ่มเปิด/ปิด, เปิด/ปิด/แทรกข้อความ และอื่นๆ อีกมากมายในการแสดงผล Nextion ในอีกด้านหนึ่ง “Simulator Return Data” ให้การตอบสนองจากเหตุการณ์การสัมผัสเมื่อมีการกดส่วนประกอบบนจอแสดงผล Nextion หรือแม้แต่คำสั่งที่ทริกเกอร์ไปยัง Nextion

ขั้นตอนที่ 4: ตั้งโปรแกรม Arduino:

โปรแกรม Arduino
โปรแกรม Arduino
โปรแกรม Arduino
โปรแกรม Arduino
โปรแกรม Arduino
โปรแกรม Arduino

Ardiuno Uno เป็นสมองของระบบมือถือทั้งหมด Arduino ทำหน้าที่เป็นมิดเดิลแวร์ที่เชื่อมต่อโมดูล GSM และจอแสดงผล Nextion

สำหรับโปรเจ็กต์นี้ ฉันไม่ได้ใช้ไลบรารี Nextion ใด ๆ เนื่องจากดูเหมือนว่าจะเข้าใจยากและไม่มีเอกสารประกอบ อีกทั้ง skectches ของฉันไม่ได้รวบรวมเมื่อใช้ไลบรารี Nextion หวังว่าจะได้รับการปรับปรุงในเร็วๆ นี้ ดังนั้นฉันจึงตัดสินใจเดินหน้าต่อไปโดยไม่ใช้ห้องสมุด ดูเหมือนจะยากใช่ไหม? เชื่อฉันเถอะว่ามันไม่ใช่

ในการรับโค้ดทั้งหมด เพียงเลื่อนลงเพื่อค้นหาส่วนที่เก็บ GitHub ของฉันในหน้านี้ คัดลอกโค้ดแล้ววางลงในสเก็ตช์ใหม่ใน Arduino IDE บันทึก อัปโหลดไปยัง Arduino ของคุณ

นั่นคือทั้งหมดสำหรับส่วนซอฟต์แวร์ !! รวบรวมรหัส หากไม่มีข้อผิดพลาด ยินดีด้วยที่อุปกรณ์ของคุณได้รับการกำหนดค่าให้เชื่อมต่อกับเครือข่ายเซลลูลาร์โดยอัตโนมัติผ่านโมดูล GSM แล้ว เปิด Serial monitor คุณจะเห็นบันทึกคำสั่ง AT สำหรับแต่ละเหตุการณ์ที่เรียกจาก Nextion Display

ขั้นตอนที่ 5: รหัสที่มา:

รหัสที่มา
รหัสที่มา

คุณสามารถดาวน์โหลดรหัสทั้งหมดของโครงการนี้ได้จาก GitHub ของฉันโดยคลิกที่ลิงค์นี้

ขั้นตอนที่ 6: การสาธิต:

Image
Image

ขั้นตอนที่ 7: โบนัส:

ตามค่าเริ่มต้น โมดูล GSM มีขนาดบัฟเฟอร์ SMS เป็น 20 น่าเสียดายที่เราไม่สามารถแสดง 20 SMS ทั้งหมดพร้อมกันบนจอแสดงผล Nextion ได้ ทำให้ได้รับบัฟเฟอร์ล้นขณะรวบรวมรหัส Nextion ดังนั้นฉันจึงตั้งโปรแกรมการแสดงผล Nextion ให้แสดง SMS ได้เพียง 10 ข้อความเท่านั้น

หากมี SMS 10 ขึ้นไปในบัฟเฟอร์ GSM ไอคอนเตือนหน่วยความจำเหลือน้อยจะแสดงบนจอแสดงผล Nextion เพื่อเตือนให้คุณลบ SMS ก่อนหน้าเพื่อดู SMS ใหม่ในลักษณะที่เพิ่มขึ้น

ฉันหวังว่าคุณจะชอบโพสต์ของฉันและหวังว่าบทช่วยสอนนี้จะช่วยให้คุณค้นพบวิธีการใช้ Arduino GSM Mobile ของคุณเอง และใช่ โปรดแบ่งปันนวัตกรรมของคุณ

ขอให้สนุก.. Cheerz… ขอบคุณที่อ่านและแบ่งปัน

-อวิเชก ฮาร์ดิน

แนะนำ: