树莓派小车后端控制,调用Car 类的方法会轮子走一会就不动了,感觉是Car类的方法调用有问题。

$interval){require_once(dirname(__FILE__).”/../include/common.inc.php”);$row=$dsql->GetOne(“selectidfrom`dede_archives`wherearcrank=-1″);//找到未审核的文章排序根据你的要求修改下$aid=$row['id'];if($aid!=”){//审核文章$upquery=“Update`dede_archives`setarcrank=0whereid=’$aid’;”;$upquery1=“Update`dede_arctiny`setarcrank=0whereid=’$aid’;”;$rs=$dsql->ExecuteNoneQuery($upquery);$rs1=$dsql->ExecuteNoneQuery($upquery1);$isremote=(empty($isremote)?0:$isremote);functionMakeArt($aid,$mkindex=FALSE,$ismakesign=FALSE,$isremote=0){global$envs,$typeid;require_once(DEDEINC.’/arc.archives.class.php’);if($ismakesign)$envs['makesign']=‘yes’;$arc=newArchives($aid);$reurl=$arc->MakeHtml($isremote);return$reurl;}$arcID=$aid;$artUrl=MakeArt($aid,true,true,$isremote);require_once(DEDEINC.’

本回答由网友推荐

智能小车 树莓派 arduino 哪个好

作为初学者,若要从树莓派和arduino两个选做控制方案,量力而行,它们的硬件平台区别:

1、树莓派的硬件平台相当于一台小型的电脑,可连接显示屏、鼠标、键盘、网线,使用ARM处理器搭载linux或windows系统,更倾向于应用层操作,就像操作一台电脑一样,若用它来控制智能小车,编程学习资料略欠缺;

2、arduino是一个国外公司将编程及硬件模块化的平台,它有自己的开发板,说白了它是用ATmel单片机搭建的一块开发板,然后其它的外设就做成一块块的小电路板,只需用跳线进行连接,软件上把各个程序封包起来,使用到哪个功能,就调用哪个函数,非常的简易,实际上是面向入门级的教学板子,几乎不烧脑,在国外是作为小学生的教学材料,用它来制作智能小车,再简单不过。

综上,树莓派倾向于综合操作,若编程基础扎实,也可用来控制小车;若追求快速搭建小车控制平台,推荐用arduino控制板,编程控制较简便;如果要学得透彻点,建议学习单片机。

智能小车制作

求助树莓派避障小车,遇到 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 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 的时候要传参数啊,错误提示说的比较清楚了。

最后修改:2023 年 01 月 31 日
雁过留声,请留下您真挚的评论