สารบัญ:

Arduino Serial Monitor ใน Tinkercad: 7 ขั้นตอน (พร้อมรูปภาพ)
Arduino Serial Monitor ใน Tinkercad: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino Serial Monitor ใน Tinkercad: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino Serial Monitor ใน Tinkercad: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: เรียน Arduino Programming เรียนง่ายเป็นเร็ว TinkerCAD Tutorial 1 เขียนโปรแกรมแสดงข้อความบนหน้าจอ 🔥 2024, กรกฎาคม
Anonim
Arduino Serial Monitor ใน Tinkercad
Arduino Serial Monitor ใน Tinkercad

โครงการทิงเกอร์แคด »

การติดตามทุกสิ่งที่เกิดขึ้นในโปรแกรมของคุณอาจเป็นการต่อสู้ที่ยากลำบาก จอภาพแบบอนุกรมเป็นวิธีฟังสิ่งที่เกิดขึ้นในโค้ดของคุณโดยการรายงานกลับไปยังคอมพิวเตอร์ผ่านสาย USB ในโปรแกรมจำลองวงจร Tinkercad การตรวจสอบแบบอนุกรมจะอยู่ที่ด้านล่างสุดของแผงรหัส และยังสามารถใช้สร้างกราฟตัวแปรเมื่อมีการเปลี่ยนแปลง ใช้ Serial Monitor เพื่อ "พูดคุย" กับคอมพิวเตอร์เพื่อตรวจสอบว่าโค้ด Arduino ทำในสิ่งที่คุณต้องการหรือไม่ สิ่งนี้มีประโยชน์มากสำหรับการแก้ปัญหาเกี่ยวกับโค้ดของคุณ (เรียกว่า 'การดีบักแบบอนุกรม')

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

คุณสามารถติดตามได้โดยใช้ Tinkercad Circuits คุณสามารถดูบทเรียนนี้ได้จากภายใน Tinkercad (ต้องเข้าสู่ระบบฟรี)! สำรวจวงจรตัวอย่างและสร้างวงจรของคุณเองถัดจากนั้น Tinkercad Circuits เป็นโปรแกรมฟรีบนเบราว์เซอร์ที่ให้คุณสร้างและจำลองวงจรได้ เหมาะอย่างยิ่งสำหรับการเรียนรู้ การสอน และการสร้างต้นแบบ

ขั้นตอนที่ 1: การพิมพ์ไปยังจอภาพแบบอนุกรมด้วย Blocks

ภาพ
ภาพ

ลองใช้ตัวแก้ไขโค้ดบล็อกเพื่อฟังพินอินพุต Arduino จากนั้นพิมพ์ค่า (แอนะล็อก) หรือสถานะ (ดิจิทัล) ของอินพุตในหน้าต่าง Serial Monitor คลิกปุ่ม "รหัส" เพื่อเปิดแผงรหัส

คลิกที่ Serial Monitor ที่ด้านล่างของแผงรหัส

คลิก "เริ่มการจำลอง" เพื่อเรียกใช้โค้ด Arduino ตัวอย่าง และสังเกตตัวเลขใน Serial Monitor เมื่อคุณโต้ตอบกับโพเทนชิออมิเตอร์ คุณสามารถคลิกไปมาระหว่าง Arduinos ทั้งสองในขณะที่การจำลองกำลังทำงานใน Tinkercad Circuits แต่เฉพาะวงจรแอนะล็อกเท่านั้นที่จะแสดงในโมดูลฝังตัวด้านบน

หลังจากทำซ้ำวงจรตัวอย่างในบัญชี Tinkercad ของคุณแล้ว คุณสามารถเปลี่ยนรหัสได้ ไปที่หมวดหมู่รหัสเอาต์พุต จากนั้นลากบล็อก "พิมพ์ไปยังจอภาพแบบอนุกรม" ออก แล้ววางไว้ข้างหน้าบล็อกอนุกรมที่อยู่ในโปรแกรมอยู่แล้ว

เปลี่ยนข้อความเริ่มต้นเพื่อติดป้ายกำกับข้อมูลอนุกรมของคุณ เช่น "เซ็นเซอร์: " (อย่าลืมเว้นวรรคหลังเครื่องหมายทวิภาค) และปรับเมนูแบบเลื่อนลงเพื่อพิมพ์โดยไม่ต้องขึ้นบรรทัดใหม่

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

ขั้นตอนที่ 2: อธิบายรหัส Arduino ของการตรวจสอบแบบอนุกรม

ภาพ
ภาพ

เมื่อตัวแก้ไขโค้ดเปิดอยู่ใน Tinkercad Circuits คุณสามารถคลิกเมนูแบบเลื่อนลงทางด้านซ้ายและเลือก "Blocks + Text" เพื่อแสดงรหัส Arduino ที่สร้างโดยบล็อคโค้ด (ไม่มีในโมดูลฝังตัวในขั้นตอนแรก) รหัสนี้ส่งข้อมูลจาก Arduino ไปยัง Serial Monitor แต่ในบทเรียนต่อมา คุณยังสามารถเรียนรู้วิธีรับข้อมูลจาก Serial monitor และการสื่อสารแบบอนุกรมสองทาง

/*

DigitalReadSerial อ่านอินพุตดิจิตอลบนขา 2 พิมพ์ผลลัพธ์ไปยังจอภาพแบบอนุกรม รหัสตัวอย่างนี้เป็นสาธารณสมบัติ */

ก่อน

ติดตั้ง()

เราสามารถเห็นความคิดเห็นหลายบรรทัดที่ขึ้นต้นด้วย

/*

และลงท้ายด้วย

*/

int buttonState = 0;

ในช่วงเริ่มต้นของโปรแกรม เราจะสร้างตัวแปรเพื่อเก็บสถานะของอินพุต

การตั้งค่าเป็นโมฆะ ()

{ โหมดพิน (2, อินพุต); Serial.begin(9600); }

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

โหมดพิน ()

การทำงาน. เพื่อให้สามารถส่งข้อความได้ Arduino จำเป็นต้องเปิดช่องทางการสื่อสารใหม่ด้วย

Serial.begin()

. เหมือนกับการกดปุ่มโทรบนโทรศัพท์ - จากช่วงเวลาที่คุณเปิดสายการสื่อสารสำหรับการโทร อาร์กิวเมนต์บอก Arduino ว่าสื่อสารได้เร็วแค่ไหน เช่น 9600 บิตต่อวินาที (aka baud)

วงเป็นโมฆะ ()

{ // อ่านพินอินพุต buttonState = digitalRead (2); // พิมพ์สถานะของปุ่ม Serial.print("sensor: "); Serial.println (ปุ่มสถานะ); ล่าช้า(10); // หน่วงเวลาเล็กน้อยเพื่อปรับปรุงประสิทธิภาพการจำลอง }

รหัสภายในลูปอ่านสถานะของอินพุตด้วย digitalRead() และเก็บไว้ในตัวแปร buttonState แล้วฟังก์ชันที่เรียกว่า

Serial.println()

ส่งข้อมูลไปยังจอภาพ (ผ่านสาย USB ในกรณีของบอร์ด Arduino จริง) หากคุณทำการเปลี่ยนแปลงบล็อคกับโปรแกรมในขั้นตอนก่อนหน้า คุณจะมี

Serial.print()

บรรทัดของรหัส

println

ส่งบรรทัดใหม่หลังจากข้อความและ

พิมพ์

ไม่. ใช้อัญประกาศรอบป้ายข้อความ เช่น

Serial.print("เซ็นเซอร์:");

. หากคุณต้องการสร้างเอาต์พุตการดีบักแบบอนุกรมบรรทัดเดียว คุณอาจใช้หลายรายการ

Serial.print()

คำสั่งตามด้วยซิงเกิ้ล

Serial.println()

ขั้นตอนที่ 3: โปรแกรมแก้ไขโค้ด

ภาพ
ภาพ

มีคุณสมบัติพิเศษใน Tinkercad Circuits ที่เรียกว่า Debugger โดยจะทำตามขั้นตอนในโค้ดของคุณและช่วยให้คุณตรวจสอบตัวแปรและอื่นๆ ได้

เมื่อเปิดโปรแกรมแก้ไขโค้ด ค้นหาดีบักเกอร์โดยคลิกที่ปุ่มที่มีไอคอนบั๊ก

ในโหมด Blocks + Text (หรือโหมด Text-only หากคุณต้องการ) ให้คลิกหมายเลขบรรทัดเพื่อเพิ่มเบรกพอยต์ โดยที่ตัวดีบั๊กจะหยุดในแต่ละครั้งผ่านลูป

เริ่มการจำลอง

วางเมาส์เหนือตัวแปรขณะหยุดชั่วคราวเพื่อดูค่าของตัวแปร

ขั้นตอนที่ 4: สตาร์ทเตอร์วงจรอนุกรมพื้นฐาน

สตาร์ทเตอร์วงจรอนุกรมพื้นฐาน
สตาร์ทเตอร์วงจรอนุกรมพื้นฐาน

วงจรเหล่านี้มีให้เป็นตัวเริ่มวงจร คุณสามารถใช้ตัวสตาร์ทวงจรเหล่านี้ได้ทุกเมื่อที่คุณต้องการอ่านอินพุตดิจิตอลหรืออนาล็อก และพิมพ์สถานะไปยัง Serial Monitor

หยิบ Arduino circuit starters จากแผงส่วนประกอบ (เมนูแบบเลื่อนลง -> Starters -> Arduino)

ขั้นตอนที่ 5: กราฟข้อมูลอนุกรม

ข้อมูลอนุกรมกราฟ
ข้อมูลอนุกรมกราฟ

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

เมื่อเปิดจอภาพแบบอนุกรม ให้คลิกปุ่มกราฟเพื่อเปิดแผงกราฟ ลบบล็อกป้ายกำกับเซ็นเซอร์ที่คุณเพิ่มไว้ก่อนหน้านี้ หรือใช้ Arduino serial starter ใหม่เพื่อสร้างสตรีมข้อมูลอนุกรมที่ไม่มีข้อความ

เริ่มการจำลองและโต้ตอบกับอินพุตเพื่อดูการเปลี่ยนแปลงค่ากราฟ

ขั้นตอนที่ 6: ลองใช้วงจร Arduino จริง (อุปกรณ์เสริม)

ภาพ
ภาพ

คุณมีตัวเลือกในการสร้างวงจรทางกายภาพเพื่อให้เข้ากับบทเรียนนี้หรืออินพุตดิจิทัลหรืออินพุตแบบอะนาล็อก จากนั้นใช้ซอฟต์แวร์ Arduino ของคอมพิวเตอร์เพื่อดูข้อมูลอนุกรมที่มาทางสาย USB ในการตั้งโปรแกรม Arduino Uno จริงของคุณ คุณจะต้องติดตั้งซอฟต์แวร์ฟรี (หรือปลั๊กอินสำหรับโปรแกรมแก้ไขเว็บ) จากนั้นเปิดขึ้น

ต่อวงจร Arduino Uno โดยเสียบส่วนประกอบและสายไฟเพื่อให้ตรงกับการเชื่อมต่อที่แสดงในวงจร Tinkercad สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการทำงานกับบอร์ด Arduino Uno จริงของคุณ ให้ดูคลาส Arduino ที่สอนได้ฟรี (วงจรที่คล้ายกันจะอธิบายไว้ในบทเรียนที่สาม)

คัดลอกโค้ดจากหน้าต่างโค้ด Tinkercad Circuits แล้ววางลงในภาพร่างเปล่าในซอฟต์แวร์ Arduino ของคุณ หรือคลิกปุ่มดาวน์โหลด (ลูกศรชี้ลง) แล้วเปิด

ไฟล์ผลลัพธ์โดยใช้ Arduino คุณยังสามารถค้นหาตัวอย่างเหล่านี้ในซอฟต์แวร์ Arduino โดยไปที่ไฟล์ -> ตัวอย่าง -> 03. Analog -> AnalogInOutSerial หรือไฟล์ -> ตัวอย่าง -> 02. Digital -> DigitalInputPullup

เสียบสาย USB และเลือกบอร์ดและพอร์ตของคุณในเมนูเครื่องมือของซอฟต์แวร์

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

Serial.begin(9600)

กดปุ่มหรือหมุนปุ่ม และดูตัวเลขที่เปลี่ยนไปในหน้าต่าง Serial Monitor ของคุณ

ขั้นตอนที่ 7: ต่อไป ลอง…

ต่อไป ลอง…
ต่อไป ลอง…

ตอนนี้ คุณได้เรียนรู้การพิมพ์ไปยัง Serial Monitor แล้ว คุณก็พร้อมที่จะทดสอบเซ็นเซอร์ดิจิทัลและแอนะล็อกชนิดใหม่ๆ แล้ว และเรียนรู้วิธีอ่านข้อมูลซีเรียลที่เข้ามา (การป้อนข้อมูลด้วยแป้นพิมพ์ของผู้ใช้)

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

นี่คือลิงค์ไปยังวงจรในภาพและรหัส Arduino:

int int buttonState = 0;

int sensorValue = 0; การตั้งค่าเป็นโมฆะ () { pinMode (2, INPUT); โหมดพิน (A0, INPUT); Serial.begin(9600); } วงเป็นโมฆะ () { // อ่านพินอินพุต buttonState = digitalRead (2); // อ่านอินพุตบนขาอะนาล็อก 0: sensorValue = analogRead (A0); // พิมพ์ค่าไปยังจอภาพอนุกรม Serial.print(buttonState); Serial.print(", "); Serial.println (ค่าเซ็นเซอร์); ล่าช้า(10); // หน่วงเวลาเล็กน้อยเพื่อปรับปรุงประสิทธิภาพการจำลอง }

ดำเนินการต่อเพื่อลองใช้เซ็นเซอร์ใหม่และรวมอินพุตและเอาต์พุตเข้าด้วยกัน เช่น ในบทเรียนกราฟแท่ง LED ของเซ็นเซอร์อุณหภูมิ บทเรียนเกี่ยวกับเซ็นเซอร์ตรวจจับความเคลื่อนไหว PIR หรือบทเรียนเกี่ยวกับโฟโตรีซีสเตอร์ (เร็วๆ นี้) ใช้แป้นพิมพ์ของคอมพิวเตอร์เพื่อส่งข้อมูลอนุกรมไปยัง Arduino และตีความด้วย

Serial.read()

(บทเรียนในเร็ว ๆ นี้)

คุณยังสามารถเรียนรู้ทักษะด้านอิเล็กทรอนิกส์เพิ่มเติมด้วยคลาส Instructables ฟรีบน Arduino, Basic Electronics, LEDs & Lighting, การพิมพ์ 3D และอื่นๆ

แนะนำ: