สารบัญ:

ควบคุมอุปกรณ์ในโลกแห่งความเป็นจริงด้วยพีซีของคุณ: 15 ขั้นตอน (พร้อมรูปภาพ)
ควบคุมอุปกรณ์ในโลกแห่งความเป็นจริงด้วยพีซีของคุณ: 15 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ควบคุมอุปกรณ์ในโลกแห่งความเป็นจริงด้วยพีซีของคุณ: 15 ขั้นตอน (พร้อมรูปภาพ)

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

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

ขั้นตอนที่ 1: รวบรวมชิ้นส่วน

รวบรวมชิ้นส่วน
รวบรวมชิ้นส่วน

รายการชิ้นส่วน:Picaxe 08M ชิปที่มีอยู่จากหลายแหล่งรวมถึง Rev Ed https://www.rev-ed.co.uk/picaxe/ (สหราชอาณาจักร), PH Anderson https://www.panderson.com/ (USA) และ Microzed https://www.microzed.com.au/ (ออสเตรเลีย)Protoboard, เซอร์โว, ไมโครสวิตช์, แบตเตอรี่ 9V, แบตเตอรี่ 4xAA และที่ยึด, แถบแท็ก, ตัวต้านทาน 10k, ตัวต้านทาน 22k, ตัวเก็บประจุ 33uF 16V, ตัวเก็บประจุ 0.1uF, 7805L พลังงานต่ำ 5V เรกูเลเตอร์, หม้อ 10k, สายไฟ (สายโทรศัพท์/สายข้อมูลที่เป็นของแข็ง เช่น Cat5/6), หลอดไฟ 6V, เต้ารับและฝาปิดตัวเมีย D9, สายดาต้าหลัก 2 เมตร 3 (หรือ 4), คลิปแบตเตอรี่ บริษัทข้างต้นยังขาย USB ไปยังอุปกรณ์อนุกรม ซึ่งมีประโยชน์สำหรับแล็ปท็อปที่ไม่มีพอร์ตอนุกรม เป็นที่น่าสังเกตว่าอุปกรณ์ USB กับซีเรียลบางตัวใช้งานไม่ได้เช่นเดียวกับอุปกรณ์อื่นๆ และควรซื้อจากซัพพลายเออร์รายใดรายหนึ่งข้างต้น เนื่องจากได้รับการทดสอบเพื่อใช้กับชิป picaxe ที่ทราบกันว่าใช้งานได้คือ https://www.rev-ed.co.uk/docs/axe027.pdf แน่นอน ถ้าคอมพิวเตอร์ของคุณมีพอร์ตอนุกรม (หรือการ์ดพอร์ตอนุกรมแบบเก่า) จะไม่มี เป็นปัญหา

ขั้นตอนที่ 2: ดาวน์โหลดและติดตั้งซอฟต์แวร์บางตัว

ดาวน์โหลดและติดตั้งซอฟต์แวร์บางตัว
ดาวน์โหลดและติดตั้งซอฟต์แวร์บางตัว

เราต้องการ VB. Net และซอฟต์แวร์ควบคุม picaxe VB. Net (Visual Basic Express) มีให้ที่ https://msdn2.microsoft.com/en-us/express/aa718406.aspx หากลิงก์นี้ใช้ไม่ได้ ให้ค้นหา ใน Google สำหรับ: visual basic express downloadซอฟต์แวร์ picaxe มีให้ที่ https://www.rev-ed.co.uk/picaxe/ คุณจะต้องลงทะเบียนกับ microsoft เพื่อดาวน์โหลด - หากเป็นปัญหา ให้ใช้อีเมลปลอม หรือบางสิ่งบางอย่าง. ฉันพบว่าการให้อีเมลจริงของฉันมีประโยชน์จริง ๆ เมื่อพวกเขาส่งการอัปเดตเป็นครั้งคราว

ขั้นตอนที่ 3: สร้างวงจรดาวน์โหลด

สร้างวงจรดาวน์โหลด
สร้างวงจรดาวน์โหลด

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

ฉันอาจเพิ่มด้วยว่า picaxes ทำงานอย่างมีความสุขด้วยแบตเตอรี่ AA 3 ก้อน แหล่งจ่ายไฟที่มีการควบคุม 5V มีประโยชน์สำหรับการรันอินพุตแบบอะนาล็อก เนื่องจากแรงดันอ้างอิงไม่เปลี่ยนแปลง แต่สำหรับวงจรเปิด/ปิดอย่างง่าย ไม่จำเป็นต้องใช้แหล่งจ่ายไฟที่มีการควบคุม คุณสามารถละเว้น reg 5V ได้ในสถานการณ์เหล่านี้

ขั้นตอนที่ 4: เค้าโครง Protoboard ของวงจรดาวน์โหลด

เค้าโครง Protoboard ของวงจรดาวน์โหลด
เค้าโครง Protoboard ของวงจรดาวน์โหลด

ภาพนี้แสดงสายเคเบิลดาวน์โหลดซึ่งเป็นเพียงปลั๊ก D9 และสายเคเบิลมัลติคอร์สองสามเมตร พีซีสมัยใหม่ส่วนใหญ่มีการเชื่อมต่อพอร์ตอนุกรม D9 พีซีที่สร้างก่อนประมาณปี 2541 อาจมีขั้วต่อ 25 พิน ฉันบัดกรีลวดแกนแข็งประมาณ 1 ซม. ที่ปลายสายอ่อนแล้วใส่ฮีทริงค์รอบนี้ - ลวดแกนแข็งจะเข้าไปในโปรโตบอร์ดได้ดีกว่าสายอ่อนมาก

ขั้นตอนที่ 5: ดาวน์โหลดโปรแกรม Picaxe

ดาวน์โหลดโปรแกรม Picaxe
ดาวน์โหลดโปรแกรม Picaxe

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

คัดลอกและวางโค้ดด้านล่าง หากต้องการดูด้วยไวยากรณ์สี ให้ค้นหาใน View/Options/Editor การกำหนดสีคล้ายกับ VB. Net main:serin 3, N2400, ("Data"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 readadc 1, b1' อ่านพ็อตแล้วส่ง serout กลับนี้ 0, N2400, ("Data", b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) เลือก กรณี b0' อ่านบิตข้อมูล b0 กรณี <140' ถ้า <140 ให้ตั้งค่าเซอร์โวเป็นเซอร์โวหนึ่งตำแหน่ง 2, 120 หยุดชั่วคราว 1000' หยุดชั่วคราวอีกหนึ่งวินาที เซอร์โว 2, 160 หยุดชั่วคราว 1000 สิ้นสุดการเลือกที่ต่ำ 2' ปิดเซอร์โวตามที่เซอรินทำต่อไป ไปที่หลัก

ขั้นตอนที่ 6: กำหนดค่าวงจรใหม่เป็นวงจรอินเทอร์เฟซแบบอนุกรม

กำหนดค่าวงจรใหม่เป็นวงจรอินเทอร์เฟซแบบอนุกรม
กำหนดค่าวงจรใหม่เป็นวงจรอินเทอร์เฟซแบบอนุกรม

มีการเปลี่ยนแปลงเล็กน้อยในวงจร picaxe ตัวต้านทาน 22k ที่เคยไปที่ขา 2 ตอนนี้ไปที่ขา 4 และขา 2 ได้รับการต่อสายดินแล้ว จุดประสงค์เดียวของเลก 2 คือการรับข้อมูลการเขียนโปรแกรมจากพีซี ดังนั้นเมื่อตั้งโปรแกรมชิปแล้ว ก็สามารถเชื่อมโยงกับกราวด์ได้ หากคุณกลับไปเขียนโปรแกรมชิปเพื่อแก้ไขข้อผิดพลาด ฯลฯ ให้ถอดขา 2 ออกจากกราวด์แล้วเชื่อมต่อ 22k กับขา 2 อีกครั้ง picaxe จะพูดกลับไปที่พีซีผ่านเลก 7 ดังนั้นจึงไม่จำเป็นต้องเปลี่ยน

เพิ่มหม้อและเพิ่มเซอร์โวแล้ว เซอร์โวไม่จำเป็นจริงๆ และ LED และตัวต้านทาน 1k จะทำงานได้ดีและ/หรือวงจรใดๆ ที่คุณต้องการเชื่อมต่อ ฉันเพิ่งใช้เซอร์โวเพื่อแสดงให้เห็นว่าการคลิกบางสิ่งบนหน้าจอสามารถทำให้บางสิ่งเคลื่อนไหวได้อย่างไร เซอร์โวหมดแหล่งจ่ายไฟของตัวเอง ไม่จำเป็นต้องใช้แหล่งจ่ายไฟแยกต่างหากหาก picaxe เพิ่งเปิดและปิดไฟ LED picaxe พร้อมใช้งานแล้ว - ตอนนี้เราต้องการรหัส VB

ขั้นตอนที่ 7: เขียนโค้ดอินเทอร์เฟซ VB บางส่วน

เขียนโค้ดอินเทอร์เฟซ VB บางส่วน
เขียนโค้ดอินเทอร์เฟซ VB บางส่วน

เมื่อติดตั้ง VB. Net แล้ว ให้เรียกใช้แล้วเลือก ไฟล์/โครงการใหม่ แล้วเลือก Windows Application คุณสามารถคลิก ไฟล์/บันทึกทั้งหมด ได้ในตอนเริ่มต้น และบันทึกไปที่ใดก็ได้ที่คุณต้องการ จากนั้นให้เริ่มโครงการจากภายใน VB. Net ในอนาคต หรือโดยการคลิกที่ไฟล์.sln ที่จะสร้างขึ้น

ขั้นตอนที่ 8: ออกแบบ VB. Net Form

ออกแบบแบบฟอร์ม VB. Net
ออกแบบแบบฟอร์ม VB. Net

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

ขั้นตอนที่ 9: เพิ่มตัวจับเวลา

เพิ่มตัวจับเวลา
เพิ่มตัวจับเวลา

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

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

ขั้นตอนที่ 10: เพิ่มปุ่มสองสามปุ่ม

เพิ่มปุ่มสองสามปุ่ม
เพิ่มปุ่มสองสามปุ่ม

คลิกที่ปุ่มเครื่องมือและวาดขนาดของปุ่มใน Form1 เราต้องการสองปุ่ม กล่องรูปภาพและฉลาก ไปข้างหน้าและเพิ่มสิ่งเหล่านี้ - ภาพหน้าจอถัดไปแสดงสิ่งเหล่านี้ทั้งหมด ขนาดและตำแหน่งไม่สำคัญ และคุณสามารถเปลี่ยนชื่อได้ในภายหลังหากต้องการ

ขั้นตอนที่ 11: แบบฟอร์มพร้อมการควบคุมทั้งหมดเพิ่ม

แบบฟอร์มที่เพิ่มการควบคุมทั้งหมด
แบบฟอร์มที่เพิ่มการควบคุมทั้งหมด

วาง Form1 แล้ว กล่องถัดจาก Button2 เป็นกล่องรูปภาพขนาดเล็ก คุณสามารถใส่รูปภาพในนี้ แต่เราจะใช้เพื่อระบุว่ามีการกดปุ่มใดโดยเปลี่ยนจากสีแดงเป็นสีเขียว Label1 แสดงการลงทะเบียน picaxe

ขั้นตอนที่ 12: เพิ่มโค้ดบางส่วน

เพิ่มรหัส
เพิ่มรหัส

ทางด้านขวาที่วงกลมสีเขียวมีปุ่มที่มีประโยชน์หลายปุ่ม ปุ่มที่สองจากด้านขวาคือปุ่ม View Code และปุ่มขวาคือ View Designer ในทางปฏิบัติเมื่อเขียนโค้ดจะต้องสลับไปมาระหว่างมุมมองเหล่านี้ โดยทั่วไป ถ้าตัวหนึ่งอยู่ในโหมดนักออกแบบ ดับเบิลคลิกที่วัตถุ เช่น ปุ่ม จะแสดงจุดในมุมมองโค้ดเพื่อเพิ่มโค้ดหรือนำโค้ดหนึ่งไปยังโค้ดที่ทำงานเมื่อกดปุ่ม ด้วยวิธีนี้การไหลของโปรแกรมจึงค่อนข้างง่าย - ผู้ใช้คลิกที่สิ่งต่าง ๆ และบิตของการเรียกใช้โค้ดและเปลี่ยนหน้าจอและอื่น ๆ เพื่อจุดประสงค์ของเราแม้ว่าเราจะโกงและวางโค้ดการทำงานทั้งหมด มุมมองโค้ด จะมี Public Class Form1 …End Class - ไฮไลต์สิ่งนี้แล้วลบออก ตอนนี้นำรหัสทั้งหมดด้านล่างและวางลงใน. Imports System. IOImports Strings = Microsoft. VisualBasic ' เพื่อให้สามารถใช้สิ่งต่าง ๆ เช่น left(และ right(สำหรับ stringsPublic Class Form1Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer) ' สำหรับคำสั่ง sleepDim WithEvents serialPort As ใหม่ IO. Ports. SerialPort ' พอร์ตอนุกรมประกาศDim PicaxeRegisters(0 ถึง 13) As Byte ' ลงทะเบียน b0 ถึง b13Private Sub Form1_Load (ผู้ส่ง ByVal เป็นวัตถุ ByVal e As System. EventArgs) จัดการ Me. LoadTimer1. Enable = True ' ใส่รหัสนี้เป็นค่าเริ่มต้นเป็น false เมื่อ createdTimer1. Interval = 5000 ' 5 secondsPictureBox1. BackColor = Color. Red ' ตั้งค่าเป็นตำแหน่ง 'red'Array. Clear(PicaxeRegisters, 0, 13)' อาจไม่จำเป็นตามที่ประกาศอาร์เรย์ blankEnd SubPrivate Sub Timer1_Tick (ผู้ส่ง ByVal As System. Object, ByVal e As System. EventArgs) จัดการ Timer1. Tick' ตัวจับเวลาทุก 5 วินาทีCall SerialTxRx() ' คุยกับ picaxeEnd SubSub SerialTxRx()Dim LabelString เป็นสตริง ' สตริงเพื่อแสดงค่าไบต์ DataP acket(0 ถึง 17) As Byte ' แพ็กเก็ตข้อมูลทั้งหมด "Data"+14 bytesDim i As Integer ' i มีประโยชน์เสมอสำหรับลูป etcLabel1. Text = "" ' ล้างข้อความบนหน้าจอสำหรับ i = 0 ถึง 3DataPacket(i) = Asc(Mid("Data", i + 1, 1)) ' เพิ่มคำว่า "Data" ลงใน packetNextFor i = 0 ถึง 13DataPacket(i + 4) = PicaxeRegisters(i) ' เพิ่มไบต์ทั้งหมดลงใน packetNextIf serialPort IsOpen ThenserialPort. Close() ' ในกรณีที่เปิดไว้แล้วEnd IfTryWith serialPort. PortName = "COM1" ' คอมพิวเตอร์ใหม่ส่วนใหญ่จะใช้ค่าเริ่มต้นเป็น com1 แต่คอมพิวเตอร์รุ่นก่อนปี 1999 ที่มีเมาส์แบบอนุกรม อาจมีค่าเริ่มต้นเป็น com2. BaudRate = 2400 ' 2400 เป็นค่าสูงสุด ความเร็วสำหรับ picaxes ขนาดเล็ก = IO. Ports. Parity. None ' no parity. DataBits = 8 ' 8 bits. StopBits = IO. Ports. StopBits. One ' one stop bit. ReadTimeout = 1000 ' มิลลิวินาที ดังนั้นหมดเวลาใน 1 วินาที หากไม่มีการตอบสนอง Open() ' เปิดพอร์ตอนุกรม DiscardInBuffer() ' ล้างบัฟเฟอร์อินพุต เขียน (DataPacket, 0, 18) ' ส่ง datapacket arrayCall Sleep (300) ' ขั้นต่ำ 100 มิลลิวินาทีเพื่อรอ r data จะกลับมาและอื่น ๆ หาก data stream ยาวขึ้น Read(DataPacket, 0, 18) ' read back in data packet array. Close() ' ปิดพอร์ตอนุกรมEnd WithFor i = 4 To 17LabelString = LabelString + " " + Str(DataPacket(i)) ' เปลี่ยนเป็นสตริงข้อความNextLabel1. Text = LabelString ' วางสตริงข้อความบน screenCatch ex As Exception'MsgBox(ex. ToString)' ให้ยกเลิกหมายเหตุนี้หากต้องการดูข้อความแสดงข้อผิดพลาดจริง Label1. Text = " หมดเวลา" ' จะแสดงสิ่งนี้หาก picaxe ไม่ได้เชื่อมต่อ etcEnd TryEnd SubPrivate Sub Button1_Click(ByVal sender As System. Object, ByVal e As System. EventArgs) Handles Button1. ClickPictureBox1. BackColor = Color. Red ' เปลี่ยนกล่องเป็น redPicaxeRegisters(0) = 120 ' ค่าที่กำหนดเองสำหรับ servoEnd SubPrivate Sub Button2_Click (ผู้ส่ง ByVal As System. Object, ByVal e As System. EventArgs) จัดการ Button2. ClickPictureBox1. BackColor = Color. Green ' กล่องเป็น greenPicaxeRegisters(0) = 160 ' ค่าโดยพลการสำหรับ servoEnd SubEnd คลาส

ขั้นตอนที่ 13: เรียกใช้โปรแกรม

เรียกใช้โปรแกรม
เรียกใช้โปรแกรม

เพิ่มพลังให้ picaxe หากไม่ได้เปิดเครื่อง เรียกใช้โปรแกรม vb.net โดยคลิกที่สามเหลี่ยมสีเขียวที่ด้านบนของหน้าจอใกล้กับตรงกลาง ทางด้านขวาของสามเหลี่ยมวิ่งจะมีปุ่มหยุดชั่วคราวและปุ่มหยุด หรือโปรแกรมสามารถหยุดได้โดยคลิกที่ด้านบนขวา x หรือด้วยไฟล์/ออก หากคุณได้เพิ่มเมนู สามารถคอมไพล์โปรแกรมได้หากต้องการ แต่สำหรับการดีบัก ปล่อยให้มันทำงานภายใน VB ตัวจับเวลาจะส่งไบต์ออกทุกๆ 5 วินาที ดังนั้นจะใช้เวลา 5 วินาทีในการแสดงข้อมูล label1 กำลังแสดงดัมพ์ของรีจิสเตอร์ picaxe 14 รายการ. สิ่งเหล่านี้จะถูกส่งไปยัง picaxe แล้วส่งกลับอีกครั้ง แทบไม่มีความจำเป็นต้องส่งทั้ง 14 แบบ และสามารถเปลี่ยนรหัสของคุณให้เหมาะสมได้ ไบต์ที่สองที่มีค่า 152 คือค่าของหม้อซึ่งเปลี่ยนจาก 0 เป็น 255 หากคลิกปุ่ม 1 จะส่งค่า 120 ในไบต์แรก และหากคลิกปุ่ม 2 จะส่ง 160 และโปรแกรม picaxe จะถอดรหัสเหล่านี้และ ย้ายเซอร์โว รหัสนี้แสดงวิธีการส่งข้อมูลและรับข้อมูลกลับจากไมโครคอนโทรลเลอร์ ไมโครคอนโทรลเลอร์สามารถเปิดอุปกรณ์ได้ทุกประเภท - ฉันมีบ้านอยู่ประมาณ 30 แห่งที่ใช้สปริงเกอร์ หลอดไฟ ระบบรักษาความปลอดภัย ตรวจจับรถยนต์ในทางเดินรถ เปิดปั๊มขนาด 3.6 กิโลวัตต์จำนวนหนึ่ง และตรวจวัดระดับน้ำในถัง สามารถเชื่อมต่อ Picaxes บนรถโดยสารประจำทางทั่วไป และสามารถสื่อสารกันได้ผ่านลิงก์วิทยุ นอกจากนี้ยังสามารถอัปโหลดและดาวน์โหลดข้อมูลจากเว็บไซต์ ดังนั้นจึงใช้อินเทอร์เน็ตเพื่อเชื่อมต่ออุปกรณ์ต่างๆ ทั่วโลก https://www.instructables com/id/Worldwide-microcontroller-link-for-under-20/ สองหน้าถัดไปยังมีตัวอย่างวิธีการใช้เซ็นเซอร์ต่างๆ และวิธีควบคุมอุปกรณ์ต่างๆ อีกด้วย Dr James MoxhamAdelaide, South Australia

ขั้นตอนที่ 14: อุปกรณ์อินพุต

อุปกรณ์อินพุต
อุปกรณ์อินพุต

โปรแกรมเมอร์ picaxe มีไฟล์วิธีใช้ที่มีประโยชน์มาก ซึ่งหนึ่งในนั้นเรียกว่า "วงจรเชื่อมต่อ" และยังมีอยู่ที่ https://www.rev-ed.co.uk/docs/picaxe_manual3.pdf ซึ่งจะแสดงวิธีควบคุมมอเตอร์ สัมผัสสิ่งแวดล้อมและการควบคุมที่มีประโยชน์อื่นๆ นอกจาก cirucis เหล่านี้แล้ว ยังมีบางตัวที่ฉันใช้ซ้ำแล้วซ้ำอีก อุณหภูมิ - เซ็นเซอร์อุณหภูมิ LM35 จะสร้างแรงดันไฟฟ้าที่สามารถเข้าสู่ picaxe ได้โดยตรง และสามารถอ่านได้ด้วยคำสั่ง readadc หรือ readadc10 แสง - ตัวต้านทานแบบพึ่งพาแสงมีความต้านทานที่แตกต่างกันตั้งแต่สองสามร้อยโอห์มในแสงแดดจ้าไปจนถึงมากกว่า 5 เมกะโอห์มในสีดำสนิท วัดความต้านทานที่ระดับแสงที่คุณต้องการเปลี่ยนและใส่ LDR ในอนุกรมด้วยตัวต้านทานที่มีค่าใกล้เคียงกัน เช่น ฉันต้องการตรวจจับไฟของรถที่ดึงเข้าไปในที่จอดรถเพื่อเปิดไฟบางดวง ความต้านทานอยู่ที่ประมาณ 1M จากแสงทางอ้อม ดังนั้นฉันจึงใส่ 1M ในซีรีย์ด้วย LDR สวิตช์ - สวิตช์บางตัวจะสลับระหว่าง 5V และ 0V (สวิตช์แบบขั้วเดี่ยวแบบดับเบิ้ล) แต่บางตัวเพียงแค่เปิดและปิด หากสวิตช์เปิดอยู่ สามารถส่ง 5V ไปยังชิป picaxe ได้ แต่ถ้าปิดอยู่ หมุด picaxe จะ 'ลอย' และอาจเป็นค่าใดก็ได้ วงจรนี้แสดงวิธีการดึงอินพุตลงกับพื้นเมื่อปิดสวิตช์ นี่คือวงจรที่ใช้สำหรับสวิตช์ปุ่มกดส่วนใหญ่ Potentiomter - ลูกบิดแบบเก่าที่ดี บิดลูกบิดแล้วอ่านค่าแรงดันไฟในชิป มีอุปกรณ์อิเล็กทรอนิกส์อื่นๆ ที่สร้างแรงดันไฟฟ้าตั้งแต่ 0-5V หรือจะกำหนดค่าให้ทำเช่นนั้นได้โดยง่าย ตัวอย่าง ได้แก่ เซ็นเซอร์แม่เหล็ก ความชื้น ความเร็ว การสัมผัส แสงอินฟราเรด ความดัน สีและเสียง เซ็นเซอร์โดยทั่วไปมีราคาเพียงไม่กี่เหรียญเท่านั้น

ขั้นตอนที่ 15: การควบคุมอุปกรณ์

อุปกรณ์ควบคุม
อุปกรณ์ควบคุม

ไฟล์วิธีใช้ picaxe มีคำอธิบายที่ดีเกี่ยวกับวิธีควบคุมมอเตอร์และไฟ นอกจากนี้ ฉันพบว่ามีวงจรบางวงจรที่ฉันใช้ซ้ำแล้วซ้ำอีก อย่างแรกคือวงจรทรานซิสเตอร์อย่างง่าย ชิป picaxe สามารถเปิดได้สูงสุด 20mA ต่อพิน ซึ่งดีสำหรับการเปิด LED แต่ไม่มากอย่างอื่น ทรานซิสเตอร์ 547 เพิ่มกระแสเป็น 100mA ซึ่งดีสำหรับหลอดไฟขนาดเล็กวงจรที่สองแสดงมอสเฟต Mosfets แทบไม่ต้องการกระแสในการขับเคลื่อน - มีเพียงโวลต์เท่านั้นจึงสามารถควบคุมได้โดยตรงด้วย picaxe มีมอสเฟตทุกประเภท แต่ความชอบของฉันคือ BUK555 60B https://www.ortodoxism.ro/datasheets/philips/BUK555-60A.pdf มันสามารถขับเคลื่อนโดยตรงจาก 5V (ต่างจากบางอย่างที่ต้องการ 10V) แต่ ข้อได้เปรียบหลักคือเมื่อเปิดเครื่องจะมีความต้านทานต่ำมาก - 0.045 โอห์ม ซึ่งไม่มากไปกว่าความต้านทานของสายไฟที่จะเชื่อมต่อ ซึ่งหมายความว่าจะไม่ร้อนเมื่อขับของที่มีปริมาณมาก ซึ่งช่วยประหยัดพลังงานและยังช่วยประหยัดค่าฮีทซิงค์อีกด้วย ตัวอย่างการขับรถบรรทุก 5 แอมป์เหมือนไฟหน้ารถ วัตต์=กระแสกำลังสอง x ความต้านทาน ดังนั้น W=5*5*0.045=1.12 วัตต์ ซึ่งต้องการเพียงฮีทซิงค์เช่นอลูมิเนียมบางสี่เหลี่ยมขนาด 1 นิ้ว วงจรที่สามแสดงรีเลย์ มีหลายพารามิเตอร์สำหรับรีเลย์ทั้งหมด - แรงดันคอยล์ ความต้านทานของคอยล์ แรงดันโหลดและกระแส ตัวอย่างเช่น รีเลย์อาจมีคอยล์ 12V ที่มีกระแสคอยล์ 30mA ความต้านทานของคอยล์ 400 โอห์ม และอาจขับได้สูงถึง 240V ที่ 1 แอมป์ กระแสของคอยล์เป็นโวลต์และแอมป์มากกว่าที่ picaxe สามารถจ่ายได้ ดังนั้นเราจึงใช้วงจรทรานซิสเตอร์เพื่อสลับคอยล์ มีไดโอดรวมอยู่ด้วย - ซึ่งจะยับยั้ง EMF ด้านหลังเมื่อรีเลย์ปิด Back EMF คือสิ่งที่สร้างประกายไฟให้กับหัวเทียน คุณจึงไม่ต้องการให้มีไฟฟ้าแรงสูงเหล่านี้ในวงจร หน้าสัมผัสจะมีกระแสและโวลต์สูงสุด - กระแสอาจเป็นไม่กี่แอมป์และโวลต์มักเป็น 240V ดังนั้นสวิตช์ 12V หรือ 24V จะอยู่ในช่วงที่ดี หากคุณไม่มีประสบการณ์กับอุปกรณ์อิเล็กทรอนิกส์ อย่าเล่นกับแรงดันไฟหลัก นอกจากนี้ยังมีรีเลย์ขนาดเล็กที่มีแรงดันคอยล์ 5V หรือ 6V สำหรับรีเลย์เหล่านี้ คุณอาจไม่ต้องการแหล่งจ่ายไฟ 12V แยกต่างหาก แต่เพียงแค่ดูความต้านทานของคอยล์ เนื่องจากหลายตัวมีกระแสดึงมากกว่า 100mA หากเป็นเช่นนั้น และคุณกำลังใช้ตัวควบคุม 78L05 100mA 5V คุณอาจต้องการเปลี่ยนเป็นตัวควบคุม 7805 ซึ่งสามารถจ่ายได้ถึง 1 แอมป์ รีเลย์มีประโยชน์อย่างยิ่งในการสลับไฟฟ้ากระแสสลับ เช่น โซลินอยด์สปริงเกลอร์ในสวน 24VAC ไฟสวน 12VAC และในสภาพแวดล้อมที่มีเสียงรบกวนทางไฟฟ้า เช่น ในรถยนต์ พวกเขายังมีประโยชน์สำหรับการควบคุมโหลดขนาดใหญ่ เช่น picaxe จ่าย 20mA ที่ 5V = 0.1W ควบคุมทรานซิสเตอร์ 12V ที่ 100mA=1.2W ไปยังรีเลย์ 24V 100mA =2.4W ไปยังคอนแทคเตอร์ที่ขับปั๊ม 3600W หากคุณต้องการควบคุมกำลังไฟฟ้าเช่นนั้น ให้ให้ช่างไฟฟ้าต่อกล่องควบคุมและให้สายไฟสองเส้นออกมา (สายคอยล์สำหรับรีเลย์ 12V) ที่คุณควบคุมได้ วิธีนี้ช่างไฟฟ้าสามารถลงชื่อบนกล่องไฟ และคุณสามารถทำอุปกรณ์อิเล็กทรอนิกส์ทั้งหมดโดยไม่ต้องกังวลว่าจะถูกไฟฟ้าช็อต การใช้รีเลย์อีกอย่างหนึ่งคือการควบคุมย้อนกลับสำหรับมอเตอร์ การใช้มอดูเลตความกว้างพัลส์ในมอสเฟตทำให้คุณสามารถควบคุมความเร็วของมอเตอร์กระแสตรงได้ และด้วยรีเลย์กำลังไฟ DPDT คุณสามารถเปลี่ยนทิศทางได้ นี่เป็นวิธีง่ายๆ ในการควบคุมมอเตอร์ขนาดใหญ่ เช่นเดียวกับที่ใช้ใน 'สงครามหุ่นยนต์' กรุณาโพสต์ความคิดเห็นหากคุณต้องการความช่วยเหลือในการสร้างบางสิ่งบางอย่าง

แนะนำ: