เริ่มต้นใช้งาน Arduino: คู่มือสำหรับผู้เริ่มต้น

เริ่มต้นใช้งาน Arduino: คู่มือสำหรับผู้เริ่มต้น

Arduino เป็นแพลตฟอร์มสร้างต้นแบบอิเล็กทรอนิกส์แบบโอเพนซอร์ส และเป็นหนึ่งในแพลตฟอร์มที่ได้รับความนิยมมากที่สุดในโลก ยกเว้น Raspberry Pi มียอดขายมากกว่า 3 ล้านเครื่อง (และอีกมากในรูปแบบของอุปกรณ์โคลนของบุคคลที่สาม): อะไรทำให้ดีขนาดนี้ และคุณสามารถทำอะไรกับมันได้บ้าง?





Arduino คืออะไร?

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





Arduino รับรู้สภาพแวดล้อมด้วยการอ่านข้อมูลจากปุ่ม ส่วนประกอบ และเซ็นเซอร์ต่างๆ พวกเขาสามารถส่งผลกระทบต่อสิ่งแวดล้อมโดยการควบคุม LED, มอเตอร์ เซอร์โว รีเลย์ และอีกมากมาย





โครงการ Arduino สามารถเป็นแบบสแตนด์อโลนหรือสามารถสื่อสารกับซอฟต์แวร์ที่ทำงานบนคอมพิวเตอร์ ( กำลังประมวลผล เป็นซอฟต์แวร์ยอดนิยมสำหรับสิ่งนี้) พวกเขาสามารถพูดคุยกับ Arduinos อื่น ๆ Raspberry Pis, NodeMCU หรือเกือบทุกอย่าง ตรวจสอบให้แน่ใจว่าคุณได้อ่านการเปรียบเทียบไมโครคอนโทรลเลอร์มูลค่า 5 ดอลลาร์ของเราเพื่อเปรียบเทียบความแตกต่างระหว่างไมโครคอนโทรลเลอร์เหล่านี้อย่างละเอียด

หลายคนอาจสงสัยว่า ทำไมถึงเลือก Arduino? Arduino ช่วยลดความยุ่งยากในกระบวนการสร้างโครงการอิเล็กทรอนิกส์ที่ตั้งโปรแกรมได้ ทำให้เป็นแพลตฟอร์มที่ยอดเยี่ยมสำหรับผู้เริ่มต้น คุณสามารถเริ่มทำงานได้โดยไม่ต้องมีประสบการณ์ด้านอิเล็กทรอนิกส์มาก่อน มีบทช่วยสอนนับพันบทและช่วงความยากเหล่านี้ คุณจึงมั่นใจได้ถึงความท้าทายเมื่อคุณเชี่ยวชาญพื้นฐานแล้ว



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

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





คุณสามารถทำอะไรกับ Arduino?

Arduino สามารถทำอะไรได้หลายอย่าง เป็นสมองที่เหมาะสำหรับเครื่องพิมพ์ 3 มิติส่วนใหญ่ ต้นทุนต่ำและใช้งานง่ายหมายความว่าผู้ผลิต นักออกแบบ แฮกเกอร์ และครีเอเตอร์หลายพันคนได้สร้างโครงการที่น่าทึ่ง นี่เป็นเพียงโครงการ Arduino บางส่วนที่เราสร้างขึ้นที่ MakeUseOf:

ภายใน Arduino คืออะไร?

แม้ว่าจะมีบอร์ด Arduino หลายประเภทให้เลือก แต่คู่มือนี้เน้นที่ Arduino uno แบบอย่าง. นี่คือบอร์ด Arduino ที่ได้รับความนิยมมากที่สุด แล้วอะไรที่ทำให้สิ่งนี้ติ๊ก? นี่คือข้อกำหนด:





  • โปรเซสเซอร์: 16 เมกะเฮิร์ตซ์ ATmega16U2
  • หน่วยความจำแฟลช: 32KB
  • แกะ: 2KB
  • แรงดันไฟฟ้าที่ใช้งาน: 5V
  • แรงดันไฟฟ้าขาเข้า: 7-12V
  • จำนวนอินพุตแบบอะนาล็อก: 6
  • จำนวนดิจิตอล I/O: 14 (6 ในนั้น การปรับความกว้างพัลส์ -- PWM )

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

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

สิ่งที่คุณต้องการสำหรับคู่มือนี้

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

หากคุณไม่สามารถหาค่าตัวต้านทานเฉพาะได้ ค่าที่ใกล้เคียงที่สุดมักจะใช้ได้ดี

ภาพรวมส่วนประกอบไฟฟ้า

เรามาดูกันว่าองค์ประกอบทั้งหมดคืออะไร ทำอะไร และมีลักษณะอย่างไร

เขียงหั่นขนม

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

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

ไฟ LED

LED ย่อมาจาก ไดโอดเปล่งแสง . เป็นแหล่งกำเนิดแสงราคาถูกมาก และสามารถให้แสงสว่างได้มาก โดยเฉพาะอย่างยิ่งเมื่อรวมกลุ่มเข้าด้วยกัน พวกเขาสามารถหาซื้อได้ในหลากหลายสีไม่ร้อนเป็นพิเศษและใช้งานได้นาน คุณอาจมีไฟ LED ในโทรทัศน์ แผงหน้าปัดรถยนต์ หรือในหลอดไฟ Philips Hue

ไมโครคอนโทรลเลอร์ Arduino ของคุณยังมีไฟ LED ในตัวที่ขา 13 ซึ่งมักใช้เพื่อระบุการกระทำหรือเหตุการณ์ หรือเพียงเพื่อการทดสอบ

ตัวต้านทานภาพ

ตัวต้านทานภาพถ่าย ( NS hotocell หรือ ตัวต้านทานขึ้นอยู่กับแสง ) ช่วยให้ Arduino ของคุณสามารถวัดการเปลี่ยนแปลงของแสงได้ คุณสามารถใช้สิ่งนี้เพื่อเปิดคอมพิวเตอร์ของคุณในเวลากลางวันได้ เป็นต้น

สวิตช์สัมผัส

เกมที่ไม่ต้องใช้เมาส์

สวิตช์สัมผัสนั้นเป็นปุ่ม การกดจะทำให้วงจรสมบูรณ์ และ (โดยปกติ) เปลี่ยนจาก 0V เป็น +5V Arduinos สามารถตรวจพบการเปลี่ยนแปลงนี้และตอบสนองตามนั้น เหล่านี้มักจะ ชั่วขณะ -- หมายความว่าจะ 'กด' เมื่อนิ้วของคุณกดค้างไว้เท่านั้น เมื่อคุณปล่อยมือ พวกเขาจะเปลี่ยนกลับเป็นสถานะเริ่มต้น ('ไม่กด' หรือปิด)

ลำโพง Piezo

ลำโพงเพียโซเป็นลำโพงขนาดเล็กที่สร้างเสียงจากสัญญาณไฟฟ้า พวกมันมักจะดุร้ายและเปราะบาง และไม่มีเสียงเหมือนผู้พูดจริงๆ ที่กล่าวว่ามีราคาถูกมากและง่ายต่อการตั้งโปรแกรม เกม Buzz Wire ของเราใช้เกมหนึ่งเพื่อเล่น เพลงประกอบ 'Flying Circus' ของมอนตี้ ไพธอน .

ตัวต้านทาน

ตัวต้านทานจำกัดการไหลของกระแสไฟฟ้า เป็นส่วนประกอบราคาถูกมาก และเป็นส่วนประกอบหลักของวงจรอิเล็กทรอนิกส์ทั้งมือสมัครเล่นและมืออาชีพ เกือบทุกครั้งจะต้องปกป้องส่วนประกอบจากการโอเวอร์โหลด นอกจากนี้ยังจำเป็นเพื่อป้องกันไฟฟ้าลัดวงจรหาก Arduino +5V เชื่อมต่อโดยตรงกับกราวด์ กล่าวโดยย่อ: มีประโยชน์มากและจำเป็นอย่างยิ่ง

สายจัมเปอร์

สายจัมเปอร์ใช้เพื่อสร้างการเชื่อมต่อชั่วคราวระหว่างส่วนประกอบต่างๆ บนเขียงหั่นขนมของคุณ

การตั้งค่า Arduino . ของคุณ

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

การติดตั้ง Arduino Software Package บน Windows

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

การติดตั้งนี้รวมถึงไดรเวอร์ด้วย ดังนั้นในทางทฤษฎีแล้ว คุณน่าจะใช้งานได้ทันที หากล้มเหลวด้วยเหตุผลบางประการ ให้ลองทำตามขั้นตอนเหล่านี้เพื่อติดตั้งไดรเวอร์ด้วยตนเอง:

  • เสียบปลั๊กบอร์ดของคุณและรอให้ Windows เริ่มกระบวนการติดตั้งไดรเวอร์ หลังจากผ่านไปครู่หนึ่ง กระบวนการจะล้มเหลว แม้จะพยายามอย่างเต็มที่แล้วก็ตาม
  • คลิกที่ เมนูเริ่มต้น > แผงควบคุม .
  • นำทางไปยัง ระบบและความปลอดภัย > ระบบ . เมื่อหน้าต่างระบบเปิดขึ้น ให้เปิด ตัวจัดการอุปกรณ์ .
  • ภายใต้ พอร์ต (COM & LPT) คุณควรเห็นพอร์ตเปิดชื่อ Arduino UNO (COMxx) .
  • คลิกขวาที่ Arduino UNO (COMxx) > อัปเดตซอฟต์แวร์ไดรเวอร์ .
  • เลือก เรียกดูคอมพิวเตอร์ของฉันสำหรับซอฟต์แวร์ไดรเวอร์ .
  • ไปที่และเลือกไฟล์ไดรเวอร์ของ Uno ชื่อ ArduinoUNO.inf , ตั้งอยู่ใน ไดรเวอร์ โฟลเดอร์ดาวน์โหลดซอฟต์แวร์ Arduino

Windows จะทำการติดตั้งไดรเวอร์ให้เสร็จสิ้นจากที่นั่น

การติดตั้ง Arduino Software Package บน Mac OS

ดาวน์โหลดซอฟต์แวร์ Arduino สำหรับ Mac จาก เว็บไซต์ Arduino . แยกเนื้อหาของ .zip ไฟล์และเรียกใช้แอป คุณสามารถคัดลอกลงในโฟลเดอร์แอปพลิเคชันของคุณ แต่จะทำงานได้ดีจาก your เดสก์ทอป หรือ ดาวน์โหลด โฟลเดอร์ คุณไม่จำเป็นต้องติดตั้งไดรเวอร์เพิ่มเติมสำหรับ Arduino UNO

การติดตั้งซอฟต์แวร์ Arduino บนแพ็คเกจ Ubuntu/Linux

ติดตั้ง gcc-avr และ avr-libc :

sudo apt-get install gcc-avr avr-libc

หากคุณยังไม่มี openjdk-6-jre ให้ติดตั้งและกำหนดค่าด้วย:

sudo apt-get install openjdk-6-jre
sudo update-alternatives --config java

เลือกให้ถูก JRE หากคุณได้ติดตั้งไว้มากกว่าหนึ่งตัว

ไปที่ เว็บไซต์ Arduino และดาวน์โหลดซอฟต์แวร์ Arduino สำหรับ Linux คุณสามารถ แพร่กระจาย และรันด้วยคำสั่งต่อไปนี้:

tar xzvf arduino-x.x.x-linux64.tgz
cd arduino-1.0.1
./arduino

ไม่ว่าคุณจะใช้ระบบปฏิบัติการใด คำแนะนำข้างต้นถือว่าคุณมีบอร์ด Arduino Uno ดั้งเดิมที่มีตราสินค้า หากคุณซื้อโคลน คุณจะต้องใช้ไดรเวอร์ของบริษัทอื่นก่อนจะรู้จักบอร์ดผ่าน USB

การรันซอฟต์แวร์ Arduino

เมื่อติดตั้งซอฟต์แวร์และ Arduino ของคุณได้รับการตั้งค่าแล้ว เรามาตรวจสอบว่าทุกอย่างใช้งานได้ วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการใช้แอปพลิเคชันตัวอย่าง 'Blink'

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

ในการอัปโหลดโค้ดนี้ไปยัง Arduino ให้เลือกรายการใน เครื่องมือ > กระดาน เมนูที่ตรงกับรุ่นของคุณ -- Arduino uno ในกรณีนี้.

เลือกอุปกรณ์ซีเรียลของบอร์ดของคุณจาก เครื่องมือ > พอร์ตอนุกรม เมนู. บน Windows นี่น่าจะเป็น COM3 หรือสูงกว่า. บน Mac หรือ Linux นี่ควรเป็นสิ่งที่มี /dev/tty.usbmodem ในนั้น.

สุดท้ายให้คลิกที่ ที่อัพโหลด ปุ่มที่ด้านบนซ้ายของสภาพแวดล้อมของคุณ รอสักครู่แล้วคุณจะเห็น RX และ TX ไฟ LED บน Arduino กะพริบ หากการอัปโหลดสำเร็จ ข้อความ 'เสร็จสิ้นการอัปโหลด' จะปรากฏในแถบสถานะ

ไม่กี่วินาทีหลังจากการอัปโหลดเสร็จสิ้น คุณจะเห็น พิน 13 LED บนกระดานเริ่มกะพริบ ยินดีด้วย! คุณมี Arduino ของคุณพร้อมทำงาน

โครงการเริ่มต้น

เมื่อคุณรู้พื้นฐานแล้ว มาดูโครงการสำหรับผู้เริ่มต้นกัน

ก่อนหน้านี้คุณใช้โค้ดตัวอย่าง Arduino เพื่อกะพริบ LED บนบอร์ด โครงการนี้จะแฟลช LED ภายนอกโดยใช้เขียงหั่นขนม นี่คือวงจร:

ต่อขายาวของ LED (ขาบวกเรียกว่า ขั้วบวก ) ถึง a ตัวต้านทาน 220 โอห์ม แล้วก็เป็นดิจิตอล พิน7 . ต่อขาสั้น (ขาลบ เรียกว่า แคโทด ) โดยตรงไปยัง พื้น (พอร์ต Arduino ใด ๆ ที่มี GND อยู่ที่คุณเลือก) นี่เป็นวงจรง่ายๆ Arduino สามารถควบคุมพินนี้แบบดิจิทัล การเปิดพินจะทำให้ไฟ LED สว่างขึ้น การปิดไฟ LED จะดับลง ตัวต้านทานมีความจำเป็นในการป้องกันไฟ LED จากกระแสไฟที่มากเกินไป - ไฟจะดับหากไม่มีไฟ LED

นี่คือรหัสที่คุณต้องการ:

void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the pin as an output
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(7, HIGH); // turn LED on
delay(1000); // wait 1 second
digitalWrite(7, LOW); // turn LED off
delay(1000); // wait one second
}

รหัสนี้ทำหลายอย่าง:

การตั้งค่าเป็นโมฆะ (): สิ่งนี้ดำเนินการโดย Arduino ทุกครั้งที่เริ่มทำงาน นี่คือที่ที่คุณสามารถกำหนดค่าตัวแปรและทุกสิ่งที่ Arduino ของคุณต้องการใช้งาน

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

วงเป็นโมฆะ (): โค้ดใดๆ ในลูปนี้จะรันซ้ำแล้วซ้ำอีก จนกว่า Arduino จะปิด สิ่งนี้สามารถทำให้โครงการขนาดใหญ่ซับซ้อนขึ้น แต่ใช้งานได้ดีอย่างน่าทึ่งสำหรับโครงการทั่วไป

digitalWrite (7, สูง): ใช้สำหรับตั้งพิน สูง หรือ ต่ำ - บน หรือ ปิด . เช่นเดียวกับสวิตช์ไฟ เมื่อพินสูง ไฟ LED จะติด เมื่อพินเป็น LOW ไฟ LED จะดับ ภายในวงเล็บ คุณต้องระบุข้อมูลเพิ่มเติมเพื่อให้ทำงานได้อย่างถูกต้อง ข้อมูลเพิ่มเติมเรียกว่าพารามิเตอร์หรืออาร์กิวเมนต์

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

ล่าช้า (1000): คำสั่งบอกให้ Arduino รอตามระยะเวลาที่กำหนดในหน่วยมิลลิวินาที 1,000 มิลลิวินาทีเท่ากับหนึ่งวินาที ดังนั้น นี่จะทำให้ Arduino รอ 1 วินาที

เมื่อ LED เปิดขึ้นเป็นเวลาหนึ่งวินาที Arduino จะเรียกใช้รหัสเดียวกันเท่านั้น แต่จะดำเนินการปิด LED และรออีกหนึ่งวินาที เมื่อกระบวนการนี้เสร็จสิ้น การวนซ้ำจะเริ่มต้นอีกครั้ง และ LED จะเปิดขึ้นอีกครั้ง

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

การเพิ่มปุ่ม

ตอนนี้คุณมีไฟ LED ทำงานแล้ว ให้เพิ่มปุ่มในวงจรของคุณ:

เชื่อมต่อปุ่มเพื่อเชื่อมช่องที่อยู่ตรงกลางของเขียงหั่นขนม เชื่อมต่อ ขวาบน ขาไป ปักหมุด4 . เชื่อมต่อ ล่างขวา ขาไป a 10k โอห์ม ตัวต้านทานและจากนั้นไปที่ พื้น . เชื่อมต่อ ล่างซ้าย ขาไป 5V .

คุณอาจสงสัยว่าทำไมปุ่มธรรมดาถึงต้องการตัวต้านทาน นี้ทำหน้าที่สองวัตถุประสงค์ มันคือ ดึงลงมา ตัวต้านทาน -- มันผูกพินกับกราวด์ เพื่อให้แน่ใจว่าไม่มีการตรวจจับค่าปลอม และป้องกัน Arduino กำลังคิด คุณกดปุ่มเมื่อคุณไม่ได้ จุดประสงค์ที่สองของตัวต้านทานนี้คือตัวจำกัดกระแส หากไม่มีมัน 5V จะลงสู่พื้นโดยตรง the ควันวิเศษ จะถูกปล่อยออกมาและ Arduino ของคุณจะตาย สิ่งนี้เรียกว่าไฟฟ้าลัดวงจร ดังนั้นการใช้ตัวต้านทานจะป้องกันไม่ให้สิ่งนี้เกิดขึ้น

เมื่อไม่ได้กดปุ่ม Arduino จะตรวจจับกราวด์ ( พิน 4 > ตัวต้านทาน > พื้น ). เมื่อคุณกดปุ่ม 5V จะเชื่อมต่อกับกราวด์ Arduino pin 4 สามารถตรวจจับการเปลี่ยนแปลงนี้ได้ เนื่องจากตอนนี้พิน 4 เปลี่ยนจากกราวด์เป็น 5V แล้ว

นี่คือรหัส:

boolean buttonOn = false; // store the button state
void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the LED as an output
pinMode(4, INPUT); // configure the button as an input
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(4)) {
delay(25);
if(digitalRead(4)) {
// if button was pressed (and was not a spurious signal)
if(buttonOn)
// toggle button state
buttonOn = false;
else
buttonOn = true;
delay(500); // wait 0.5s -- don't run the code multiple times
}
}
if(buttonOn)
digitalWrite(7, LOW); // turn LED off
else
digitalWrite(7, HIGH); // turn LED on
}

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

ปุ่มบูลีนเปิด = เท็จ: ตัวแปรนี้ใช้เพื่อเก็บสถานะของปุ่ม -- ON หรือ OFF, HIGH หรือ LOW มันได้รับค่าเริ่มต้นเป็นเท็จ

โหมดพิน (4, อินพุต): เช่นเดียวกับรหัสที่ใช้สำหรับ LED บรรทัดนี้บอก Arduino ว่าคุณได้เชื่อมต่ออินพุต (ปุ่มของคุณ) กับพิน 4

ถ้า(ดิจิตอลอ่าน(4)): ในทำนองเดียวกันกับ digitalWrite() , ดิจิตอลอ่าน () ใช้สำหรับอ่านสถานะของพิน คุณต้องระบุหมายเลขพิน (4 สำหรับปุ่มของคุณ)

เมื่อคุณกดปุ่ม Arduino จะรอ 25ms และตรวจสอบปุ่มอีกครั้ง นี้เรียกว่า ซอฟต์แวร์ debounce . สิ่งนี้ทำให้มั่นใจได้ว่าสิ่งที่ Arduino คิดว่าเป็นการกดปุ่ม จริงๆ เป็นการกดปุ่มและไม่มีเสียงรบกวน คุณไม่จำเป็นต้องทำเช่นนี้ และโดยส่วนใหญ่แล้วสิ่งต่างๆ จะทำงานได้ดีหากไม่มีมัน เป็นแนวทางปฏิบัติที่ดีที่สุดมากกว่า

หาก Arduino แน่ใจว่าคุณกดปุ่มจริงๆ มันจะเปลี่ยนค่าของ ปุ่มเปิด ตัวแปร. สิ่งนี้สลับสถานะ:

ButtonOn เป็นจริง: ตั้งค่าเป็นเท็จ

ButtonOn เป็นเท็จ: ตั้งค่าเป็นจริง

ในที่สุด LED จะถูกปิดตามสถานะที่เก็บไว้ใน ปุ่มเปิด .

เซนเซอร์ตรวจจับแสง

ไปที่โครงการขั้นสูงกันเถอะ โครงการนี้จะใช้ a ตัวต้านทานขึ้นอยู่กับแสง (LDR) เพื่อวัดปริมาณแสงที่มีอยู่ Arduino จะบอกข้อความที่เป็นประโยชน์ต่อคอมพิวเตอร์ของคุณเกี่ยวกับระดับแสงปัจจุบัน

การสตรีมใช้ข้อมูลเท่าใด

นี่คือวงจร:

เนื่องจาก LDR เป็นตัวต้านทานชนิดหนึ่ง มันจึงไม่มีขั้ว เชื่อมต่อ 5V ด้านหนึ่งของ LDR เชื่อมต่ออีกด้านหนึ่งเข้ากับ พื้น ผ่าน a 1k โอห์ม ตัวต้านทาน เชื่อมด้านนี้เข้ากับ อินพุตแบบอะนาล็อก 0 .

ตัวต้านทานนี้ทำหน้าที่เป็นตัวต้านทานแบบดึงลง เช่นเดียวกับในโปรเจ็กต์ก่อนหน้า จำเป็นต้องใช้พินอะนาล็อก เนื่องจาก LDR เป็นอุปกรณ์แอนะล็อก และพินเหล่านี้มีวงจรพิเศษสำหรับการอ่านฮาร์ดแวร์แอนะล็อกอย่างแม่นยำ

นี่คือรหัส:

int light = 0; // store the current light value
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //configure serial to talk to computer
}
void loop() {
// put your main code here, to run repeatedly:
light = analogRead(A0); // read and save value from LDR

//tell computer the light level
if(light <100) {
Serial.println('It is quite light!');
}
else if(light > 100 && light <400) {
Serial.println('It is average light!');
}
else {
Serial.println('It is pretty dark!');
}
delay(500); // don't spam the computer!
}

รหัสนี้ทำสิ่งใหม่สองสามอย่าง:

Serial.begin(9600): สิ่งนี้บอก Arduino ว่าคุณต้องการสื่อสารผ่านซีเรียลในอัตรา 9600 Arduino จะเตรียมทุกสิ่งที่จำเป็นสำหรับสิ่งนี้ อัตราไม่สำคัญ แต่ทั้ง Arduino และคอมพิวเตอร์ของคุณต้องใช้อันเดียวกัน

อนาล็อกอ่าน (A0): ใช้เพื่ออ่านค่าที่มาจาก LDR ค่าที่ต่ำกว่าหมายความว่ามีแสงสว่างมากขึ้น

Serial.println(): ใช้สำหรับเขียนข้อความไปยังอินเทอร์เฟซแบบอนุกรม

ความเรียบง่าย ถ้า คำสั่งจะส่งสตริง (ข้อความ) ที่แตกต่างกันไปยังคอมพิวเตอร์ของคุณขึ้นอยู่กับแสงที่มีอยู่

อัปโหลดรหัสนี้และต่อสาย USB ไว้ (นั่นคือวิธีที่ Arduino จะสื่อสารและแหล่งพลังงาน) เปิดจอภาพอนุกรม ( ขวาบน > จอภาพแบบอนุกรม ) คุณควรเห็นข้อความของคุณมาถึงทุก 0.5 วินาที

คุณสังเกตอะไร จะเกิดอะไรขึ้นหากคุณปิด LDR หรือฉายแสงจ้าบน LDR? คุณสามารถแก้ไขรหัสเพื่อพิมพ์ค่าของ LDR บนซีเรียลได้หรือไม่

ส่งเสียง

โปรเจ็กต์นี้ใช้ลำโพง Piezo เพื่อสร้างเสียง นี่คือวงจร:

สังเกตเห็นสิ่งที่คุ้นเคย? วงจรนี้เกือบจะเหมือนกับโครงการ LED ทุกประการ Piezos เป็นส่วนประกอบที่ง่ายมาก โดยจะส่งเสียงเมื่อได้รับสัญญาณไฟฟ้า เชื่อมต่อ เชิงบวก ขาสู่ดิจิตอล พิน 9 ผ่าน a 220 โอห์ม ตัวต้านทาน เชื่อมต่อ เชิงลบ ขาไป พื้น .

นี่คือรหัส มันง่ายมากสำหรับโครงการนี้:

void setup() {
// put your setup code here, to run once:
pinMode(9, OUTPUT); // configure piezo as output
}
void loop() {
// put your main code here, to run repeatedly:
tone(9, 1000); // make piezo buzz
delay(1000); // wait 1s
noTone(9); // stop sound
delay(1000); // wait 1s
}

มีคุณลักษณะโค้ดใหม่เพียงไม่กี่อย่างที่นี่:

โทน (9, 1000): สิ่งนี้ทำให้เพียโซสร้างเสียง ต้องใช้สองอาร์กิวเมนต์ อันแรกคือพินที่ใช้ และอันที่สองคือความถี่ของโทนเสียง

ไม่มีโทน(9): การดำเนินการนี้จะหยุดส่งเสียงใดๆ บนพินที่ให้มา

ลองเปลี่ยนรหัสนี้เพื่อสร้างความถี่ที่ต่างออกไป เปลี่ยนการหน่วงเวลาเป็น 1ms -- คุณสังเกตเห็นอะไร?

จะไปไหนต่อจากนี้

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

  • สร้างเครื่องประดับไฟคริสต์มาส
  • Arduino Shields เพื่อเพิ่มพลังให้กับโครงการของคุณ
  • สร้างเกมปิงปองของคุณเองด้วย Arduino
  • เชื่อมต่อ Arduino ของคุณกับอินเทอร์เน็ต
  • สร้างระบบอัตโนมัติภายในบ้านด้วย Arduino . ของคุณ

คุณเป็นเจ้าของ Arduino ตัวใด มีโครงการสนุก ๆ ที่คุณชอบทำไหม? ดูวิธีปรับปรุงการเข้ารหัส Arduino ของคุณด้วย VS Code และ PlatformIO สำหรับข้อมูลเพิ่มเติม

แบ่งปัน แบ่งปัน ทวีต อีเมล 15 Windows Command Prompt (CMD) คำสั่งที่คุณต้องรู้

พรอมต์คำสั่งยังคงเป็นเครื่องมือ Windows ที่มีประสิทธิภาพ ต่อไปนี้คือคำสั่ง CMD ที่มีประโยชน์ที่สุดที่ผู้ใช้ Windows ทุกคนจำเป็นต้องรู้

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • DIY
  • Arduino
  • อิเล็กทรอนิกส์
เกี่ยวกับผู้เขียน โจ โคเบิร์น(136 บทความที่ตีพิมพ์)

โจสำเร็จการศึกษาด้านวิทยาการคอมพิวเตอร์จากมหาวิทยาลัยลินคอล์น ประเทศอังกฤษ เขาเป็นนักพัฒนาซอฟต์แวร์มืออาชีพ และเมื่อเขาไม่ได้ขับโดรนหรือเขียนเพลง เขามักจะถูกมองว่าถ่ายภาพหรือผลิตวิดีโอ

เพิ่มเติมจาก Joe Coburn

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก
หมวดหมู่ Diy