导航:首页 > 源码编译 > 树莓派编译器驱动小车的程序

树莓派编译器驱动小车的程序

发布时间: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 的时候要传参数啊,错误提示说的比较清楚了。

阅读全文

与树莓派编译器驱动小车的程序相关的资料

热点内容
单片机原理及应用第二版第八章答案 浏览:533
服务器一百个节点相当于什么 浏览:342
绥化电气编程培训 浏览:372
轻量应用服务器怎么添加软件上去 浏览:811
资产管理pdf 浏览:168
制冷压缩机热负荷过低 浏览:361
服务器出现两个IPV4地址 浏览:846
宜兴云存储服务器 浏览:221
如何开放远程服务器上的端口号 浏览:69
大规模单片机厂家供应 浏览:954
3dmax编辑样条线快捷命令 浏览:708
怎么获得音乐的源码 浏览:251
郭麒麟参加密室完整版 浏览:320
单片机排线怎么用 浏览:485
java字符串太长 浏览:870
python变量计算 浏览:117
网银pdf 浏览:136
iponedns服务器怎么设置复原 浏览:407
深圳电力巡检自主导航算法 浏览:438
十二星座的布娃娃怎么买app 浏览:323