51单片机期末课程作业之蓝牙、操控、测速、里程小车

文章底部附源码

课程设计报告

学 科:   单片机原理及应用   

项 目:      里程记录仪      

学 院:                  

专业、年级:                     

指导老师:                       

摘要

设计首先实现对小车行驶时的平均速度、即时速度以及里程等行驶参量的实时测量和显示功能,扩展了对小车的行驶时间的显示功能。

设计硬件部分设计采用了STC公司的STC89C52系列单片机为微控制器,根据车辆里程记录仪的要求对系统的主控模块、液晶显示模块、行车数据采集测量模块、蓝牙通信模块以及电机驱动等模块进行了设计。软件设计以Proteus为开发平台,结合C51系列单片机强大的在线调试能力,以C语言为编程语言编写出实用程序。并将之运用到了实物测试之中。

关键词:c51单片机、 OLED显示 、蓝牙控制、 L298n、 霍尔电机

Abstract

Firstly, the design realizes the real-time measurement and display function of the average speed, real-time speed and mileage of the car, and expands the display function of the car's travel time.

The hardware part of the design adopts STC89C52 series single chip microcomputer of STC company as the microcontroller. According to the requirements of vehicle mileage recorder, the main control module, LCD module, driving data acquisition and measurement module, Bluetooth communication module and motor drive module of the system are designed. The software design takes Proteus as the development platform, combined with the powerful online debugging ability of C51 series MCU, and uses C language as the programming language to write the utility program. And it is applied to the physical test.

Key words: C51 single chip microcomputer, OLED display, Bluetooth control, L298N, Hall motor

目录

课程设计报告 1

1、小组成员 3

2、成员分工 3

3、 系统总体设计 4

3.1设计要求 4

3.2系统理想功能描述 4

3.3主控模块方案的比较与选择 4

3.4速度测量原理 6

4、电路与程序设计 6

4.1元件选型 6

4.2工作原理 7

4.3电路设计 7

4.4程序设计 8

4.5实际效果 14

4.6实物图以及操作展示 14

5、设计过程 17

5.1遇到的问题 17

5.2解决方法 17

6、报告总结 17

1、小组成员

             

2、成员分工

设计构思与资料查询:       

  1. 编写代码:      
  2. 原理图设计: 
  3. 设计报告: 
  4. 电路验证: 
  1. 系统总体设计

3.1设计要求

出租车或自行车里程记录仪的设计,能实时测量里程,即时速度,平均速度,三个参数的显示可以用按键切换。设计硬件电路并编写程序。

3.2系统理想功能描述

  1. 自检(复位)功能;
  2. 能够对行驶车辆的平均速度、即时速度、里程等参数进行测量;
  3. 测量数据可以通过液晶等显示屏显示;
  4. 具有人机交互的功能,可以通过手机蓝牙控制执行的功能;
  5. 数据通信功能。

3.3主控模块方案的比较与选择

(1)方案一:采用MCS51系列单片机作为微控制器

采用STC89C52作为微控制器,STC89C52是STC公司早年生产的一种拓展型的8位微控制器。其主要优点是价格低廉且MCS-51系列是最早引入国内的单片机系列,在国内有着极其广泛的应用,设计范例经典,设计方案成熟,国内市场上的低端行车记录仪产品大多采用这一微控制器。

(2)方案二:采用TI公司的MSP430系列单片机作为处理器

采用MSP430F149单片机为微处理器,msp430 系列单片机是由是美国德州义器(TI)九十年代推出的主打超低功耗的十六位单片机,具有丰富的片内片外接口。其主要特点是处理能力强、运算速度快及超低功耗等特点。内部的看门狗定时器可以保证在程序跑飞时自动的复位使程序重新开始执行,确保系统的稳定性;硬件USART串行总线接口可以进行UART异步串行通信方式和I2C同步串行通信方式;另外,MSP430系列单片机有较多的中断,有不同的优先级,利用这些中断源可以在软件上采用中断触发机制,这样可以实现超低功耗的特点。

  1. 方案三:采用ATMEL公司的AT89C52系列单片机作为处理器

采用AT89C52单片机为微处理器,AT89C52是美国ATMEL公司生产的低电压.高性能CMOS 8位单片机.内合8K bytes的可反复擦写的只读程序存储器(PEROM和256 bytes的随机存取数据存储器(RAM),器件采用ATMEI公司的高密度,非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央必理器(CPU)和Flash存储单元,功能强大AT89C5单片机适合于许多较为复杂控制应用场合。允许RAM定时/计数器,串行通信口及中断系统继续工作.掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

综上考虑了设计的硬件要求和STC89C52使用广泛、价格低廉和设计方案成熟等特点以及组员更加熟悉基于STC89C52的编程方法,最终设计选用STC89C52系列的STC89C52RC单片机作为系统的微控制器。

3.3.1 方案确定与设计

设计采用STC89C52RC单片机为微处理器,通过外接电路包括霍尔测速模块、OLED显示模块和无线通讯通讯模块组成具有实用价值的低功耗的行车记录仪系统,实现对小车运行过程中行驶里程、及时速度、平均速度的测量和显示。

图1:设计思路

3.3.2 工作流程图

图2:工作流程图

3.4速度测量原理

  1. 测量一定时间间隔t里小车车轮转过的圈数q,假设车轮周长为c,则速      度V=c*q/t;
  2. 测量小车车轮转过一圈的时间t,则速度V=c/t;

经过小组讨论本设计是根据第一个原理计算速度的。

4、电路与程序设计

4.1元件选型

主控芯片STC89C52RC

STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器。该器件采用ATMEL密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

主要功能特性:

兼容MCS51指令系统

8k可反复擦写Flash POM

32个双向I/O口

256*8bit内部RAM

3个16位可编程定时/计数器中断

时钟频率0-24MHZ

2个串行中断

可编程UART串行通道

2个外部中断源

共6个中断源

2个读写中断口线

3级加密位

低功耗空闲和掉电模式

软件设置睡眠和唤醒功能

表1  STC89C52系列主要功能特性

电机驱动模块L298N

L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。

显示:OLED显示屏

OLED显示屏与LCD显示屏相比结构简单、更加轻薄、原生色域广、对比度和亮度高、响应时间快、省电、可视角度广但是寿命没有LCD屏高。

测速模块:霍尔电机

霍尔元件是磁敏元件,要想用来测转速,就必须在被测的旋转体上装一个磁体,旋转时,每当磁体经过霍尔元件,霍尔元件就发出一个信号,经放大整形得到脉冲信号,也有的霍尔元件可以直接输出脉冲信号,送运算,两个脉冲的间隔时间就是周期,由周期可以换算出转速,也可计数单位时间内的脉冲数,再换算出转速。

车轮驱动:减速电机

4.2工作原理

里程、速度等由霍尔元器件测量。已知小车轮胎的周长为0.215m,轮子每转动一圈,安装在车轮辐条上的磁钢接近霍尔传感器一次,传感器送13个脉冲信号给单片机的外部中断0,每送13个脉冲信号,圈数加一。圈数*0.215即为车前进距离。而通过单片机T0定时器记录时间,间隔1秒,1秒内的前进距离除以时间1秒,得到1秒内的当前速度作为即时速度。而总里程L除以总时间t得到平均速度。

系统处理速度数据时同时刷新平均速度、即时速度及运行里程。

单片机定时器0定时时间为50ms,每20次刷新系统时钟及计算累计行驶时间。

4.3电路设计

图3:电路原理图

4.4程序设计

主要程序:

#include<reg52.h>#include<Car_Init.h>#include<Com_Init.h>#include"oled.h"#define uchar unsigned char#define uint unsigned int//#define zhijing 6.5  //直径6.5cm  周长3.14*6.5=20.41cm//#define licheng zhijing*quanshu//函数声明void v_u();void v_d();void v_init();void gc();void qh();void zpy();void cs();void ypy();void mb_init();void jishuqi();//PWM输出(控制舵机)sbit V =P2^0;sbit SEH_PWM =P3^3;uint PWM_T=0,t=0;uchar temp;                  //temp储存蓝牙串口收到的信息uchar count=0;               //0.1ms次数标识uchar SEV_count=1;          //舵机角度标识uchar SEH_count=1;bit flag;uchar p=0;uchar ms=0;uchar fen=0;uchar mc=0;long int quanshu=0;uint pjsd=0;uint jssd=0;long int lc=0;uint su=0;uint sd=0;uint d=0;void delay_1ms(uint t){uint x,y;for(x=t;x>0;x--)for(y=120;y>0;y--);}void PWM1(uchar x){SEV_count=x;}void main(){flag=0;EA = 1;Car_Init(); //初始化轮子配制Com_Init();V=0;TR0=0;       //关闭定时器0OLED_Init(); //初始化OLED  OLED_Clear()   ;OLED_ShowCHinese(0,0,12);//蓝牙测速里程小车OLED_ShowCHinese(16,0,13);//OLED_ShowCHinese(32,0,14);//OLED_ShowCHinese(48,0,15);//OLED_ShowCHinese(64,0,16);//OLED_ShowCHinese(80,0,17);//OLED_ShowCHinese(96,0,18);//OLED_ShowCHinese(112,0,19);////OLED_ShowString(32,2,"Author:TJX",16);  //:OLED_ShowString(32,4,"QJ JSC CC",16);  //:V=1;while(1){switch(temp){case 0x00: stop(); break;case 0x01: go(); break;case 0x02: back(); break;case 0x03: left(); break;case 0x04: right(); break;case 0x05: v_u(); break;case 0x06: v_d(); break;case 0x07: qh(); break;case 0x08: gc(); break;case 0x09: zpy(); break;case 0x0A: ypy(); break;case 0x0b:cs();break;}}}void uart_ser() interrupt 4  //串口中断函数{RI = 0;temp = SBUF; //将接收到的数据传给temp}timer0() interrupt 1  //计时器{  p++;if(p==20){d++;if(d==1){su=quanshu*6.5*3.14/13;}if(d==2){sd=quanshu*6.5*3.14/13;d=0;jssd=sd-su;//及时速度的计算每秒刷新,(现里程-上一秒里程)/1s}p=0;ms++;if(ms==60){ms=0;fen++;if(fen==60){fen=0;}}}TH0=0x4b;     //TL0=0xfd;     //}ZD() interrupt 0{quanshu++;}void v_d(){if(PWM_T<250){PWM_T=PWM_T+25;  //越大正电压占空比越小,占空比越小速度越慢}delay_1ms(10);temp=0xff;}void v_u(){if(PWM_T>24){PWM_T=PWM_T-25;if(PWM_T<25)PWM_T=0;}delay_1ms(10);temp=0xff;}void v_init()  //pwm初始化{TMOD = 0x22;   //定时器0,工作模式2,8位定时模式TH0=210;     //写入预置初值(取值1-255,数越大PWM频率越高)TL0=210;     //写入预置值 (取值1-255,数越大PWM频率越高)TR0=1;       //启动定时器ET0=1;       //允许定时器0中断EA=1;        //允许总中断V=1;  //初始化P2.0,输出端口作为pwm输出控制车速PWM_T=30;}void qh(){while(1){go();delay_1ms(100);back();delay_1ms(100);if(temp!=0x07)break;}}void gc(){while(1){left();delay_1ms(100);right();delay_1ms(100);if(temp!=0x08)break;}}void zpy(){PWM_T=0;go();delay_1ms(500);left_go=0;//前轮左转left_back=1;right_go=1;right_back=0;left_go2=0;//后轮抱死left_back2=0;right_go2=0;right_back2=0;delay_1ms(250);go();delay_1ms(250);temp=0;//执行完停止}void ypy(){PWM_T=0;go();delay_1ms(500);left_go=1;//前轮右转left_back=0;right_go=0;right_back=1;left_go2=0;//后轮抱死left_back2=0;right_go2=0;right_back2=0;delay_1ms(250);go();delay_1ms(250);temp=0;}void cs(){temp=0xff;flag=1;V=1; //速度初始化TR0=0;       //关闭定时器0mb_init();  //秒表初始化OLED_Clear() ; //清屏jishuqi();//计数器初始化//oled界面初始化OLED_ShowCHinese(0,0,0);//里OLED_ShowCHinese(16,0,1);//程OLED_ShowString(32,0,":",16);  //:OLED_ShowCHinese(0,2,2);//及OLED_ShowCHinese(16,2,3);//时OLED_ShowCHinese(32,2,4);//速OLED_ShowCHinese(48,2,5);//度OLED_ShowString(64,2,":",16);//:OLED_ShowCHinese(0,4,6);//平均速度OLED_ShowCHinese(16,4,7);//时OLED_ShowCHinese(32,4,8);//速OLED_ShowCHinese(48,4,9);//度OLED_ShowString(64,4,":",16);//:OLED_ShowCHinese(0,6,10);//单OLED_ShowCHinese(16,6,11);//位OLED_ShowString(36,6,"m",16);  //:OLED_ShowString(56,6,"m/s",16);  //:while(1){lc=quanshu*6.5*3.14/13;//精确到20.41/13,单位为厘米pjsd=lc/(fen*60+ms); //cm/s//蓝牙控制switch(temp){case 0x00: stop(); break;case 0x01: go(); break;case 0x02: back(); break;case 0x03: left(); break;case 0x04: right(); break;case 0x05: v_u(); break;case 0x06: v_d(); break;case 0x07: qh(); break;case 0x08: gc(); break;case 0x09: zpy(); break;case 0x0A: ypy(); break;case 0x0b:cs();break;///测速里程模块}//更新里程,平均速度,瞬时速度以及秒表OLED_ShowNum(40,0,lc/10000,1,16);OLED_ShowNum(40 + 8,0,lc/1000%10 ,1,16);OLED_ShowNum(40 + 8+8,0,lc/100%10 ,1,16);OLED_ShowChar(40 + 16+8,0,'.',16);OLED_ShowNum(40 + 24+8,0,lc/10%10,1,16);OLED_ShowNum(40 + 24+8+8,0,lc%10,1,16);OLED_ShowNum(70,2,jssd/1000,1,16);OLED_ShowNum(70 + 8,2,jssd/100%10 ,1,16);OLED_ShowChar(70 + 16,2,'.',16);OLED_ShowNum(70 + 24,2,jssd/10%10,1,16);OLED_ShowNum(70 + 24+8,2,jssd%10,1,16);OLED_ShowNum(70,4,pjsd/1000,1,16);OLED_ShowNum(70 + 8,4,pjsd/100%10 ,1,16);OLED_ShowChar(70 + 16,4,'.',16);OLED_ShowNum(70 + 24,4,pjsd/10%10,1,16);OLED_ShowNum(70 + 24+8,4,pjsd%10,1,16);OLED_ShowNum(88 ,6,fen/10,1,16);OLED_ShowNum(96 ,6,fen%10,1,16);OLED_ShowString(104,6,":",16);//:OLED_ShowNum(112 ,6,ms/10,1,16);OLED_ShowNum(120 ,6,ms%10,1,16);}}void mb_init() //计时器初始化{TMOD = 0x21;   //定时器0,工作模式1,16位定时模式TH0=0x4b;     //TL0=0xfd;     //TR0=1;       //启动定时器ET0=1;       //允许定时器0中断EA=1;  }void jishuqi() //p3.5  用中断0来采集1圈数{IT0=1;EX0=1;EA=1;}

4.5实际效果

  1. 能够对行驶车辆的平均速度、即时速度、里程等参数进行测量;
  2. OLED屏上能够同时显示里程,即时速度,平均速度以及运动时间。
  3. 具有人机交互的功能,能够使用手机蓝牙操控小车进行运动;
  4. 具有自检(复位)功能;
  5. 有数据通信功能。

4.6实物图以及操作展示

图4:实物图(侧)

 

图5:实物图(俯)

 

        图6:显示界面展示

图7:操控界面展示

5、设计过程

5.1遇到的问题

  1. 在设计过程中怎么将蓝牙小车与里程测试程序结合在一起?
  2. 里程测速时怎么用算法将瞬时速度和平均速度表示出来?
  3. 采用什么样的传感器来实现设计功能?
  4. 为什么程序没有逻辑问题但是显示的计时数值不对?
  5. 车轮旋转圈数测量不准
  6. 电源模块不能正常供电

5.2解决方法

  1. 通过查阅有关资料以及询问老师,最后通过自己不断的尝试将之解        决,完成了设计。
  2. 询问学长有关知识点,小组讨论可行性掌握后写出。
  3. 比较了众多传感器的优劣之后,选择了霍尔传感器来测速。
  4. 经检查代码,发现条件语句后面多加了“;”,导致无条件直接执 行后续语句,造成计数不准。去掉“;”后正常计时。
  5. 定时/计数器工作方式配置错误,查阅书本之后,修改配置为工作方   式1(16位定时/计数器)。
  6. 首先我们怀疑是pcb图上面的电路线有错误,但是在小组成员的轮     番检查下发现没有错误,再是怀疑电源模块在焊接时存在虚焊和短 路现象,重新用烙铁焊过一遍,用万用表测试通断之后还是不工作。 在小组成员实在找不出问题的时候,我们突然想起以前用面包板搭 建电路时需要注意的一个问题:杜邦线内部断路。在更换了确保能 够正常工作的杜邦线之后,电源模块能够正常工作。

6、报告总结

经过几个星期的讨论与研究,我们小组成功的做出了基于51单片机的汽车里程记录仪,本设计采用STC89C52单片机为微控制器,实现了对行驶车辆的平均速度、即时速度、里程等参数进行测量,并且具有人机交互的功能,可以通过手机蓝牙控制执行的功能,实现了设计要求。

在设计之初,通过小组成员交换意见之后,发现在仿真效果这一方面存在着较大的问题。由于不能顺利的做出仿真效果,我们打算根据身边有限的硬件资源试着将设计用实物展现出来,规避自身的短板。经过讨论,小组全体成员认为此方案可行并迅速分配好了任务。

在设计过程期间,小组内成员都各司其职,较为出色的完成了小组长分配给自己的任务,虽然在设计过程中我们遇到了很多困难,也有过分歧,但最终在老师的帮助以及小组成员的不懈努力下,克服了硬件和软件上的困难,成功的将实物做了出来,并在此基础上完成了设计报告。实物与思考题要求有些差别,它能够实时的测量里程、及时速度、平均速度但是应用OLED屏能将三个参数同时显示在屏幕上,不需要用按键来切换显示。除此之外,本设计还新增了能够显示小车运行时间的功能。

此次设计经历对我们小组内每个人来说都是宝贵的财富,在设计过程中大家互帮互助,在遇到问题时,大家一起想办法解决,每个人都可以将自己内心的想法表达出来。在设计的过程中大家学到了每个成员各自擅长的许多知识与技能,对书本上单片机中断和定时部分也有了更深的掌握,为我们未来的工作积累了宝贵的经验,也让我们收获了许多。但是也有一些不足之处:遇到问题时,我们首先想着逃避,实在是逃不开才会想着办法将问题解决;对proteus仿真软件还不是很熟练,在探索涉及到的新的仿真步骤时花费了大量的时间,导致有一段时间进度停滞;在程序编写方面,对单片机程序编写方法掌握的还不够,但是我们又盲目的认为自己可以,导致软件设计部分走了不少弯路;对硬件制版的技能掌握的不够,在用盐酸和双氧水腐刻铜板时剂量掌握的不好导致转印后的铜板腐刻不成功,浪费了很多材料。

这次课程设计对我们来说是一次检测自身能力,认清自我能力定位的机会。我们在一次次碰壁中成长,对自己能力的了解也越来越深刻。我们认识到了自己的不足,也知道了自己在某些方面的掌握只是稍稍比其他同学好一点点。在以后的学习中,我们一定会对自己还欠缺的地方格外的注意,努力补齐短板,争取对单片机方面的知识掌握的更加熟练。





说明

本项目是我的很早以前的单片机期末设计,代码是由我个人完成,设计报告是由合作同学完成,这里说明一下,我是菜鸟且技术有限,代码是随便写的,不喜勿喷。代码有不规范的地方也可能存在一些bug,请多多包涵。当计程车处于测速阶段,蓝牙操控不灵敏,屏幕刷新造成的。如果对你有用请留下一颗免费的哦           

解压码私    解压码请点赞收藏后私信哈,报告皆为我女朋友所著,切勿完全抄袭,谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

百度网盘链接:https://pan.baidu.com/s/1P_iFhUeozLOXqt8Q6wKUQg 
csdn资源链接:https://download.csdn.net/download/ryncgh/85422995

蓝牙软件:蓝牙调试器。使用方法可以参考以下内容:

https://blog.csdn.net/qq_53022278/article/details/120579388?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165293619316782425130950%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165293619316782425130950&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-120579388-null-null.142^v10^pc_search_result_control_group,157^v4^control&utm_term=%E8%93%9D%E7%89%99%E8%B0%83%E8%AF%95%E5%99%A8&spm=1018.2226.3001.4187https://blog.csdn.net/qq_53022278/article/details/120579388?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165293619316782425130950%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165293619316782425130950&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-120579388-null-null.142%5Ev10%5Epc_search_result_control_group,157%5Ev4%5Econtrol&utm_term=%E8%93%9D%E7%89%99%E8%B0%83%E8%AF%95%E5%99%A8&spm=1018.2226.3001.4187

测速:测速是依靠底部的霍尔传感器电机实现的,我这里只需要三根线,给霍尔传感器供电以及A项数据输出(输出波形我用示波器看了挺工整的不需要额外的滤波电路),用51自带的计数器中断实现的计数,详情见代码,记不清了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/255282.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

实现微信JS-SDK分享自定义标题和图片

2019独角兽企业重金招聘Python工程师标准>>> 这里先说明下&#xff0c;如果你想要自定义去分享图片的话是需要你去开通微信公众平台的不多也就300&#xff0c;在看之前我希望大家能先去看一下微信官网给出的开发文档(http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0…

微信JSSDK开发,调用微信扫一扫 JAVA jsp前端 js实现

// 微信JSSDK的AccessToken请求URL地址ublic final static String weixin_jssdk_acceToken_url "https://api.weixin.qq.com/cgi-bin/token?grant_typeclient_credential&appid公众号appid&secret众号appsecret; // 微信JSSDK的ticket请求URL地址 public final…

公众号怎么弄html,微信公众号与HTML 5混合模式揭秘1——如何部署JSSDK

本文是连载J享。发概程间告屏会。一控近到都从述序也问SSDKH5的书&#xff0c;这里是第一篇揭秘————如何部署JSSD支器事的后功发久这含层请间业在屏有随些气和域&#xff0c;实按控幻近持的前时来能过后些的处求也务浏蔽等机站风滚或默现钮制灯近持的前时来K 部署讲过一围多…

如何在微信小程序中调用腾讯地图api

微信小程序的地图api是非常有限的&#xff0c;如果要搜索地图上的位置&#xff0c;比如附近的医院、学校等&#xff0c;就需要使用地图api&#xff0c;使用腾讯地图api的过程如下&#xff1a; 一、开发者申请腾讯地图 进入官网http://lbs.qq.com/key.html 申请密钥 验证完手…

php 微信公众号分享自定义标题,简介,图片

1、必须有认证的公众号 2、设置域名到JS接口安全域名 3、设置IP白名单 4、查看微信JS-SDK说明文档 文档 https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html ** 示例代码&#xff1a;** http://demo.open.weixin.qq.com/jssdk/sample.zip <?php//…

微信公众号支付 jssdk ,后端 laravel + easywechat,前端 uniapp

前提&#xff1a;商户号&#xff0c;各种授权域名 &#xff0c;app_id api_key 证书 等&#xff0c;都已配置好了。 不会配置的参考官方文档&#xff1a; https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_1.shtml 主要流程 前端&#xff1a;用户点购买按钮 前端…

微信公众号基础04_分享和录音功能的实现

本文简单说明一下微信测试号分享和录音功能的调用&#xff0c;其他JSSD功能与这类似 参考&#xff1a;微信JS-SDK文档 http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#.E8.8E.B7.E5.8F.96.E2.80.9C.E5.88.86.E4.BA.AB.E7.BB.99.E6.9C.8B.E5.8F.8B.E2.8…

【22-23 春学期】AI作业12-LSTM

网络 LSTM&#xff08;输入门、遗忘门、输出门&#xff09; LSTM&#xff08;长短时记忆网络&#xff09;是一种特殊的RNN&#xff08;循环神经网络&#xff09;&#xff0c;能够学习长期的依赖关系。它通过原始 RNN 的隐藏层只有一个状态&#xff0c;它对于短期的输入非常敏感…

强推宝藏网站

最近还是有很强烈的感受&#xff0c;方法大于努力。最近就整理了一下大学期间比较好用的网站&#xff0c;也陪我度过了一段时间了&#xff0c;排名不分先后&#xff0c;把压箱底的东西拿出来了。 ChatGPT WeTab 新标签页https://www.wetab.link/ChatGPT国内免费使用方法有哪些…

AutoCAD三维建模图——汽车车轮

点击前往下载链接 AutoCAD三维建模图——汽车车轮&#xff0c;超真实&#xff0c;带胎路纹理&#xff0c;轮毂钢圈等等 橡胶轮胎建模&#xff0c;钢圈 胎路纹理 轮毂&#xff0c;螺丝&#xff0c;线条 展示图 展示图

CAD轴测图怎么画,才能不踩坑?

CAD轴测图怎么画&#xff1f;相信从事机械设计、产品设计的小伙伴&#xff0c;对于CAD轴测图并不陌生。CAD轴测图凭借立体感强、直观性好等特点&#xff0c;常作为产品设计制图的辅助图样&#xff0c;用来帮助人们读懂正投影视图&#xff0c;展示产品的整体结构特征。那么如何在…

cad超级排孔_家具cad排孔图 爆破排孔图

求一张板式家具CAD图&#xff0c;设计图&#xff0c;下料&#xff0c;排孔&#xff0c;安装图。 此外... 您可以使用正方形软件绘制家具效果图&#xff0c;可以使用3d max&#xff0c;还可以使用AUTO CAD绘制平面图、剖面图、效果图和三维线图。如果想省事&#xff0c;可以弄个…

【CAD3D】0基础绘制立体模型

一、需求 使用autocad软件绘制一个15.6寸裸屏立体模型。 二、操作 2.1建立文件 打开cad软件&#xff0c;点击左上角空白文件图标新建一个文件&#xff0c;会弹出选择样板窗口。选择acad3D.dwt样板&#xff0c;用于绘制3维模型。仅显示名称&#xff0c;不用理会。点击打开后创…

cad怎么表示出一个孔_AutoCAD如何画一个带孔的立体球

原标题:AutoCAD如何画一个带孔的立体球 第一步,在AutoCAD2007中操作菜单“绘图”→“建模”→“球体”,命令行窗口提示“指定中心点或 [三点(3P)/两点(2P)/相切、相切、半径(T)]:”,在模型空间任意位置点击鼠标;命令行窗口接着提示“指定半径或 [直径(D)]:”,键入“50”…

cad快看_CAD三维这样材质贴图,你学会了吗 ?

▲ 点击“CAD教学”,获取海量学习资料和免费教程 CAD画好三维图后,如果想给它贴图上大理石材质大概看一下效果如何,可以这样操作 ▲画好的三维图 1、点击菜单栏的视图——渲染——材质浏览器。 2、弹出的窗口中点击左下角这个+号按钮。 3、如果需要两种材质以上,可以选择新…

如何应用迅捷CAD编辑器,来绘制一份立体图形。

在CAD设计&#xff0c;为了效果的显著性&#xff0c;经常会用到关于CAD立体图形的绘制&#xff0c;立体图形要知道&#xff0c;是运用三维看图才能显示出来的&#xff0c;现在的CAD绘图软件也都有了关于CAD立体三维图形绘制的功能&#xff0c;那具体是怎么运用的呢&#xff1f;…

cad角度怎么画_初学入门CAD,就这样成精了!

经常有朋友问我怎么学习CAD&#xff0c;或者要求学习CAD&#xff0c;所以我觉得有必要把与学习CAD有关的几个问题阐述一下&#xff0c;以帮助想学者和初学者。还有朋友不知道知识兔吗&#xff1f;知识兔就等于学习&#xff0c;公主号超乎想象&#xff0c;学课程&#xff0c;下载…

Python 用turtle画房子

二层小阁楼 最近作业写的小例子,还可以&#xff0c;不算太丑。 效果如下&#xff1a; 代码如下&#xff1a; import turtle as t import time def go(x,y):t.penup()t.goto(x,y)t.pendown()def rangle(h,w):t.left(180)t.forward(h)t.right(90)t.forward(w)t.left(-90)t.fo…

使用UE4画刷BSP创建房子

UE4系列文章目录 文章目录 UE4系列文章目录前言一、步骤1. 在场景中添加地板2.添加房子盒体3.添加角色机器人到场景中4.给房子加一个门5.把房子挖空6.给房子加一层中间隔板7.给房子加楼梯8.添加窗户9.给房子添加材质9.给房子中添加一些小道具10.把房子变成一个整体 注意添加碰撞…

python turtle画房子详细解释_简述python的turtle绘画命令及解释

一 基础认识 turtle库是python的标准库之一,它是一个直观有趣的图形绘制数据库,turtle(海龟)图形绘制的概念诞生1969年。它的应用十分广,而且使用简单,只要在编写python程序时写上import turtle即可。 1.绘图窗口设置命令 turtle.setup(650,350,200,200):参数从左到右依…