Arduino कैसे संलग्न करें?


43

Arduino वेबसाइट रकम इसे के रूप में

Arduino एक ओपन-सोर्स इलेक्ट्रॉनिक्स प्रोटोटाइपिंग प्लेटफ़ॉर्म है जो लचीले, आसानी से उपयोग होने वाले हार्डवेयर और सॉफ्टवेयर पर आधारित है। यह कलाकारों, डिजाइनरों, शौकीनों और इंटरैक्टिव वस्तुओं या वातावरण बनाने में रुचि रखने वाले किसी भी व्यक्ति के लिए अभिप्रेत है।

यह सर्वो को नियंत्रित करने और इसके कई वैकल्पिक ढालों द्वारा प्रदान की गई अन्य कनेक्टिविटी प्रदान करने के लिए एक अच्छा इंटरफ़ेस हो सकता है।

मैं एक रास्पबेरी पाई से कैसे कनेक्ट करूं? मैं संचार कैसे सेटअप करूं?

जवाबों:


38

Arduinos आमतौर पर USB सीरियल डिवाइस के रूप में दिखाई देते हैं। वर्तमान बोर्ड मुख्य माइक्रोप्रोसेसर में निर्मित USB सीरियल ड्राइवर का उपयोग करते हैं, लेकिन पुराने Arduinos (और क्लोन) ने अलग-अलग तृतीय-पक्ष USB-सीरियल चिप्स का उपयोग किया है।

बस Serial.printArduino से रास्पबेरी पाई पर डेटा प्राप्त करने के लिए , मैं एक बुनियादी टर्मिनल के रूप में GNU स्क्रीन प्रोग्राम का उपयोग करता हूं : screen [serial-port] [baud-rate](उदाहरण के लिए screen /dev/ttyACM0 9600)।

मैंने तीन अलग-अलग Arduinos का परीक्षण किया, और एक के बजाय अलग क्लोन। नए वेरिएंट सभी /dev/ttyACM0पोर्ट और पुराने के रूप में दिखाई दिए /dev/ttyUSB0। यह मुझे रास्पबियन के तहत मिला:

रास्पबेरी पाई एक Arduino को चलाने के लिए पर्याप्त शक्ति प्रदान नहीं कर सकती है, इसलिए आपको बाहरी शक्ति की आवश्यकता हो सकती है। पूर्णता के लिए, मैंने एक प्रोलिफिक PL2303 का भी परीक्षण किया , भले ही यह किसी भी Arduino पर नहीं है जिसे मैं जानता हूं। यह काफी खुशी से दिखाई दिया /dev/ttyUSB0

सेंसर के साथ अधिक जटिल संचार के लिए, आप फर्मेटा पर विचार कर सकते हैं , "एक मेजबान पर सॉफ्टवेयर से माइक्रोकंट्रोलर के साथ संचार करने के लिए एक सामान्य प्रोटोकॉल"। रास्पबेरी पाई की तरफ चलने के लिए इसमें Arduino और Python पुस्तकालयों के लिए कार्यान्वयन है।

यहाँ एक छोटा सा उदाहरण दिया गया है, जो एक LM35 पढ़ने और एक एलईडी की चमक को बदलने के लिए pyFirmata का उपयोग कर रहा है:

#!/usr/bin/python
# -*- coding: utf-8 -*-

# simple test of pyfirmata and Arduino; read from an LM35 on A0,
#                                       brighten an LED on D3 using PWM
# scruss, 2012-08-14 - tested on Arduino Uno & Raspberry Pi (Raspbian)

import pyfirmata

# Create a new board, specifying serial port
board = pyfirmata.Arduino('/dev/ttyACM0')

# start an iterator thread so that serial buffer doesn't overflow
it = pyfirmata.util.Iterator(board)
it.start()

# set up pins
pin0=board.get_pin('a:0:i')             # A0 Input      (LM35)
pin3=board.get_pin('d:3:p')             # D3 PWM Output (LED)

# IMPORTANT! discard first reads until A0 gets something valid
while pin0.read() is None:
    pass

for i in range(10):
    pin3.write(i/10.0)                  # set D3 to 0, 10%, 20%, ... brightness
    print "PWM: %d %% Temperature %.1f °C" % (i * 10, pin0.read() * 5 * 100)
    board.pass_time(1)                  # pause 1 second

pin3.write(0)                           # turn LED back off
board.exit()

PyFirmata का उपयोग करते समय कुछ चेतावनी हैं:

  • एनालॉग पढ़ता है और पीडब्लूएम लिखता है एक 0 .. 1 श्रेणी के लिए सामान्यीकृत होता है, न कि मानक Arduino 0 .. 255 और 0 से 1023।
  • धारावाहिक बफ़र से बहने वाली पुरानी रीडिंग को रोकने के लिए आपको वास्तव में एक अलग चलना शुरू करने की आवश्यकता है
  • चूंकि Arduino को अतुल्यकालिक रूप से पढ़ा जाता है, इसलिए सुनिश्चित करें कि पोर्ट से पढ़ने से पहले pyFirmata कनेक्शन पूरी तरह से आरंभिक है। अन्यथा, Noneमूल्य सुनिश्चित होते हैं।

1
मैंने यह भी पुष्टि की है कि आप रास्पबेरी पाई पर प्रसंस्करण चला सकते हैं । यह बहुत धीमा है, लेकिन मैंने इसे USB लिंक पर एक Arduino को नियंत्रित करने के लिए प्राप्त करने का प्रबंधन किया: प्रसंस्करण का उपयोग करके रास्पबेरी पाई से एक Arduino को नियंत्रित करना । मैं देखूंगा कि क्या मैं इसे पायथन / टिंकर के लिए पोर्ट कर सकता हूं ...
3

इस उत्तर के लिए धन्यवाद यह बहुत उपयोगी था। मैं / देव / ttyACM0 से पढ़ने के लिए अजगर धारावाहिक का उपयोग कर रहा हूँ और इसे बहुत असंगत पाया। मैंने मान लिया कि यह मेरे arduino के लिए शक्ति की कमी है, लेकिन मैंने इसे एक बाहरी बिजली की आपूर्ति के लिए झुका दिया है और अभी भी समस्या है। कभी-कभी डेटा विकृत होता है, कभी-कभी एक अपवाद को फेंक दिया जाता है क्योंकि / dev / ttyACM0 नहीं मिला है (हालांकि बाद के रन मिल जाएंगे)। क्या आपके पास भी ऐसे ही मुद्दे थे?
एंडी स्मिथ

नहीं, यह मेरे अनुभव से मेल नहीं खाता।
स्क्रू

प्रतिक्रिया के लिए धन्यवाद - दिलचस्प, कुछ ऐसा होना चाहिए जो मैं गलत कर रहा हूं!
एंडी स्मिथ

हो सकता है कि SE पर एक गैर-पाई विशिष्ट प्रश्न पूछें, या सीधे Arduino फोरम पर पूछें। सीरियल
कॉमे

13

यदि यह स्पष्ट नहीं है, तो रास्पियन व्हीजी के साथ , आप Arduino IDE चला सकते हैं और रास्पबेरी पाई के USB पोर्ट से कनेक्ट होने पर Arduino पर रेखाचित्र अपलोड कर सकते हैं। रास्पियन पर स्थापित करने के लिए, बस शेल में टाइप करें (उर्फ कमांड लाइन):

sudo apt-get install arduino

यह सभी आवश्यक पैकेजों को डाउनलोड और इंस्टॉल करेगा। मैं यहाँ रास्पियन में Arduino IDE की कुछ तस्वीरें है:

http://www.element14.com/community/groups/raspberry-pi/blog/2012/07/03/review-of-raspberry-pi-images

(जैसा कि अन्य लोगों ने ऊपर वर्णित किया है, रास्पबेरी पाई GPIO हेडर पर सीरियल पोर्ट (UART) पिन के माध्यम से Arduino भी प्रोग्राम कर सकता है। इस मामले में आपको यूएसबी पोर्ट "बेकार" नहीं करना होगा, लेकिन इसके लिए अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता होगी। )।

चीयर्स, ड्रू


मैंने सरल लुप्त होती स्केच के साथ RGB एलईडी के साथ एक Arduino Uno का परीक्षण किया और Arduino Uno को केवल रास्पबेरी पाई के USB पोर्ट से संचालित किया गया। मुझे कोई समस्या नहीं थी, लेकिन, निश्चित रूप से, वाईएमएमवी।
पीडीपी

8

एक usb पोर्ट का उपयोग करके या GPIO पिन का उपयोग करके arduino में rpi कनेक्ट करने का विकल्प चुन सकते हैं। एक बोर्डिंग के बीच संचार करने के लिए Wiringpi का उपयोग कर सकता है ।

वर्तमान में एक पुल भी विकसित किया जा रहा है जिसे पोंटे कहा जाता है ।

एक बुनियादी हैलो वर्ल्ड यहां पाया जा सकता है


7

ला मोड

हैक ए डे द्वारा रास्पबेरी पाई में एक Arduino डालने का उचित तरीका के रूप में बिल किया गया , a la मोड एक स्टेबलेबल Arduino क्लोन है जिसे वायोल डॉट कॉम OSHW सहयोगी से अनूल महीधरिया, जस्टिन शॉ और केविन ओसबोर्न द्वारा डिज़ाइन किया गया है । हैक ए डे ने इसे इस प्रकार बताया

बल्ले से सही, अलामोड सीधे रास्पबेरी पाई के GPIO पिन में प्लग करता है। वहां से, Arduino के ATMega के साथ संचार सक्षम किया गया है, जिससे आप एक Arduino के साथ डेटा भेज और प्राप्त कर सकते हैं। वहाँ एक वास्तविक समय घड़ी, इमदादी हेडर, बोर्ड को बिजली देने के लिए बहुत सारे तरीके हैं, और यहां तक ​​कि [a] GPS मॉड्यूल के लिए एक ब्रेकआउट है।

AlaMode के साथ बहुत सारे अनावश्यक क्रॉफ्ट किए जाते हैं; कोई USB पोर्ट नहीं है, लेकिन इसे सीधे रास्पबेरी पाई के GPIO पिन पर प्रोग्राम किया जा सकता है। बहुत साफ है, और हम अपने [रास्पबेरी पाई] के लिए एक हड़पने के लिए इंतजार नहीं कर सकते।

केविन अपने ब्लॉग पर थोड़ा और विवरण देते हैं :

यहाँ कुछ अतिरिक्त उपहार सहित विशेषताएं हैं:

  • लचीली शक्ति। पाई से सीधे संचालित किया जा सकता है, बैटरी या दीवार-मस्सा, या यूएसबी पावर के साथ स्टैंडअलोन। यह महत्वपूर्ण है अगर आपकी ढाल पाई प्रदान करने की तुलना में अधिक शक्ति लेती है या यदि आप इसे स्टैंडअलोन ऑपरेशन के लिए अनडॉक करना चाहते हैं। GPIO पिन, या एक FTDI USB- सीरियल एडाप्टर या ISP पर Pi के UART के माध्यम से प्रोग्राम किया जा सकता है।
  • Fastrax UP501 जीपीएस कनेक्ट करने के लिए हैडर। DS3234 रियल टाइम क्लॉक। Pi के पास अपनी बैटरी समर्थित RTC नहीं है। आप धारावाहिक या I2C के माध्यम से पाई को समय रिपोर्ट करने के लिए अलामोड में एक कार्यक्रम निर्धारित कर सकते हैं
  • माइक्रो-एसडी कार्ड स्लॉट। अपने Arduino अनुप्रयोगों के लिए datalogging, और बड़ी-मेमोरी के लिए उपयोगी है
  • पीडब्लूएम हेडर्स की पंक्ति एक पॉवरेबल और ग्राउंड रेल के साथ पीडब्लूएम पिन से जुड़ी होती है

सीमित बीटा

बोर्ड वर्तमान में सीमित बीटा में है, लेकिन यह एक सुविचारित क्लोन के रूप में उल्लिखित किया जाना चाहिए, जिसकी घोषणा पिछले रूप में एक समूह ने की है ।

संदर्भ

  1. हैक एक दिन की ब्लॉग पोस्ट
  2. केविन ओसबोर्न की ब्लॉग पोस्ट
  3. Wyolum.com

4

यदि आप एक सामान्य उद्देश्य हार्डवेयर इंटरफेसिंग प्लेटफ़ॉर्म चाहते हैं, तो आप गर्ट बोर्ड पर विचार कर सकते हैं जो अब अरुडिनो आधारित है। एक लाभ यह है कि आरपीआई के साथ बातचीत पर व्यापक प्रलेखन है। Element14 से 8/8/12 तक प्री-ऑर्डर के लिए उपलब्ध है।


0

एक RaspberryPi HAT है जो Arduino की तरह व्यवहार करता है और इसे किसी भी ब्राउज़र से अपने वेब UI के माध्यम से प्रोग्राम किया जा सकता है। CoPiino नामक परियोजना । यह पूरी तरह से सॉफ्टवेयर अप और रनिंग के साथ आता है। बस ब्राउज़र UI में Arduino स्केच दर्ज करें और "संकलन करें और चलाएं" - इसे दबाएं।


1
यह देखते हुए कि आपने कम से कम दो उत्तर पोस्ट किए हैं जो CoPino को बढ़ावा दे रहे हैं मुझे संदेह है कि आप इस परियोजना से जुड़े हैं। आपके उत्तर में किसी भी कनेक्शन पर ध्यान दिया जाना चाहिए,
स्टीव रोबिलार्ड

हां, यह बिल्कुल सही है और मेरी टिप्पणी इस विषय को पूरी तरह से कवर करती है। CoPiino बोर्ड पहले से ही उल्लेख किए गए लॉ-मोड बोर्ड के समान है। जहां CoPiino कुछ अच्छी अतिरिक्त सुविधाओं के साथ आता है। जहां पाई से Arduino प्रोग्रामिंग आसानी से कवर किया जाता है - जो प्रारंभिक प्रश्न था।
tswaehn

आप पर चार साल अभी भी अपने संबद्धता में संपादित नहीं हुए हैं। कृपया ऐसा करो।
जॉन हार्पर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.