VNC远程登陆树莓派操控小车

以下代码可通过VNC远程登陆树莓派,通过杜邦线将树莓派与机器人连接,从而达到在电脑上操控小车。

html网页代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Robot</title>
    <style>
        * {
            color: red
        }

    </style>
</head>
<body>
    <form action='/' method='post'>
        <table  align='center' height='90' width='90'>
            <tr align='center'><td></td><td><input type='submit' name='function' value='run'></td><td></td></tr>
            <tr align='center'><td><input type='submit' name='function' value='left'></td><td>null</td><td><input type='submit' name='function' value='right'></td></tr>
            <tr align='center'><td></td><td><input type='submit' name='function' value='stop'></td><td></td></tr>
            
        </table>
        
        
        
        

    </form>
</body>
</html>

 

树莓派代码: 

from flask import Flask, request
from gpiozero import LED

led1 = LED(17)//接口17
led2 = LED(27)//接口27
app = Flask(__name__)


@app.route('/', methods=['GET', 'POST'])
def hello_world():
    if request.method == 'POST':
        if request.form['function'] == 'stop':
            led1.off()
            led2.off()
            print('stop')
        if request.form['function'] == 'run':
            led1.on()
            led2.on()
            print('run')
        if request.form['function'] == 'left':
            led1.on()
            led2.off()
            print('left')
        if request.form['function'] == 'right':
            led1.off()
            led2.on()
            print('right')
    return app.send_static_file('index.html')

小车代码:

//    崇宏感测 CHGC www.chgckj.com	
#include <includes.h> 
int CHGCi; 
#define Gray 300
#define P 10 //转弯时的速度
void run(int m,int p);
void line(void);
void stop(void);
void TurnLeft(int n);
void TurnRight(int n);
void motstop(void);
void mainX1(void)
{ 
}

void mainX2(void)
{

}

void mainX3(void)
{

}

void mainX4(void)
{

}

void mainX5(void)
{
  
}

void mainX6(void)
{
  
}


void mainX7(void)
{
  
}


	
void mainX(void *p_arg) 
{
	test();
	//寻线
	while(1)
	{
		line();
	}
	stop();
  set_name(MAINX1,"main1");
  set_name(MAINX2,"main2");
  set_name(MAINX3,"main3");
  set_name(MAINX4,"main4");
  // .... x7
   
  select_main();
  
}
void line(void)
{
	if(analog(23)>100&&analog(24)>100){
		run(P,P);
		sleep(5); 
		msleep(100);
	} 
	if(analog(23)<100&&analog(24)<100){
		stop();
	}
	if(analog(23)<100&&analog(24)>100){
		TurnRight(10);
	}
	if(analog(23)>100&&analog(24)<100){
		TurnLeft(10);
	}
}
void run(int m,int p)
{
	motor(1,m);
	motor(2,p);
}
void TurnLeft(int n)				//左转
{
	float t, slp, mslp;
	t = 5.8 * n;
	slp = (int)t / 1000;
	mslp = (int)t % 1000;
	run(P, -P);
	sleep(slp);
	run(P, -P);
	msleep(mslp);
}
void TurnRight(int n)				//右转
{
	float t, slp, mslp;
	t = 5.8 * n;
	slp = (int)t / 1000;
	mslp = (int)t % 1000;
	run(-P, P);
	sleep(slp);
	run(-P, P);
	msleep(mslp);
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值