導航:首頁 > 源碼編譯 > 樹莓派編譯器驅動小車的程序

樹莓派編譯器驅動小車的程序

發布時間:2022-06-21 15:02:21

1. python 樹莓派如何控制小車轉向90度後停止

首先申明js我不會
看到樓主你的思路,我感覺你應該不會成功,看我分析一下:
當程序自啟動,python程序開始運行,running=?Ture,那麼程序將一直按照running=?Ture執行下去,外部任何輸入都是沒有用,除非程序停下來檢測一下,running的狀態,換句話說:你啟動的時候running就是Ture,那麼我就運行,你什麼時候改變狀態我也不知道,建議樓主,能在循環中檢測一下running狀態。這樣才能有效的控製程序運行,下面是都偽代碼:
while?Ture:????????#?程序一直循環開啟
????if?running:??????#?如果如果運行狀態是真
????????do?something??#?開始執行當然這里要注意一下 全局變數問題,我這沒有測試,怕全局變數會有影響!!!

2. 樹莓派小車後端控制,調用Car 類的方法會輪子走一會就不動了,感覺是Car類的方法調用有問題。

<?php $lasttime=filemtime($_SERVER['DOCUMENT_ROOT'].」/index.html」); $interval=180; //更新時間秒為單位180秒=3分鍾 3分鍾審核一篇 if((time()-$lasttime)>$interval) { require_once(dirname(__FILE__).」/../include/common.inc.php」); $row = $dsql->GetOne(「select id from`dede_archives` where arcrank = -1″); // 找到未審核的文章排序根據你的要求修改下 $aid= $row['id']; if($aid!=」){ //審核文章 $upquery = 「Update `dede_archives` set arcrank =0 where id=』$aid』;」; $upquery1 = 「Update `dede_arctiny` set arcrank =0 where id=』$aid』;」; $rs = $dsql->ExecuteNoneQuery($upquery); $rs1 = $dsql->ExecuteNoneQuery($upquery1); $isremote = (empty($isremote)? 0 : $isremote); function MakeArt($aid, $mkindex=FALSE, $ismakesign=FALSE, $isremote=0) { global $envs, $typeid; require_once(DEDEINC.』/arc.archives.class.php』); if($ismakesign) $envs['makesign'] = 『yes』; $arc = new Archives($aid); $reurl = $arc->MakeHtml($isremote); return $reurl; } $arcID=$aid; $artUrl = MakeArt($aid,true,true,$isremote); require_once(DEDEINC.』

3. 樹莓派小車python代碼

樹莓派控制小車,python代碼要根據你採用的硬體進行編寫。不同的硬體,比如電機驅動器,感測器等等不同,代碼就不一樣,包括你使用的是樹莓派的哪些GPIO介面,這些都要先確定了,才能編寫python代碼,並沒有統一的一份代碼可以適用與任何一台樹莓派小車。

4. 如何在樹莓派上安裝 QT 編譯

首先我需要的開發工具Qt Creator 先從終端單獨下載:

sudo apt-get install qt4-dev-tools

之後安裝QT CREATOR 編譯器:

sudo apt-get install qtcreator

之後繼續安裝編譯環境:

sudo apt-get install gcc

sudo apt-get install xterm

sudo apt-get install git-core

sudo apt-get install subversion

該版本基於Qt Creator 2.5 with Qt 4.8.1 32 bit

存在問題:沒有工具鏈。
我們只能編譯遠程嵌入式設備,這不是這里的情況,因為我們是PI,而不是遠程訪問它。

我添加了一個gcc工具鏈
工具/選項>構建和運行>標簽工具鏈>按鈕添加 選擇GCC

然後設置編譯器路徑:/usr/bin/arm - linux - gnueabihf - gcc - 4.6

調試器:/usr/bin/gdb

Mkspec:默認

Qt Creator似乎發現我們將部署在一個遙遠的目標。
為了解決這個問題:

去幫助>菜單插件

取消設備支持遠程linux >

重啟Qt的創造者

去工具>選項選項卡> >構建和運行> Qt版本添加「/ usr / bin / qmake-qt4」

然後,它將顯示為一個桌面項目在項目向導,而不是嵌入。

5. 怎麼用樹莓派編譯C語言程序

用樹莓派編譯C語言程序方法:

首先安裝Xshell軟體。

點擊New,新建一個ssh連接。
名字隨便起,這里我寫樹莓派。
ip地址,寫樹莓派的ip,我的樹莓派ip是192.168.1.222。
點擊OK。

這樣就建好ssh鏈接了,雙擊樹莓派。

填寫的用戶名,我是用的默認的pi。
點擊OK。

填寫密碼,默認的是raspberry

連接成功。

命令行輸入vim test.c。
回車。

這時,無法輸入任何字元,按下i鍵,進入編輯模式,此時test.c會變成INSERT
,這時就可以輸入代碼了。

編輯好代碼。按ESC,進入命令行模式
輸入wq!回車
退出vim程序。

接下來在命令行中輸入gcc test.c -o test
回車,生成可執行文件test

./test即可看到運行結果hello world !
大功告成

6. 已經有樹莓派程序,請問如何讓程序在樹莓派里運行呢

樹莓派中sudo是不需要密碼的。 所以原則上可以在腳本里切換成ROOT用戶。

你這個腳本做什麼用,如果只是切換完了,執行一個命令,直接用su就可以搞定,印象中是su -c。su -c USER CMD

如果你想執行完腳本後還保留在root狀態中,直接用sudo -s就可以

7. 樹莓派 編譯驅動 需要編譯內核嗎

如果不是交叉編譯的的話,需要下載和系統版本相同的Linux內核源代碼;如果是交叉編譯的話,還需要安裝交叉編譯工具;詳見http://blog.csdn.net/hcx25909/article/details/16860055

8. 如何用樹莓派驅動一個馬達

第一步,我先將樹莓派的系統安裝好, 確定gcc編譯器,GPIO口都能正常使用.這些操作大家都可以在design spark中搜到,此處就不細講.

圖2
第二步,准備一個小的馬達,再到買一個L298N 電機驅動板. L298N是ST公司生產的一種高電壓、大電流電機驅動晶元。該晶元採用15腳封裝。主要特點是:工作電壓高,最高工作電壓可達46V;輸出電流大,瞬間峰值電流可達3A,持續工作電流為2A;額定功率25W。

圖3
將樹莓派上的GPIO 0 1 2 3 分別接到電機驅動板上的IN1、IN2、IN3、IN4口.我們使用的馬達連接驅動板後,IN1 IN2 是控制底盤左邊的馬達, IN3 IN4是控制底盤右邊的馬達. 控制的原理拿左邊的電機來講: 依次把驅動板的IN1~IN2置為高電平,就可以驅動馬達,也就是說,要把樹莓派的2個GPIO輸出口依次置為高電平。例如,假設用0代表低電平,1代表高電平的話,GPIO 0、1口的電平第一次被置為1、0,第二次被置為0、1,持續下去,電機就會運作。
我修改好的代碼如下:
#include
#include
#include
#include

#define CLOCKWISE 1
#define COUNTER_CLOCKWISE 2

void delayMS(int x);
void rotate(int* pins, int direction);

int main(int argc,char* argv[]) {
if (argc < 4) {
printf("Usage example: ./motor 0 1 2 3 \n");
return 1;
}

/* number of the pins which connected to the stepper motor driver board */
int pinA = atoi(argv[1]);
int pinB = atoi(argv[2]);
int pinC = atoi(argv[3]);
int pinD = atoi(argv[4]);

int pins[4] = {pinA, pinB, pinC, pinD};

if (-1 == wiringPiSetup()) {
printf("Setup wiringPi failed!");
return 1;
}

/* set mode to output */
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinC, OUTPUT);
pinMode(pinD, OUTPUT);
int i;

delayMS(50); // wait for a stable status
for (i = 0; i < 500; i++) {
rotate(pins, CLOCKWISE);
}

return 0;
}

/* Suspend execution for x milliseconds intervals.
* @param ms Milliseconds to sleep.
*/
void delayMS(int x) {
usleep(x * 1000);
}

/* Rotate the motor.
* @param pins A pointer which points to the pins number array.
* @param direction CLOCKWISE for clockwise rotation, COUNTER_CLOCKWISE for counter clockwise rotation.
*/
void rotate(int* pins, int direction) {
int i=0;
int j=0;
for (i = 0; i < 2; i++) {
if (CLOCKWISE == direction) {
for (j = 0; j < 2; j++) {
if (j == i) {
digitalWrite(pins[3 - j], 1); // 控制GPIO 2 3為高電平
digitalWrite(pins[1 - j], 1); // 控制GPIO 0 1為高電平
} else {
digitalWrite(pins[3 - j], 0); // 控制GPIO 2 3為低電平
digitalWrite(pins[1 - j], 0 );// 控制GPIO 0 1為低電平
}
}
} else if (COUNTER_CLOCKWISE == direction) {
for (j = 0; j < 2; j++) {
if (j == i) {
digitalWrite(pins[j+2], 1); // 控制GPIO 2 3為高電平
digitalWrite(pins[j], 1); // 控制GPIO 0 1為高電平
} else {
digitalWrite(pins[j+2], 0); // 控制GPIO 2 3為低電平
digitalWrite(pins[j], 0); // 控制GPIO 0 1為低電平
}
}
}
delayMS(4);
}

9. 樹莓派怎麼運行python程序

樹莓派運行Python程序的方法:
一、RaspBerry系統設置
1、首先在開發板沒有通電情況下,連接硬體,以及項目中用到感測器。比如當前項目需要將LED燈插在麵包板上,然後通過杜邦線將開發板和麵包板連接,硬體平台搭建完畢。
2、其次打開樹莓派開發板3B,然後用vnc連接上。
3、打開ssh功能。
如下圖,Raspberry Pi Configuration
啟用SSH連接功能。然後點擊OK
更改後需要重新啟動才能生效
二、使用ssh連接上開發板Raspberry Pi
1、打開事先安裝好的File Zilla,輸入IP地址、賬戶、埠號,連接到樹莓派的Linux系統
2、在當前pi目錄上創建存放開發項目的文件夾。在項目文件夾上創建具體的項目文件夾存放項目文件。例如在DIYdemo目錄上創建LED燈項目
3、在PC端寫好的python程序文件放到LED文件夾中。
三、運行python代碼
1、打開VNC軟體,點擊菜單--programming--python3(EDLE)
2、打開寫好的的程序,運行python程序
更多Python相關技術文章,請訪問Python教程欄目進行學習!以上就是小編分享的關於樹莓派怎麼運行python程序的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!

10. 求助樹莓派避障小車,遇到 python 了

小白第一次上手 python ,用樹莓派,紅外和超聲波感測器做智障小車。 編譯錯誤:
RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(trip,GPIO.OUT)
Traceback (most recent call last):
File "xiaochetest.py", line 82, in <mole>
fwd()
TypeError: fwd() takes exactly 1 argument (0 given)

下面是小車的代碼:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)

m1_fwd = 12
m1_rev = 11
m2_fwd = 13
m2_rev = 15
red_left = 07
red_right = 16
trip = 38
echo = 37
def init():
GPIO.setup(m1_fwd,GPIO.OUT)
GPIO.setup(m1_rev,GPIO.OUT)
GPIO.setup(m2_fwd,GPIO.OUT)
GPIO.setup(m2_rev,GPIO.OUT)
def stop(sleep_time):
GPIO.output(m1_fwd,False)
GPIO.output(m1_rev,False)
GPIO.output(m2_fwd,False)
GPIO.output(m2_rev,False)
time.sleep(sleep_time)
GPIO.cleanup()
def fwd(sleep_time):
GPIO.output(m1_fwd,GPIO.HIGH)
GPIO.output(m1_rev,GPIO.LOW)
GPIO.output(m2_fwd,GPIO.HIGH)
GPIO.output(m2_rev,GPIO.LOW)
time.sleep(sleep_time)
GPIO.cleanup()
def rev(sleep_time):
GPIO.output(m1_fwd,GPIO.LOW)
GPIO.output(m1_rev,GPIO.HIGH)
GPIO.output(m2_fwd,GPIO.LOW)
GPIO.output(m2_rev,GPIO.HIGH)
time.sleep(sleep_time)
GPIO.cleanup()
def right(sleep_time):
GPIO.output(m1_fwd,GPIO.HIGH)
GPIO.output(m1_rev,GPIO.LOW)
GPIO.output(m2_fwd,False)
GPIO.output(m2_rev,False)
time.sleep(sleep_time)
GPIO.cleanup()
def left(sleep_time):
GPIO.output(m1_fwd,False)
GPIO.output(m1_rev,False)
GPIO.output(m2_fwd,GPIO.HIGH)
GPIO.output(m2_rev,GPIO.LOW)
time.sleep(sleep_time)
GPIO.cleanup()
def get_distance():
GPIO.setup(trip,GPIO.OUT)
GPIO.setup(echo,GPIO.IN)
GPIO.output(trip,GPIO.HIGH)
time.sleep(0.000015)
GPIO.output(trip,GPIO.LOW)
while not GPIO.input(echo):
pass
t1 = time.time()
while GPIO.input(echo):
pass
t2 = time.time()
return (t2-t1)*34300/2
def turnaround():
GPIO.setup(red_left,GPIO.IN)
GPIO.setup(red_right,GPIO.IN)
while GPIO.input(red_left) and GPIO.input(red_right)==0:
rev()
if GPIO.input(red_left)==1:
left(1)
else:
right(1)
GPIO.cleanup()

while True:
distance = get_distance()
time.sleep(0.5)
if distance > 20:
fwd()
elif distance == 20:
stop()

else:
stop()
turnaround()

def fwd(sleep_time)

if distance > 20:
fwd()

調用 fwd 的時候要傳參數啊,錯誤提示說的比較清楚了。

閱讀全文

與樹莓派編譯器驅動小車的程序相關的資料

熱點內容
郭麒麟參加密室完整版 瀏覽:318
單片機排線怎麼用 瀏覽:483
java字元串太長 瀏覽:868
python變數計算 瀏覽:115
網銀pdf 瀏覽:134
iponedns伺服器怎麼設置復原 瀏覽:405
深圳電力巡檢自主導航演算法 瀏覽:436
十二星座的布娃娃怎麼買app 瀏覽:321
反編譯打包地圖不顯示 瀏覽:92
沒有壓縮的圖片格式 瀏覽:468
斯維爾文件需不需要加密狗 瀏覽:300
柱加密區范圍在軟體中設置 瀏覽:706
紙質音樂壓縮教程 瀏覽:33
安卓手機健康碼快捷方式怎麼設置 瀏覽:477
程序員是怎麼發明的 瀏覽:175
新手程序員的職業規劃 瀏覽:175
c源程序通過編譯得到的目標文件 瀏覽:412
mpu6050控制單片機 瀏覽:751
雲伺服器租用什麼意思 瀏覽:150
程序員做中介怎麼樣 瀏覽:141