ฉันจะควบคุมมอเตอร์เลโก้ได้อย่างไร?


20

ฉันต้องการหาวิธีทำให้ Raspberry Pi ควบคุมมอเตอร์เลโก้บางตัวและเป็นโบนัสที่ฉันต้องการใช้เซ็นเซอร์ออพติคอลตั้งแต่หนึ่งตัวขึ้นไป

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

มีแพลตฟอร์มทางเลือกอื่นที่จะอนุญาตให้ฉันควบคุมและรับข้อมูลจากการสร้างเลโก้หรือไม่?

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


เฮ้raspberrypi.stackexchange.com/users/390/salim-fadhleyและraspberrypi.stackexchange.com/users/286/salim-fadhley เป็นทั้งบัญชีของคุณหรือไม่ แก้ไขโปรไฟล์ของคุณทั้งสอง (ถ้าเป็นไปได้) เพื่อขอรวม ฉันได้ส่ง Ping ไปยังสมาชิกในชุมชนเพื่อขอความช่วยเหลือ
Manishearth

ฉันต้องการทำสิ่งนี้กับมอเตอร์ Lego Mindstorms รุ่นเก่าที่ฉันมีซึ่งเป็นมอเตอร์เกียร์ dc แบบธรรมดา ใส่ + 5v ในด้านหนึ่งพวกเขาหันไปทางหนึ่งใส่ + 5v ที่อีกด้านหนึ่งพวกเขาหันไปทางอื่น ปัจจุบันสูงเกินไปสำหรับ RPi ที่จะขับโดยตรงดังนั้นฉันยังคงต้องมีวงจรอินเตอร์เฟส

คำตอบ:


13

เซ็นเซอร์ Lego Mindstorms มาตรฐานเป็นแบบอะนาล็อก (เช่นแรงดันไฟฟ้าระหว่าง 0-5? V) หรือดิจิตอล (I²Cหรือ RS-485) ( ต้นฉบับ )

เซ็นเซอร์อะนาล็อก:

ฉันไม่คิดว่า Raspberry Pi มีพินขาดใน GPIO สำหรับ ADC (อะนาล็อกเป็นตัวแปลงสัญญาณดิจิตอล) ดังนั้นเราจึงไม่สามารถเชื่อมต่อกับเซ็นเซอร์แบบอะนาล็อก (โดยไม่มีไมโครคอนโทรลเลอร์พิเศษ)

เซ็นเซอร์ดิจิตอล:

Raspberry Pi มีสองพินใน GPIO สำหรับI²Cซึ่งหมายความว่าหากคุณเชื่อมต่อ GND, + V, SDA และ SCL กับเซ็นเซอร์ของคุณคุณควรจะใช้ห้องสมุดI²Cเพื่อพูดคุยกับพวกเขา มีไดรเวอร์อยู่ที่นี่ - ถ้าคุณทำตามคำแนะนำคุณควรจะสามารถส่งและรับสัญญาณI²Cได้อย่างง่ายดายเช่นนี้ (พูดคุยกับ TI TMP102):

raspberrypi bootc # echo tmp102 0x48 > /sys/class/i2c-adapter/i2c-0/new_device
raspberrypi bootc # sensors
tmp102-i2c-0-48
Adapter: bcm2708_i2c.0
temp1:        +21.6°C  (high = +160.0°C, hyst = +150.0°C)

ตัวอย่าง:

มีบทความเกี่ยวกับวิธีเชื่อมต่อเซ็นเซอร์และมอเตอร์ในหน้านี้เช่นการเชื่อมต่อตัวควบคุมอิฐ Mindstorm เข้ากับไมโครคอนโทรลเลอร์ภายนอก:

Mindstorm กับไมโครคอนโทรลเลอร์



1

Mindstorms เป็นวิธีการควบคุมเลโก้แบบเดียวเท่านั้นโดยสิ้นเชิง

NXT 2.0 ปัจจุบันมีราคาค่อนข้างแพง แต่คุณสามารถรับRCX kit รุ่นเก่า (นั่นเป็นเพียงตัวอย่าง) สำหรับราคา NXT 2.0 ในราคา 1/3 ของเว็บ

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

หากคุณกำลังจะเปิดตัวผลิตภัณฑ์เลโก้รุ่นเก่าออกจากอีเบย์ฉันขอแนะนำให้คุณลองไปที่brickpicker.comเพื่อดูภาพรวมของตลาด (ฉันค้นพบมันเมื่อหนึ่งหรือสองเดือนก่อนมันเป็นสถานที่ที่ดีในการหาข้อมูลเกี่ยวกับมูลค่าตลาดปัจจุบันของชุด LEGO บนอีเบย์)


2
ขอโทษสำหรับเรื่องนั้น. ฉันควรจะแนะนำให้คุณรวมถึง RPi ในคำตอบของคุณเพราะนี่เป็นเว็บไซต์เกี่ยวกับ RPi และคำถามคือเกี่ยวกับ RPi หากคุณแก้ไขคำถามของฉันฉันสามารถลบ downvote ของฉันได้ อย่างไรก็ตามwww1.cbsd.org/sites/teachers/hs/MHAYDEN/Science%20Fair/…ค้นหาคำว่า "Larsson" ใน PDF นั้นและคุณจะพบบทคัดย่อโครงการของฉันจาก Intel International Science Fair ไม่กี่ปีหลัง มันเป็น Lego Mindstorm ที่เรียนรู้ที่จะชนะที่ Tic Tac Toe
Andrew Larsson

ไม่ต้องกังวลฉันก็ไม่ได้มีทัศนคติที่สมบูรณ์แบบเช่นกัน ฉันรู้ว่าสิ่ง RPi แต่คำตอบไม่จำเป็นต้องเกี่ยวข้องโดยตรง - เรามีคำถามเฉพาะ linux / distro จำนวนมากและฉันแน่ใจว่าคุณสามารถเรียกใช้ RCX กับ Pi ได้
ACarter

@Andrew Wel ฉันได้ลบความคิดเห็นของฉันดังนั้นเราจึงสามารถเริ่มต้นใหม่ได้ นั่นฟังดูน่าสนใจจริงๆ ฉันสร้างสคริปต์หลามที่สามารถเล่น Tic Tac Toe ได้ แต่ทำให้มันเรียนรู้วิธีการเล่นได้ดีฟังดูยอดเยี่ยม
ACarter

ใช้การปรับใช้ / ปรับใช้ให้เหมาะสมกับเครื่อง MENACE ของDonald Michie หุ่นยนต์ถูกควบคุมโดยโปรแกรม C ++ ที่ผลัก / ดึงคำสั่ง / ข้อมูลสำหรับ / จากมอเตอร์ / เซ็นเซอร์ไปยัง / จาก NXT ทำการคำนวณบนคอมพิวเตอร์ แต่ฉันมีรุ่นของโปรแกรมที่ทำงานบน NXT เอง มันจะมีหน่วยความจำไม่เพียงพออย่างรวดเร็ว แต่และอาร์เรย์ไม่ได้รับการสนับสนุนจากเฟิร์มแวร์มาตรฐานดังนั้นฉันจึงต้องแทนที่ด้วยหน่วยความจำที่ถูกแก้ไข ฉันคิดว่าฉันอาจใช้ RPi ของฉันเพื่อสร้างโปรแกรมเวอร์ชันใหม่ มันจะสนุก!
Andrew Larsson

ตั้งแต่ที่ฉันได้รับ NXT ฉันสงสัยว่าคุณจะควบคุมมันได้อย่างไรโดยใช้ภาษาระดับสูงกว่าบนคอมพิวเตอร์ มีสิ่งต่าง ๆ เช่นleJOSและสิ่งของ แต่คุณใช้อะไร
ACarter

1

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.