一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何將1個(gè)或多個(gè)Arduino與樹莓派結(jié)合使用

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-19 11:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:RaspberryPi電路

如何將1個(gè)或多個(gè)Arduino與樹莓派結(jié)合使用

您將需要一種將RaspberryPi線路連接到面包板的方法。您可以使用公/母跳線,但是本頁(yè)上列出的Adafruit的Pi補(bǔ)鞋匠將使其變得更容易:http://www.adafruit.com/search?q=cobbler

對(duì)于您還將需要的RaspberryP電路:

RaspberryPi

面包板

跳線

2-LED,我用了一個(gè)紅色和綠色。

2-330-560歐姆電阻,用于LED。

1-按鈕開關(guān)

1-10K電阻,下拉電阻用于開關(guān)。

使用這些部件復(fù)制上圖中的電路。

除了http://www.adafruit上Adafruit的電阻器外,您還可以獲取所需的一切。 .com/

或在Sparkfun上https://www.sparkfun.com/

Sparkfun還提供了一個(gè)不錯(cuò)的電阻器組合,其中包括您需要的每個(gè)電阻值中的25個(gè),您可以在這里https://www.sparkfun.com/products/10969。

第2步:Arduino電路

第一個(gè)Arduino使用了從RaspberryPi調(diào)用的pinMode(),digitalRead(),digitalWrite(),analogRead()和pwmWrite()函數(shù)。這是我知道將最簡(jiǎn)單的方法添加到RaspberryPi的模數(shù)轉(zhuǎn)換器。請(qǐng)注意,connectionPi使用pwmWrite而不是AnalogWrite,它更準(zhǔn)確。

第二個(gè)Arduino只是在RaspberryPi的控制下,閃爍了13針上的內(nèi)置LED。這只是表明它確實(shí)可以控制多個(gè)Arduino。它還顯示了connectionPi的多線程功能的很好但簡(jiǎn)單的使用。

如果只有一個(gè)Arduino,您仍然可以嘗試該程序,第5步是使用一個(gè)arduino的程序。

我在原型屏蔽板上構(gòu)建了Arduino電路,但我展示了

對(duì)于Arduino電路,您將需要:

2-Arduinos

2-連接到的USB電纜RaspberryPi

面包板

跳線

2-LED,我使用了一個(gè)紅色和一個(gè)綠色。

2-330-560歐姆電阻,用于LED。

1-按鈕開關(guān)

1-電阻傳感器

2-10K電阻,開關(guān)和傳感器的下拉電阻。

使用這些部件復(fù)制上圖中的電路。

我在電阻傳感器中使用了力敏電阻,但是光電管或彎曲傳感器也能正常工作。您也可以使用電位計(jì)。要為電位器接線,請(qǐng)忘掉10K電阻,將中間引線連接到該引腳,一端引線連接到正極軌,另一端接地。

步驟3:代碼

為您的RaspberryPi下載此程序。

使用以下命令對(duì)其進(jìn)行編譯:

gcc -o DRCtest DRCtest.c -lwiringPi -lpthread

并使用以下命令運(yùn)行它:

sudo 。/DRCtest

/************************************************************************

* DRCtest.c - Test program for Drogon Remote Control. (DRC)

*

* On the first Arduino:

* LEDs are connected to pins nine and eleven, with 560 Ohm current limiting resistors.

* A push button switch is connected to pin five, with a 10K pull-down resistor.

* A resistive sensor is connected to analog pin zero, with a 10K pull-down resistor.

* The only connection to the RaspberryPi is the USB cable.

* The program in the RaspberryPi is controling the Arduino.

* The DRC.ino program must be installed and running.

*

* Nothing is connected to the second Arduino.

*

* On the RaspberryPi:

* LEDs are connected to pins nine and eleven, with 560 Ohm current limiting resistors.

* A push button switch is connected to pin five, with a 10K pull-down resistor.

* The pin numbers for the RaspberryPi use the wiringPi pin numbering scheme.

*

* The loop() function does a digitalRead of the push button on the Arduino

* and digitalWrites the value to the both red LEDs

* Next it performs an analogRead of the force sensitive resistor, divides

* the value by four, and pwmWrites the value to both green LEDs.

* Then is does a digitalRead of the push button on the RaspberryPi

* and digitalWrites the value to the both red LEDs

*

************************************************************************/#include

#include

#include

#define BASE 100

#define BASE2 200/*****************************************************************************

* The second thread blinks the built in LED on pin 13 of the Second Arduino.

* The code here runs concurrently with the main program in an infinite loop.

*****************************************************************************/

PI_THREAD(arduino2)

{

for(;;)

{

digitalWrite(BASE2+13, HIGH); // Turn pin 13 on.

delay(500);

digitalWrite(BASE2+13, LOW); // Turn pin 13 off.

delay(500);

}

}/**************************************************************************

* setup() function

**************************************************************************/

void setup(void)

{

wiringPiSetup();

drcSetupSerial(BASE, 20, “/dev/ttyACM0”, 115200);

drcSetupSerial(BASE2, 20, “/dev/ttyACM1”, 115200);

int x = piThreadCreate(arduino2); // Start second thread.

if (x != 0) printf(“It didn‘t start. ”);

// Pins on Arduino:

pinMode (BASE+11, PWM_OUTPUT); // Reset pin to maximum value

pwmWrite(BASE+11, 255); // after PWM write.

pinMode (BASE+5, INPUT); // Pin 5 used for digitalRead.

pinMode (BASE+9, PWM_OUTPUT); // Pin 9 used for pwmWrite.

// Pin A0 is used for analogRead.

// Pins on second Arduino:

pinMode (BASE2+13, OUTPUT); // Pin 13 used for digitalWrite.

// Pins on RaspberryPi:

pinMode(0, OUTPUT); // Pin 0 used for digitalWrite.

pinMode(5, INPUT); // Pin 5 used for digitalRead.

pinMode(1, PWM_OUTPUT); // Pin 1 used for pwmWrite.

}/**************************************************************************

* loop() function

**************************************************************************/

void loop(void)

{

digitalWrite(BASE+11, digitalRead(BASE+5)); // If Arduino button is pressed

digitalWrite(0, digitalRead(BASE+5)); // turn on both red LEDs.

pwmWrite(BASE+9, (analogRead(BASE)/4)); // Varies the brightness of both green

pwmWrite(1, (analogRead(BASE)/4)); // LEDs according to pressure applied

// to the force sensitive resistor.

digitalWrite(BASE+11, digitalRead(5)); // If RaspberryPi button is pressed

digitalWrite(0, digitalRead(5)); // turn on both red LEDs.

}/**************************************************************************

* main() function

**************************************************************************/

int main (void)

{

setup();

for(;;)

{

loop();

}

return 0 ;

}

第4步:將它們放在一起

將第6步中的Arduino草圖上傳到您將要使用的Arduino。

關(guān)閉RaspberryPi并連接RaspberryPi電路。插入U(xiǎn)SB端口之前必須先關(guān)閉RaspberryPi,否則RaspberryPi不會(huì)將它們注冊(cè)為正確的設(shè)備。第一個(gè)Arduino是/dev/ttyACM0,第二個(gè)是/dev/ttyACM1。如果您沒有將Arduinos插入正確的USB端口,則會(huì)將命令發(fā)送到錯(cuò)誤的Arduino。在B +型上,第一個(gè)Arduino在與GPIO接頭相同的頂部USB端口中。第二個(gè)Arduino在下面的底部USB端口中。如果您使用的是USB集線器,則必須在各個(gè)端口之間切換以查看其工作原理

打開RaspberryPi并使用以下命令運(yùn)行該程序:

sudo 。/DRCtest

按下RaspberryPi電路上的按鈕應(yīng)點(diǎn)亮紅色LED。 RaspberryPi電路和第一個(gè)Arduino。

按下第一個(gè)Arduino上的按鈕也會(huì)點(diǎn)亮兩個(gè)紅色LED。

改變電阻傳感器會(huì)導(dǎo)致綠色LED的亮度發(fā)生變化。

在第二個(gè)Arduino上,板載引腳13指示器LED應(yīng)當(dāng)閃爍并熄滅。

如果第一次不起作用,請(qǐng)關(guān)閉所有設(shè)備并反轉(zhuǎn)USB端口。

步驟5:使用一個(gè)Arduino運(yùn)行程序

如果沒有第二個(gè)Arduino,您仍然可以嘗試演示。

下載此版本的程序并使用以下命令進(jìn)行編譯:

gcc- o DRCtest-1 DRCtest-1.c -lwiringPi

并使用以下命令運(yùn)行程序:

sudo 。/DRCtest-1

僅使用一個(gè)Arduino您可以在關(guān)閉電源的情況下將Arduino插入任何USB端口,然后它將正常工作。

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6498

    瀏覽量

    192181
  • 樹莓派
    +關(guān)注

    關(guān)注

    121

    文章

    2009

    瀏覽量

    107472
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    7個(gè)令人驚嘆的樹莓應(yīng)用,讓你大開眼界!

    無所不在。得益于其強(qiáng)大的硬件和多功能性,樹莓被應(yīng)用于各個(gè)行業(yè)。繼續(xù)閱讀,了解這款單板計(jì)算機(jī)如何應(yīng)對(duì)全球挑戰(zhàn),來讓我們驚嘆。1.學(xué)生樹莓
    的頭像 發(fā)表于 07-16 16:51 ?152次閱讀
    7<b class='flag-5'>個(gè)</b>令人驚嘆的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>應(yīng)用,讓你大開眼界!

    如何將你手中的樹莓變身為強(qiáng)大路由器?

    樹莓用作路由器,是一種經(jīng)濟(jì)高效且可定制的解決方案,能滿足從基礎(chǔ)家庭網(wǎng)絡(luò)到專業(yè)設(shè)置的各種網(wǎng)絡(luò)需求。樹莓是一款小型單板計(jì)算機(jī),配備必要的硬
    的頭像 發(fā)表于 07-07 16:30 ?1892次閱讀
    <b class='flag-5'>如何將</b>你手中的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>變身為強(qiáng)大路由器?

    如何在樹莓派上安裝并運(yùn)行 Arduino 集成開發(fā)環(huán)境!

    ,我們介紹如何在樹莓派上安裝并運(yùn)行ArduinoIDE。所需物品要在樹莓派上運(yùn)行ArduinoIDE,你需要以下組件:配備適當(dāng)電源的樹莓
    的頭像 發(fā)表于 07-01 17:41 ?1172次閱讀
    如何在<b class='flag-5'>樹莓</b>派上安裝并運(yùn)行 <b class='flag-5'>Arduino</b> 集成開發(fā)環(huán)境!

    樹莓小技巧:無需鍵盤顯示器,如何通過WiFi設(shè)置樹莓?

    樹莓是一款小巧便攜的USB供電計(jì)算機(jī),可以隱藏起來用于小型項(xiàng)目,如網(wǎng)絡(luò)服務(wù)器家庭自動(dòng)化。通常,設(shè)置樹莓需要鍵盤和顯示器來編輯和查看
    的頭像 發(fā)表于 06-26 15:41 ?312次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>小技巧:無需鍵盤<b class='flag-5'>或</b>顯示器,如何通過WiFi設(shè)置<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>?

    樹莓分類器:用樹莓識(shí)別不同型號(hào)的樹莓

    在本教程系列的第一部分中,您將學(xué)習(xí)如何使用樹莓AI攝像頭來檢測(cè)不同的樹莓型號(hào)。本系列由DavidPlowman創(chuàng)建,他是樹莓
    的頭像 發(fā)表于 06-13 16:39 ?420次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>分類器:用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>識(shí)別不同型號(hào)的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>!

    樹莓“揪出”家里的耗電怪獸!

    在本應(yīng)用中,我們將使用樹莓設(shè)置一個(gè)CE電流監(jiān)測(cè)器,并通過網(wǎng)頁(yè)界面顯示電路的電流讀數(shù)。本項(xiàng)目使用的組件硬件組件樹莓2ModelBx112通
    的頭像 發(fā)表于 06-04 15:33 ?718次閱讀
    用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>“揪出”家里的耗電怪獸!

    樹莓“吉尼斯世界記錄”:樹莓的性能發(fā)揮到極致的項(xiàng)目!

    完成的許多酷炫項(xiàng)目。這就引出了一個(gè)問題——你該如何將樹莓的性能推向極限呢?歷經(jīng)13年的項(xiàng)目實(shí)踐和樹莓
    的頭像 發(fā)表于 05-22 16:53 ?646次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>“吉尼斯世界記錄”:<b class='flag-5'>將</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的性能發(fā)揮到極致的項(xiàng)目!

    能夠精準(zhǔn)定位的樹莓機(jī)器人!

    SenseHATx1導(dǎo)航需要用到SenseHAT擴(kuò)展板。樹莓3ModelBx1此項(xiàng)目中,我使用了三個(gè)
    的頭像 發(fā)表于 05-17 08:33 ?418次閱讀
    能夠精準(zhǔn)定位的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>機(jī)器人!

    樹莓 Zero 打造的智能漫游車!

    使用PXFMini和樹莓Zero打造您自己的自主漫游車。本項(xiàng)目所用組件硬件組件ErleRoboticsPXFmini×1樹莓Zero×
    的頭像 發(fā)表于 05-13 16:39 ?442次閱讀
    用 <b class='flag-5'>樹莓</b><b class='flag-5'>派</b> Zero 打造的智能漫游車!

    GPIO在樹莓中的應(yīng)用

    直接控制和讀取外部硬件設(shè)備的狀態(tài)。 1. GPIO簡(jiǎn)介 GPIO是樹莓派上用于與外部世界交互的一組引腳。這些引腳可以被配置為輸入輸出模式,從而實(shí)現(xiàn)對(duì)外部設(shè)備的控制和數(shù)據(jù)讀取。樹莓
    的頭像 發(fā)表于 01-09 09:41 ?842次閱讀

    STM32、Arduino、樹莓開發(fā)方式差異大嗎

    最近看到有網(wǎng)友問:STM32、Arduino樹莓開發(fā)方式差異大嗎? ? 要說相同點(diǎn),它們之間也有很多相同點(diǎn)。但你要說他們之間開發(fā)的差異,其實(shí)也蠻大的。 ? STM32、Arduino
    的頭像 發(fā)表于 01-02 11:33 ?1363次閱讀

    樹莓傳感器使用方法 樹莓 Raspberry Pi 4優(yōu)缺點(diǎn)

    開發(fā)和物聯(lián)網(wǎng)應(yīng)用。以下是一些基本的樹莓傳感器使用方法: 1. 連接傳感器 GPIO引腳 :樹莓的GPIO(通用輸入/輸出)引腳允許直接連
    的頭像 發(fā)表于 12-06 10:35 ?2140次閱讀

    樹莓Arduino的區(qū)別是什么

    在當(dāng)今的科技世界中,樹莓(Raspberry Pi)和Arduino是兩個(gè)經(jīng)常被提及的名字。它們都是開源硬件平臺(tái),但它們的目標(biāo)、功能和用途卻大相徑庭。
    的頭像 發(fā)表于 11-11 11:14 ?2347次閱讀

    什么是樹莓?樹莓是什么架構(gòu)的

    什么是樹莓 樹莓(Raspberry Pi,簡(jiǎn)寫為RPi,別名為RasPi/RPI)是由英國(guó)“Raspberry Pi 慈善基金會(huì)”開發(fā)的一款為學(xué)習(xí)計(jì)算機(jī)編程教育而設(shè)計(jì)的微型電腦。
    的頭像 發(fā)表于 10-22 17:33 ?5848次閱讀

    樹莓的功能用途是什么

    樹莓(Raspberry Pi)是一款由英國(guó)樹莓基金會(huì)研發(fā)的信用卡大小的單板計(jì)算機(jī),自2012年推出以來,已經(jīng)發(fā)展出多個(gè)型號(hào)和版本。
    的頭像 發(fā)表于 08-30 18:01 ?4619次閱讀