【地平线旭日X3派试用体验】小车硬件环境准备

       心心念念想做智能小车,在淘宝买的便宜架子,虽然有点简陋,但跑起来应该没有问题了。有机会以后弄个性能好点的车身,现在需要自己花钱,才发现心中不舍。  

 

一,小车硬件介绍。

1,亚克力车身,四个直流小电机。

 2, 四路直流电机驱动模块。

 

二,X3派开发板。

自己画了了个小PCB板,用支撑柱将开发板固定起来,起保护作用 ,加了个风扇,不然CPU温度确实有点高。另外又买了WIFI天线,不然信号太差。小板形状如下:

三,使用串口控制小车运动。

这里用串口f控制GPIO,GPIO连接上面的驱动板,这样实现对电机的控制。

根据官方提供的串口和GPIO程序,稍微修改下: 

#!/usr/bin/env python3
import Hobot.GPIO as GPIO
import time

import sys
import os
import time


# 定义使用的GPIO通道为38
output_pin26 = 26
output_pin28 = 28
output_pin38 = 38 # BOARD 编码 38
output_pin40 = 40

# ����python���ڿ�
import serial
import serial.tools.list_ports

def serialTest():
     # 设置管脚编码模式为硬件编号 BOARD
    GPIO.setmode(GPIO.BOARD)
    # 设置为输出模式,并且初始化为高电平
    GPIO.setup(output_pin26, GPIO.OUT, initial=GPIO.LOW)
    GPIO.setup(output_pin28, GPIO.OUT, initial=GPIO.LOW)
    GPIO.setup(output_pin38, GPIO.OUT, initial=GPIO.LOW)
    GPIO.setup(output_pin40, GPIO.OUT, initial=GPIO.LOW)

    # 记录当前管脚状态
    curr_value = GPIO.HIGH

    print("List of enabled UART:")
    os.system('ls /dev/tty[a-zA-Z]*')
   # uart_dev= input("�������Ҫ���ԵĴ����豸��:")
    uart_dev='/dev/ttyS3'
   # baudrate = input("�����벨����(9600,19200,38400,57600,115200,921600):")
    baudrate = 115200
    try:
        ser = serial.Serial(uart_dev, int(baudrate), timeout=1) # 1s timeout
    except Exception as e:
        print("open serial failed!\n")

    print(ser)

    print("Starting demo now! Press CTRL+C to exit")

    while True:
        #test_data = "AA55"
        #write_num = ser.write(test_data.encode('UTF-8'))
        #print("Send: ", test_data)

        received_data = ser.read().decode('UTF-8')
        #print("Recv: ", received_data)
        #print(ser.read().hex())
        if received_data == '5':
            GPIO.output(output_pin26, GPIO.HIGH)
            GPIO.output(output_pin28, GPIO.LOW)
            GPIO.output(output_pin38, GPIO.HIGH)
            GPIO.output(output_pin40, GPIO.LOW)
            print("Recv: ", received_data)
        elif received_data == '2':
            GPIO.output(output_pin26, GPIO.LOW)
            GPIO.output(output_pin28, GPIO.HIGH)
            GPIO.output(output_pin38, GPIO.LOW)
            GPIO.output(output_pin40, GPIO.HIGH)
            print("Recv: ", received_data)
        elif received_data == '1':      
            GPIO.output(output_pin26, GPIO.HIGH)
            GPIO.output(output_pin28, GPIO.LOW)
            GPIO.output(output_pin38, GPIO.LOW)
            GPIO.output(output_pin40, GPIO.LOW)      
            print("Recv: ", received_data)
        elif received_data == '3':
            GPIO.output(output_pin26, GPIO.LOW)
            GPIO.output(output_pin28, GPIO.LOW)
            GPIO.output(output_pin38, GPIO.HIGH)
            GPIO.output(output_pin40, GPIO.LOW)
            print("Recv: ", received_data)
        elif received_data == '0':
            GPIO.output(output_pin26, GPIO.LOW)
            GPIO.output(output_pin28, GPIO.LOW)
            GPIO.output(output_pin38, GPIO.LOW)
            GPIO.output(output_pin40, GPIO.LOW)
            print("Recv: ", received_data)

        time.sleep(0.2)

    ser.close()
    return 0


if __name__ == '__main__':
    if serialTest() != 0:
        print("Serial test failed!")
    else:
        print("Serial test success!")

四,测试。

小车运动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值