电机
电机
普通直流电机
步进电机
伺服电机(舵机)
电机又称为电动机、马达,是一种通过电磁感应定律将电能转化成机械能,并可再使用机械能产生动能,用来驱动其他装置的电气设备。
种类
直流电机(DC)
交流电机(AC)
交直流两用电机(Universal)
直流电机根据有无电刷可分为
有刷直流电机(BDC)
电刷和换向器之间会不断进行摩擦
无刷直流电机(BLDC)
转子的永磁场和定子的电磁场互动进行工作
直流电机
有刷直流电机(BDC)主要参数
额定电流
即电机在额定环境条件下可以长期连续工作的电流。
空载转速
电机不带任何负载的转速。
其它参数
重量、工作温度等。
对于电机的控制,我们主要考虑电机的==旋转方向==和==旋转速度==
旋转方向
H桥电路可以用来控制电机的旋转方向
旋转速度
通过PWM控制转速
用arduino控制开关的开合,从而使电压产生PWM
步进电机
可精确控制电机输出轴角度
低速运行时可获得更高的扭矩
开环控制/性价比高
分类
单极性步进电机
双极性步进电机
单/双极性步进电机比较
单极性
双极性
通 ...
红外遥控
红外遥控
常用红外协议资料IRremote库 – 太极创客 (taichi-maker.com)
1838红外接收器
1838红外接收器引脚
Arduino引脚
OUT
11
VCC
+5V
GND
GND
红外接收(NEC协议)
1234567891011121314151617181920212223242526272829303132333435363738394041424344#include <IRremote.h>#define RECV_PIN 11 IRrecv irrecv(RECV_PIN); // 红外遥控初始化decode_results results; // 储存接收到的红外遥控信息 void setup(){ pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LOW); Serial.begin(9600); Serial.println("Enabling IRin"); ir ...
arduino内存
arduino内存
内部储存单元由几种不同的介质组成
介质
名称
特点
储存特点
FLASH
闪存(U盘)
价格低,读写慢
数量较大的静态信息。断电后可以保持存储内容。存储程序
SRAM
静态随机存储器
价格高,读写快
数量较小的动态信息,断电后不可以保持存储内容。储存程序变量
EEPROM
电可擦除可编程只读存储器
可擦写可编程 ,读写速度慢
只能读取信息,不能储存信息。(例如光盘)用于需要断电保持的程序变量
在EEPROM中读取和储存数据
对于arduino uno其有1024个字节(1kb)
可以储存1024个0~255十进制数
内存优化
SRAM资源远远小于FLASH资源
优化SRAM
串口监视器输出时用
用SRAM储存
1Serial. println("Taichi-Maker");
用FLASH储存
1Serial. println (F("Taichi-Maker"));
建立常量
用SRAM储存静态信息会对使用空间进行浪费
此时我们可以用FLASH分担SRAM的压力
将常量储存在FLASH ...
LED
RGB-LED
代码实现
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061const int rLedPin = 6; //引脚Rconst int gLedPin = 5; //引脚Gconst int bLedPin = 3; //引脚B int ledR = 0; //R Led 亮度int ledG = 0; //G Led 亮度int ledB = 0; //B Led 亮度 void setup() { pinMode(rLedPin, OUTPUT); pinMode(gLedPin, OUTPUT); pinMode(bLedPin, OUTPUT); Serial.begin(9600); Serial.println("Welcome to Taichi-Maker RGB Led Tutorial."); Serial.println( ...
红外人体感应模块
红外人体感应模块
引脚信息
人体感应传感器基本工作原理
d
感应到区域内红外状况变化
OUT引脚输出高电平
OUT引脚输出低电平
更多操作感应区域内红外状
OUT引脚输出情况
感应区域内红外状况变化
OUT引脚输出高电平
感应区域内红外状况无变化
OUT引脚输出低电平
人体感应传感器模块基本参数
工作电压范围(VCC):直流电压4.5-20V
电平输出(OUT):高3.3 V/低OV
工作温度:-15摄氏度$\pm ——70摄氏度
代码实现
123456789101112131415161718int irSensorPin = 7 ; // 连接红外传感器引脚bool irSensorOutput; // 红外传感器输出信号 void setup() { pinMode(irSensorPin, INPUT); Serial.begin(9600); Serial.println("Welcome to Taichi-Maker's IR Motion Sen ...
修音
软件-------studio one
ctrl+m打开插件
常规设置
Studio One—>选项---->常规
定位设置
设置默认保存路径
Studio One—>选项----->定位
音频设置
选择声卡
Studio One—>选项----->音频设置
导入文件
视图---->显示文件---->直接拖入
录音
按空格键盘停止录音
导出干声
右键—>选择---->输出选择
如果有很多断点
点击S---->乐曲----->导出混音----->导出范围------>乐曲开始/结束标记之间
导出混音
只想导出一段
往上点击选择画笔工具勾选范围
窗口得缩放
放大E,缩小W
重录干声片段
画笔工具选中----->按i激活穿插录音---->点击录音
在到达这个区域前是不会进行录音的,右键选择录得最满意的一次
节奏修正工具
点击音频轨上的==音频弯曲==工具------->点击分析------>
消除无声音频块
点击音频轨上的==消除无声==工具---->手册模式----->应 ...
概率论
概率论的基本概念
随机实验
特点
可以在相同的条件下重复地进行
每次试验的可能结果不止一个,并且能事先明确试验的所有可能结果
进行一次试验之前不能确定哪一个结果会出现
样本空间,随机事件
名称
特点
样本空间
随机试验E的所有可能结果组成的集合
样本点(基本事件)
样本空间的元素,即E的每个结果
样本空间的两种记法
$A_{1}={0,1,2,3}$
$A_{2}={x|\mathrm0\leq x\leq3}$
集合理论
示例图
公式
意义
1-1
$A\subset B$
A发生必导致B发生
1-2
$A \cup B=\left { x
x \in A {或}x \in B \right } $
1-3
$A \cap B=\left { x
x \in A {且}x \in B \right } $
1-4
$A-B={x
x\in A \mathbb {且}x\notin B}$
1-5
$A\cap B=\varnothing$
A和B是互斥的
1-6
$A\cup B=S{且} A\c ...
串口通信
串口通信
引脚
功能
引脚O RX
接收(Receive)
引脚1 TX
发送(Transmit)
RX TX工作时,相应LED会闪烁
所有要进行串口通讯的设备,接地必须连在一起
ardunio:TTL标准(0V-5V)
每一位数据所持续的时间
通过波特率来限定
波特率:9600→每秒传输9600位
Serial. available()函数,
Serial.available 返回串口接收缓存中等待传输的数据字节数量
Serial. read 读取数据
Serial.read成功读取数据后Arduino将已经被读取的数据从缓存中清除。
12345678910void setup(){ Serial.begin(9600);//启动串口通讯,传输波特率9600 Serial.println("Please input serial data");}void loop(){ if( Serial.available()>0){ int serialData = Serial.read(); ...
图
图的定义
图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:
$$
G=(V, E)
$$
其中:G表示一个图,V是图G中顶点的集合,E是图G中顶点之间边的集合。
在线性表中,元素个数可以为零,称为空表;
在树中,结点个数可以为零,称为空树;
在图中,顶点个数不能为零,但可以没有边。(没有空图的概念)
图的逻辑结构
若顶点$v_i$和$v_j$之间的边没有方向,则称这条边为无向边,表示为$(v_i,v_j)$。
如果图的任意两个顶点之间的边都是无向边,则称该图为无向图
若从顶点v,到v,的边有方向,则称这条边为有向边,表示为<vi,v>。
如果图的任意两个顶点之间的边都是有向边,则称该图为有向图
图的基本术语
简单图:在图中,若不存在顶点到其自身的边,且同一条边不重复出现。
数据结构中讨论的都是简单图。
邻接,依附
无向图
无向图中,对于任意两个顶点$v_i$,和顶点$v_j$,若存在边$(v_i,v_j)$,则称顶点$v_i$,和顶点$v_j$,互为邻接点,同时称边$(v_i,v_j)$依附于顶点$v_i$,和顶点$v_j$
$v_0$的邻接 ...
c++基础
c++基础
new与delete
new,delete用于堆空间的分配与回收
new:用于从堆中分配指定大小得内存区域,并返回内存区域得首地址,相较于malloc可以自动计算大小,无需指针转换。
用法示例:
1int *arr = new int[100];
delete:用于释放new分配的堆内存
用法示例:
1delete[] arr;
引用
引用是某个对象(即变量)的别名,定义形式如下:
类型&引用名 = 变量名;
例如
12int a = 10;int &b = a;
引用很少单独使用,常常作为形参的方式
例如:
1void swap(int &a,int &b){...}
注意:
(1)在变量声明时出现&才是引用运算符,其它地方的&都是取地址运算符;
(2)引用代表一个变量的别名,必须在定义时初始化,不能在定义完成后再赋值;
(3)一个引用名只能作为一个变量的别名;
传参方式
传地址方式
1void swap(int *p1, int *p2);
传地址方式的要点是:main函数和swap函数共用x, ...