Python控制arduino,arduino可以用python编程吗
Python firmata协议用arduino控制一个快乐的灯泡轮汽车前言一、Python中pyfirmata的环境素材二。使用步骤1。汽车的安装方法。我这里采用了X型安装方式。
前言:灯泡轮小车的安装不是太多余。有需要的话可以看看。我们在硬件安装上完全一样。车的底盘是淘宝买的。
郑智芝麻博客
他在博客里提到了如何使用自定义串口圆满操作灯泡轮小车,还提到了小车的安装。
一、python中的pyfirmata环境使用前需要下载pyfirmata和串口库文件,可以通过pip下载。
1.材料1。L298N驱动板2
2.完美灯泡轮4
3.3000毫安电池
4.汽车底盘
5.Arduino板
L298N的工作原理
二、使用步骤1。我这里用的车的安装方式是X安装方式。
图片来自网络。
快乐灯泡轮小车的轮子不是随便安装的,可以实现通用的安装方向。
这里使用arduino UNO进行控制,四个轮子分别由四个舵机驱动。
不多说,码
代码如下(示例):
# -*-编码:utf-8 -*- 创建于2021年七月一日星期四 16:33:32 @作者:23119 来自pyfirmata import Arduinoboard=Arduino( com 3 )LB _ IN1=2LB _ IN2=4 # LB _ EN=3LU _ IN1=6LU _ IN2=7 # LU _ EN=5RU _ IN1=8RU _ IN2=9 # RU _ EN=10RB _ IN1=12RB _ IN2映射为0.6 def Up():LB _ en。写(0.6)LU _ en。写入(0.6)RU _ en。写入(0.6)RB _ en。写(0.6)板。数字[LB _ IN1].写入(0) board.digital[LB_IN2].写(1) board.digital[LU_IN1]。写(0) board.digital[LU_IN2].写(1) board.digital[RB_IN1].写入(0) board.digital[RB_IN2].写入(1)RB _ in2。写(1)板。数字的.写入(0) board.digital[RU_IN2].write(1)def Back():board。数字[LB _ IN1].写入(1) board.digital[LB_IN2].write(0) board.digital[LU_IN1].写(1) board.digital[LU_IN2].write(0) board.digital[RB_IN1].写(1) board.digital[RB_IN2].write(0) board.digital[RU_IN1].写(1) board.digital[RU_IN2].写入0 LB _ en。写(0.6)LU _ en。写入(0.6)RU _ en。写入(0.6)RB _ en。写(0.6)def右转():#左侧正转右侧反转board.digital[LB_IN1]。写入(0) board.digital[LB_IN2].写(1) board.digital[LU_IN1]。写(0) board.digital[LU_IN2].写(1) board.digital[RB_IN1].写(1) board.digital[RB_IN2].write(0) board.digital[RU_IN1].写(1) board.digital[RU_IN2].写入0 LB _ en。写(0.6)LU _ en。写入(0.6)RU _ en。写入(0.6)RB _ en。写(0.6)# ba # ab #陆如#LB RBdef左转():#左侧反转右侧正转board.digital[LB_IN1]。写入(1) board.digital[LB_IN2].write(0) board.digital[LU_IN1].写(1) board.digital[LU_IN2].write(0) board.digital[RB_IN1].写入(0) board.digital[RB_IN2].写(1) board.digital[RU_IN1].写入(0) board.digital[RU_IN2].写入(1)LB _ en。写(0.6)LU _ en。写入(0.6)RU _ en。写入(0.6)RB _ en。write(0.6)def右行():# a反转b正转board.digital[LB_IN1]。写入(1) board.digital[LB_IN2].write(0) board.digital[LU_IN1].写(0) board.digital[LU_IN2].写(1) board.digital[RB_IN1].写入(0) board.digital[RB_IN2].写(1) board.digital[RU_IN1].写(1) board.digital[RU_IN2].写入0 LB _ en。写(0.6)LU _ en。写入(0.6)RU _ en。写入(0.6)RB _ en。write(0.6)def left line():# a正转b反转board.digital[LB_IN1]。写入(0) board.digital[LB_IN2].写(1) board.digital[LU_IN1]。写(1) board.digital[LU_IN2].write(0) board.digital[RB_IN1].写(1) board.digital[RB_IN2].write(0) board.digital[RU_IN1].写入(0) board.digital[RU_IN2].写入(1)LB _ en。写(0.6)LU _ en。写入(0.6)RU _ en。写入(0.6)RB _ en。写(0.6)def Stop():board。数字[LB _ IN1].写入(0) board.digital[LB_IN2].write(0) board.digital[LU_IN1].写(0) board.digital[LU_IN2].write(0) board.digital[RB_IN1].写入(0) board.digital[RB_IN2].write(0) board.digital[RU_IN1].写入(0) board.digital[RU_IN2].写入0 LB _ en。写(0.6)LU _ en。写入(0.6)RU _ en。写入(0.6)RB _ en。写(0.6)Up()# Back()#右转()#左转()#右行()#左行()# Stop()总结亲测有效。在过程中如果有问题欢迎留言。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。