久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
stm32控制機械臂的智能小車源程序
[打印本頁]
作者:
lihongquan123
時間:
2021-4-16 21:37
標(biāo)題:
stm32控制機械臂的智能小車源程序
stm32機械臂智能小車,已經(jīng)很成熟,歡迎下載
制作出來的實物圖如下:
IMG20210405201430.jpg
(4.85 MB, 下載次數(shù): 61)
下載附件
2021-4-16 21:36 上傳
單片機源程序如下:
#include "stm32f10x.h"
#include "usart1.h"
#include "car_config.h"
#include "pwm_output.h"
#include "bsp_SysTick.h"
#include "timers.h"
#include "bizhang.h"
#include "delay.h"
//#include "LED.h"
#include "ultrasonic.h"
//#include "sys.h"
#include "stm32f10x_gpio.h"
/*
#define BIT_ADDR(addr, bitnum) MEM_ADDR(BITBAND(addr, bitnum))
#define GPIOB_ODR_Addr (GPIOB_BASE+12) //0x40010C0C
#define PBout(n) BIT_ADDR(GPIOB_ODR_Addr,n) //輸出
#define PBin(n) BIT_ADDR(GPIOB_IDR_Addr,n) //輸入
*/
extern u8 receByte;
//一次獲取超聲波測距數(shù)據(jù),兩次測距之間需要間隔一段時間,阻斷回響信號
//為了消除余震的影響,取五次數(shù)據(jù)的平均值進行加權(quán)濾波
uint32_t Hcsr04GetLength(void )
{
int i = 0;
u32 sum = 0;
u32 lengthTemp = 0;
while(i != 5)
{
delay_us(20);
i = i+1;
lengthTemp = get_distance();
sum = lengthTemp + sum ;
}
lengthTemp = sum/5.0;
return lengthTemp;
}
//#define LED PBout(10)
#define LEDPORT GPIOB
#define LED1 GPIO_Pin_10 //定義LED1
void ESP8266_Init()
{
printf("AT\r\n");
delay_ms(300);
printf("AT+CWMODE=3\r\n");
delay_ms(300);
printf("AT+CIPMUX=1\r\n");
delay_ms(300);
printf("AT+CIPSERVER=1,8080\r\n");
delay_ms(300);
}
//初始化LED
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;//構(gòu)造結(jié)構(gòu)體
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能其所在時鐘
GPIO_InitStructure.GPIO_Pin = LED1;//定義IO端口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//定義IO端口輸出模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//定義IO端口輸出速度
GPIO_Init(LEDPORT, &GPIO_InitStructure);//寫入其中
}
int main(void)
{
u16 sudu = 0;
u8 aflag = 0;
u8 aflag_1 = 0;
u32 a=5; //延時參數(shù)
u32 distance;
sudu = 250;//
SysTick_Init(); /* 配置SysTick 為1us中斷一次 */
Car_GPIO_Config();
USARTx_Config(); //USART1 config 9600 8-N-1
NVIC_Configuration();
Timer2Init();
TIM3_PWM_Init();
Speed_config(sudu);
// ESP8266_Init();
ultrasonic_init(); //初始化超聲波測距模塊
delay_init(); //初始化系統(tǒng)延時
for(a=5;a>0;a--)
{
delay_ms(500);
}
LED_Init();
//distance = Hcsr04GetLength();
//printf("i love you");
ESP8266_Init();
GPIO_WriteBit(LEDPORT,LED1,(BitAction)(0));
delay_ms(200);
GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1));
//GPIO_SetBits(LEDPORT,LED1);
while(1){
if(aflag==0){
distance = Hcsr04GetLength();
if(distance < 150)
{
hout();
// baojing_1();
//LED1=0;
GPIO_WriteBit(LEDPORT,LED1,(BitAction)(0));
delay_ms(200);
//LED1=1;
//distance = Hcsr04GetLength(); //測量當(dāng)前距離
//printf("DISTANCE_av: %d mm\r\n", distance); // 藍(lán)牙串口打印當(dāng)前距離
}else{
GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1));
}
if(receByte==0x30){
tingz();
printf("i love you");
receByte = 0x40;
}else if(receByte==0x31){
qianj();
receByte = 0x40;
}else if(receByte==0x32){
hout();
receByte = 0x40;
}else if(receByte==0x33){
zuoz();
receByte = 0x40;
}else if(receByte==0x34){
youz();
receByte = 0x40;
}
else if(receByte==0x35){
sudu = sudu+100;
if(sudu>=800){
sudu = 0;
}
Speed_config(sudu);
receByte = 0x40;
}else if(receByte==0x36){
if(sudu>100){
sudu = sudu-100;
} else if(sudu<=100){
sudu = 0;
}
Speed_config(sudu);
receByte = 0x40;
}
}else{
distance = Hcsr04GetLength();
if(aflag_1==0){
if(distance > 200)
{
qianj();
//aflag_1=1;
//distance = Hcsr04GetLength(); //測量當(dāng)前距離
//printf("DISTANCE_av: %d mm\r\n", distance); // 藍(lán)牙串口打印當(dāng)前距離
}else {
aflag_1=1;
youz_1();
delay_ms(700);
//delay_ms(400);
//delay_ms(300);
tingz();
delay_ms(900);
youz_1();
delay_ms(1000);
//delay_ms(150);
delay_ms(100);
// delay_ms(300);
tingz();
delay_ms(900);
delay_ms(600);
qianj();
}
} else{
if(distance > 200)
{
qianj();
//aflag_1=1;
//distance = Hcsr04GetLength(); //測量當(dāng)前距離
//printf("DISTANCE_av: %d mm\r\n", distance); // 藍(lán)牙串口打印當(dāng)前距離
}else {
aflag_1=0;
zuoz_1();
delay_ms(1000);
// delay_ms(300);
delay_ms(200);
//delay_ms(1000);
tingz();
delay_ms(1000);
delay_ms(100);
zuoz_1();
//delay_ms(1000);
delay_ms(800);
delay_ms(200);
//delay_ms(300);
tingz();
delay_ms(500);
delay_ms(1000);
qianj();
}
}
/*
sudu = 280;
Speed_config(sudu);
if((BiZhang_State(GPIOB,GPIO_Pin_0) == 0)&&(BiZhang_State(GPIOB,GPIO_Pin_1) == 0)){
qianj();
}else if((BiZhang_State(GPIOB,GPIO_Pin_0) == 1)&&(BiZhang_State(GPIOB,GPIO_Pin_1) == 1)){
tingz();
}else if((BiZhang_State(GPIOB,GPIO_Pin_0) == 1)&&(BiZhang_State(GPIOB,GPIO_Pin_1) == 0)){
zuoz();
}else if((BiZhang_State(GPIOB,GPIO_Pin_0) == 0)&&(BiZhang_State(GPIOB,GPIO_Pin_1) == 1)){
youz();
}
*/
}
if(receByte==0x37){
aflag = 1;
}
if(receByte==0x38){
aflag = 0;
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
STM32程序_test.7z
(185.38 KB, 下載次數(shù): 34)
2021-4-17 00:37 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
hua767
時間:
2021-4-17 08:25
機械臂在哪里呢?沒有看到
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产在线一区二区
|
香蕉在线观看视频
|
日韩精品在线观看视频
|
天堂在线中文资源
|
日韩专区中文字幕
|
美女视频福利
|
天堂综合网
|
视频一区二区在线
|
国产黄a三级三级看三级
|
欧美一级黄色录像
|
精品福利在线观看
|
深夜视频在线观看
|
日韩一区中文字幕
|
91们嫩草伦理
|
日本一级片在线观看
|
日本久久一区二区
|
a级片在线
|
亚洲欧美综合网
|
久草成人
|
一级免费片
|
嫩草视频在线观看
|
在线一级片
|
日韩福利视频
|
午夜天堂网
|
国产色站
|
免费国产精品视频
|
亚洲一级大片
|
日韩精品视频一区二区三区
|
国产午夜一区二区
|
亚洲一区在线观看视频
|
国产一区二区三区在线
|
日韩av资源
|
久久久三级
|
中文字幕在线免费看
|
午夜在线免费观看
|
国产午夜一区二区
|
成人免费在线播放
|
精品国产成人
|
日韩免费一区二区
|
a级片在线免费观看
|
国产成人精品视频
|