巴特西
首页
Python
Java
PHP
IOS
Andorid
NodeJS
JavaScript
HTML5
STM32寻迹模块实现原理
基于STM32单片机的简单红外循迹的实现
初步接触STM32,采用两路红外传感器实现小车循迹,稍显简略,如有不好的地方,欢迎大家指点改正
MicroPython教程之TPYBoard开发板DIY红外寻迹小车
智能小车现在差不多是电子竞赛或者DIY中的主流了,寻迹,壁障,遥控什么的,相信大家也都见得很多了,这次就大家探讨一下寻迹小车的制作方法,不同于以往的是这次的程序不用C语言写,而是要使用python语言写. 视频演示: http://v.youku.com/v_show/id_XMTcwNzQ5ODcxNg==.html 1.实验目的 研究智能小车结合红外探头寻迹前进. 2.实验材料 TPYBoard开发板1块(能跑python语言的开发板,小车的大脑.) 四路红外感应探头(小车的眼睛). 数据线
STM32开发 -- 4G模块开发详解(转)
STM32开发 -- 4G模块开发详解(1) STM32开发 -- 4G模块开发详解(2) STM32开发 -- 4G模块开发详解(3) STM32开发 -- 4G模块开发详解(4)
Autoware 培训笔记 No. 4——寻迹
1. 前言 好多初创公司公布出来的视频明显都是寻迹的效果,不是说寻迹不好,相反可以证明,寻迹是自动技术开始的第一步. 自动驾驶寻迹:一种能够自动按照给定的路线(通常是采用不同颜色或者其他信号标记来引导)进行移动的汽车. 本章内容有和No. 1.No. 2与No. 3重复的内容,为了方便自己调试,我将重复的内容也贴出来. 注意:所有需要在 [Simulation] 菜单下加载的数据,都需要在所有操作之前操作,否则在RViz显示时,会出现frame_id错误. 采用寻迹方式,首先要做的就是要确定汽车
node 模块载入原理【1】
简单介绍 我们会从简单的模块载入原理来开始,尝试阅读下 Node.js 源代码.首先我们知道 Node.js 的源代码主要是由 C++ 和 JavaScript 编写的,JS 部分主要在 lib 目录下,而 C++ 部分主要在 src 目录下. 模块加载主要是分四种类型的模块: C++ 核心模块:主要在 src 目录下,比如 node_file.cc Node.js 内部模块:和 C++ 核心模块不同,在源码的 lib 目录下,以同名的 JS 源码来实现,实际上 Node.js 内置模块是对 C
4g物联网模块的原理
4G DTU模块也可以被称之为是含有第四代移动通信技术的模块,是随着科技不断发展进步下物联网和移动互联网发展下的又一产物.而4G技术包括TD-LTE和FDD-LTE两种制式.集3G与WLAN于一体并能够传输高质量视频图像以及图像传输质量与高清晰度电视不相上下的技术产品. A:4G模块的原理是什么? Q:4G LTE模块承载的无线技术提供高频谱效率.高速率.低时延的通讯技术模块,官方定位4G模块为集高质量话音和宽带数据为一体,支持全移动.综合多业务,并且实现网络可控,便于管理的联网模块,具有低成本
stm32驱动超声波模块
下面是关于stm32驱动超声波模块的一段代码,有需要的朋友可以复制参考,希望对大家能够有所帮助和启发. #define HCSR04_PORT GPIOB #define HCSR04_CLK RCC_APB2Periph_GPIOB #define HCSR04_TRIG GPIO_Pin_8 #define HCSR04_ECHO GPIO_Pin_9 #define TRIG_Send(n) do{ if(n == 0) GPIO_ResetBits(HCSR04_PORT,HCSR04_
STM32—驱动RFID-RC522模块
文章目录 一.S50(M1)卡介绍 1.S50(M1)卡基础知识 2.内部信息 3.存取控制 4.数据块的存取控制 5.控制块的存取控 6.工作原理 7.M1与读卡器的通信 二.RC522工程代码详解 1.RC522与M1通信 2.STM32对RC522寄存器的操作 3.STM32对RC522的基础通信 4.STM32控制RC522与M1的通信 5.测试函数 一.S50(M1)卡介绍 1.S50(M1)卡基础知识 1.每张卡有唯一的序列号,32位 2.卡的容量是8Kbit的EEPROM 3.分为
浏览器加载 CommonJS 模块的原理与实现
就在这个周末,npm 超过了 cpan ,成为地球上最大的软件模块仓库. npm 的模块都是 JavaScript 语言写的,但浏览器用不了,因为不支持 CommonJS 格式.要想让浏览器用上这些模块,必须转换格式. 本文介绍浏览器加载 CommonJS 的原理,并且给出一种非常简单的实现. 一.原理 浏览器不兼容CommonJS的根本原因,在于缺少四个Node.js环境的变量. module exports require global 只要能够提供这四个变量,浏览器就能加载 CommonJ
单步调试理解webpack里通过require加载nodejs原生模块实现原理
在webpack和nodejs里,我们经常使用require函数加载原生模块或者开发人员自定义的模块. 原生模块的加载,比如: const path = require("path"); 这个语句是webpack和nodejs应用里经常使用到的.今天就来谈谈它的实现原理. 还是通过单步调试的方式来学习. 大家首先得通过我前一篇文章 webpack打包过程如何调试?学会如何调试webpack打包过程. require函数的实现位于file:///internal/module.js 注意
浏览器加载 CommonJS 模块的原理与实现 (阮一峰大哥的 http://www.ruanyifeng.com/blog/2015/05/commonjs-in-browser.html)
就在这个周末,npm 超过了 cpan ,成为地球上最大的软件模块仓库. npm 的模块都是 JavaScript 语言写的,但浏览器用不了,因为不支持 CommonJS 格式.要想让浏览器用上这些模块,必须转换格式. 本文介绍浏览器加载 CommonJS 的原理,并且给出一种非常简单的实现. 一.原理 浏览器不兼容CommonJS的根本原因,在于缺少四个Node.js环境的变量. module exports require global 只要能够提供这四个变量,浏览器就能加载 CommonJ
python模块导入原理
转自:http://blog.csdn.net/u012422440/article/details/41791433 今日在自学Python,借此机会,正好重新开始写博文,既可以巩固python的知识,也可顺便提高一下文笔. 一.python模块基础 言归正传,Python的模块是python语言中代码复用的最高级别,也是系统命名空间的的划分标准,也是供顶层文件(就是包含程序主要控制流程的部分)调用的工具库文件.实现模型其实很简单,任何一个python文件都可以当做模型通过import进行导入
STM32—驱动GY85-IMU模块
GY85是一个惯性测量模块,内部集成了三轴加速度计.三轴陀螺仪.电子罗盘.气压传感器等芯片,用于测量和报告设备速度.方向.重力,模块可以将加速度计.陀螺仪.电子罗盘等传感器的数据进行综合,在上位机可以结合各种数据进行惯导算法融合. 这里介绍一下STM32驱动GY85的代码,模块与STM32的通信接口是IIC协议,我们采用软件IO口模拟IIC时序进行通信,读取到各个芯片的数据存放在全局变量,关于GY85的介绍以及一些基础知识可以参考这篇博客:点击跳转 芯片说明: ADXL345:三轴加速度计,测量
给初学者的STM32(Cortex-M3)中断原理及编程方法介绍 [原创www.cnblogs.com/helesheng]
本人编著的<基于STM32的嵌入式系统原理及应用>(ISBN:9787030697974)刚刚在科学出版社出版.这本书花费了半年以上的时间,凝聚了笔者作为高校教师和嵌入式工程师的一些经验,希望对大学生.嵌入式初学者和有一定经验的工程师都有参考和借鉴作用.在写作中尤其注意了不做芯片手册的"搬运工"和"翻译者",试图从开发者和工程师的角度理清知识点之间的逻辑关系,给读者一条清晰的学习路径.写作中尽量做到用生活中的实例来阐述抽象的概念:用工程实例来帮助大家提高
Firefly distributed模块的原理与twisted中PB远程调用协议
这些天断断续续在看Firefly, 看了一下distributed模块的设计,其实就是使用的twisted.spread.pb觉得以后要是想用Firefly有必要了解一下twisted, 所以在网上查了一下资料,更好的资料莫过于官方资料了,官方的例子挺多的,我挑了这一个例子: 这里给个官方的例子:server: from twisted.spread import pb # 这里使用Referenceable是可以通过远程调用获得此对象class Two(pb.Referenceable):
STM32 控制GSM模块收发信息 F407 discovery
main.c #include "stm32f4_discovery.h" #include <stdio.h> #define LED1_ON GPIO_SetBits(GPIOD,GPIO_Pin_12) #define LED1_OFF GPIO_ResetBits(GPIOD,GPIO_Pin_12) #define LED2_ON GPIO_SetBits(GPIOD,GPIO_Pin_13) #define LED2_OFF GPIO_ResetBits(GPI
12864点阵液晶显示模块的原理和实例程序(HJ12864M-1)
12864点阵液晶显示模块(LCM)就是由 128*64个液晶显示点组成的一个128列*64行的阵列.每个显示点对应一位二进制数,1表示亮,0表示灭.存储这些点阵信息的RAM称为显示数据存 储器.要显示某个图形或汉字就是将相应的点阵信息写入到相应的存储单元中.图形或汉字的点阵信息当然由自己设计,问题的关键就是显示点在液晶屏上的位置 (行和列)与其在存储器中的地址之间的关系. 由于多数液晶显示模块的驱动电路是由一片行驱动器和两 片列驱动器构成,所以12864液晶屏实际上是由左右两块独立的64*64
(八)STM32的CAN模块实验
bxCAN是基本扩展CAN(Basic Extended CAN)的缩写,它支持CAN协议2.0A和2.0B.它的设计目标是,以最小的CPU负荷来高效处理大量收到的报文.它也支持报文发送的优先级要求(优先级特性可软件配置). 主要特点*****; 支持CAN协议2.0A和2.0B主动模式 *****; 波特率最高可达1兆位/秒 *****; 支持时间触发通信功能 发送*****;3个发送邮箱 *****; 发送报文的优先级特性可软件配置 *****;记录发送SOF时刻的时间戳 接收*****
python发布模块的原理及部分讲解
基于ROS完成寻迹运动
安装opencv功能包: $ sudo apt-get install ros-indigo-version-opencv libopencv-dev python-opencv 检测指示线: #!/usr/bin/env python # coding=utf-8 import rospy from sensor_msgs.msg import Image import cv2, cv_bridge import numpy from geometry_msgs.msg import Twi
stm32基本定时器timer6的原理与使用
/********************基本定时器 TIM 参数定义,只限 TIM6.7************/ /* 一.定时器分类 STM32F1 系列中,除了互联型的产品,共有 8 个定时器,分为基本定时器,通用定时器和高级定时器.基本定时器 TIM6 和 TIM7 是一个 16 位的只能向上计数的定时器,只能定时,没有外部 IO.通用定时器 TIM2/3/4/5 是一个 16 位的可以向上/下计数的定时器,可以定时,可以输出比较,可以输入捕捉,每个定时器有四个外部 IO.高级定时器
热门专题
C#的https监听
redis keys名称导出
oracle 插入字段和表结构字段数量一直提示00913
IBM informax经典安装 创建实例失败
solidity语言随机数
mac ls 跟Linux ls 颜色一样
edge退出前没有提醒
rust deadpool-postgres 配置
align-items 与text-align
css3 六边形 超出的隐藏
centos7.9 网卡配置
selenium 浏览器内存修改
mysql怎么根据binlog恢复数据ubuntu
如何在python上完整打印出来表格没有省略号
go http server 源码分析
Android app启动白屏
postgres可以指定多个表空间吗
ubuntu系统状态监控
使用qt转换5张图片为灰度图
企业微信api接口文档