arduino学习笔记-14-光控LED实验
光控LED实验光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化 铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照下, 其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下漂移运动,从而使光敏电阻的阻值迅速下降。
光敏电阻:
接线图
代码1234567891011121314151617int photocellPin = 2; //定义变量 photocellsh=2,为电压读 取端口。int ledPin = 12; //定义变量 ledPin=12,为 led 电平输出端口int val = 0; //定义 val 变量的起始值void setup() { pinMode(ledPin, OUTPUT); //使 ledPin 为输出模式} void loop() { val = analogRead(photocellPin); //从传感器读取值 if(val<=512){ //512=2.5V,想让传感器敏感一些的时 候,把数值调高,想让传感器迟钝的时候把 ...
arduino学习笔记-11-按钮实验
按钮实验按键是一种常用的控制电器元件,常用来接通或断开电路,从而达到控制电机或者其他设备运行的开关。
未按下时1,2相连,3,4相连;按下时1,2,3,4全部接通。
一般情况是直接把按键开关串联在 led 的电路中来开关,这种应用情况比较单一。这次实验通过逻辑判断的方法间接控制,按键接通后判断按键电路中的输出电压,如果电压大于 4.88V,就使给 LED 电路输出高电平,反之就输出低电平。使用逻辑判断的方法来控制 LED 亮或者灭。
接线
代码1234567891011121314151617int key=7;//设置 LED 的数字 IO 脚void setup() { pinMode(key,OUTPUT);//设置数字 IO 引脚为输出模式} void loop() { int i;//定义变量 while(1) { i=analogRead(5);//读取模拟 5 口电压值 if(i>1000)//如果电压值大于 1000(即 4.88V) di ...
arduino学习笔记-10-数码管实验
数码管实验数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按 段数分为七段数数码管和八段数数码管,八段数数码管比七段数数码 管多一个发光二极管单元(多一个小数点显示)。发光二极管单元连接方式分为共阳数码管和共阴数码管。
共阳数码管:是指将所有发光二极管的阳极连接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极 PWR 接到电源输入 PWR 上,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一 字段的阴极为高电平时,相应字段就不亮。共阴数码管则相反。
共阴数码管:所有发光二极管的阴极连接到一起形成了公共阴极,阳极是独立分开的。
数码管和发光二极管一样,需要添加限流电阻。
接线图
代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 ...
arduino学习笔记-9-蜂鸣器实验
蜂鸣器实验小型蜂鸣器因其体积小(直径只有 6mm)、重量轻、价格低、结构牢靠, 而广泛地应用在各种需要发声的电器设备、电子制作和单片机等电路中。这种蜂鸣器分有源蜂鸣器与无源蜂鸣器。
无源蜂鸣器:底部有绿色电路板,电阻只有 8Ω 或者 16Ω
有源蜂鸣器:底部没有电路板而使用黑胶密封,电阻在几百欧以上。
有源蜂鸣器直接接上额定电源(新的蜂鸣器在标签上都有注明)就可 以连续发声,而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声。
通过上网查询参数,得到其工作电压为 5V,和 arduino 控制板数字端口输出电压一致,所以不需要接电阻。可直接接上使用。
接线图
代码12345678910111213141516171819202122232425262728int buzzer=7;//设置控制蜂鸣器的数字 IO 脚void setup() { pinMode(buzzer,OUTPUT);//设置数字 IO 脚模式,OUTPUT 为输出} void loop() { unsigned char i,j;//定义变量 ...
arduino学习笔记-8-LED闪烁实验
LED闪烁实验LED工作电压一般 为 1.5-2.0V,工作电流一般为 10-20ma,反向击穿电压为 5V。控制板逻辑电路供电为 5V。根据以上参数假设 LED 工作电压选用 1.7V,工作电流选用 15ma,限流电阻=(总电压-LED 电压)/电流,所以限流电阻 =(5-1.7)/0.015=220Ω。
接线图
代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697//设置控制 Led 的数字 IO 脚int Led1 = 1; int Led2 = 2; int Led3 = 3; int Led4 = 4; int Led5 = 5; int Led6 = 6; //led 灯花样显示样式 1 子程序void style_1(void) { u ...
arduino学习笔记-7-模拟输出
模拟输出
将模拟值(PWM 波)输出到管脚。可用于在不同的光线亮度调节发光二极管亮度或以不同的速度驱动马达。调用 analogWrite()后,该 引脚将产生一个指定占空比的稳定方波,直到下一次调用analogWrite()(或在同一引脚调用 digitalRead()或digitalWrite())。 PWM 的信号频率约为 490 赫兹。
在大多数 Arduino 板(带有 ATmega168 或 ATmega328),这个函数工作在引脚 3,5,6,9,10 和 11。在 ArduinoMega,它适用于2-13 号引脚。老的带有 ATmega8 的 Arduino 板只支持 9,10,11引脚上使用。你并不需要在调用 analogWrite()之前为设置输入引脚 而调用 pinMode()。
这个 analogWrite 方法与模拟引脚或者 analogRead 方法毫不相干
当使用analogWrite()函数,制定引脚通过高低电平的不断转换来输出一个周期固定(约490Hz)的方波,通过改变高低电平在每个周期所占的比例(占空比),得到近似输出不同电压的效果。
语法anan ...
arduino学习笔记-6-模拟输入
模拟输入
从指定的模拟引脚读取值。Arduino 主板有 6 个通道(Mini 和 Nano有 8 个,Mega 有 16 个),10 位 AD(模数)转换器。这意味着输入电压 0-5 伏对应 0-1023 的整数值。这就是说读取精度为:5 伏/1024个单位,约等于每个单位 0.049 伏(4.9 毫伏)。输入范围和进度可以通过 analogReference()进行修改。模拟输入的读取周期为 100 微秒(0.0001 秒),所以最大读取速度 为每秒 10,000 次。
在Arduino中,编号A0~A5的引脚是模拟输入引脚,Arduino可以读取这些引脚上输入的模拟值,也就是引脚上输入电压的大小。
模拟输入引脚带有ADC(Analog-to-Digital Converter 数模转换)功能。它可以将外部输入的模拟信号转换为芯片运算时可以识别的数字信号,从而实现读取模拟值的功能。
输入电压 05 伏会转换成 01023 的整数值。这就是说读取精度为:5 伏/1024个单位,约等于每个单位 0.049 伏(4.9 毫伏)。
模拟输入功能需要使用**analogRead(pin)* ...
arduino学习笔记-5-PWM(脉冲宽度调制)
PWM(脉冲宽度调制)脉冲宽度调制或 PWM,是通过数字均值获得模拟结果的技术。数字控制被用来创建一个方波,信号在开和关之间切换。这种开关模式通 过改变“开”时间段和“关”时间段的比值完全模拟从开(5 伏特)和关(0 伏特)之间的电压。“开时间“的周期称为脉冲宽度。为了得到不同的模拟值,你可以更改,或调节脉冲宽度。如果你重复这种开关模式速 度足够快,其结果是一个介于 0 和 5V 之间的稳定电压用以控制 LED的亮度。
下图中,绿色线表示一个固定的时间期限。此持续时间或周期是 PWM的频率的倒数。换言之,Arduino 的 PWM 频率约为 500Hz,每个绿线之间表示 2 毫秒。一个 analogWrite()的调用区间为 0- 255,例 如 analogWrite(255)需要 100%占空比(常开),和 analogWrite(127)是 50%占空比(上一半的时间)。
一旦你运行这个例子中,抓住你的 Arduino 来回摇晃。你这么做的实 质上是时间跨越时空的映射。对我们的眼睛,每个运动模糊成一条线 的 LED 闪烁。由于 LED 消失和缩小,那些小行的长度会增长和收缩。 ...