大家好,我想要做一个能自己设置好时间的LED线路板,可是我不知道后面要加什么电子原件。
主要功能就是:当机器启动后,在指定的时间进行闪烁。
当然闪烁规则预先设置好,求一整套方法
嗯,自己以前学这专业。。。(笑)
感觉讲的很详细~
有兴趣可以看一看哦~#7109!
额,最后觉的这个隐藏文本的代码觉得好熟悉。。。
本帖最后由 你的益达剑指370 于 2013-7-1 00:55 编辑
前几天看到有人在版里求教程。OK我就来发点教程。下面这个网站是西安电子科技大学电子工程学院的网站,里面有电子信息类的很多专业基础课。我翻遍了四大所有的网站,包括北邮信通院的网站,东南 信息工程院的网站,电科大电子工程学院的网站,只有西电有提供专业课的录影。由此看出西电还是很不错的。
说明下,各个课程点进去之后会有分集的课程资源,可以直接点开观看,也可以右键迅雷下载。
该贴已经同步到 你的益达剑指370的微博
本帖最后由 shangui0237 于 2016-10-18 14:10 编辑
[写在前面]
[instructables.com是外国一家手工DIY社区,集中了相当多的DIY大神,在下每天没事的时候会去逛逛;但是独乐乐不如众乐乐,翻译&搬运一些他们的作品,看看世界上的学习者都在干什么,岂不美哉]
[转载请注明出处!]
[原帖地址:http://www.instructables.com/id/ ... ng-a-Penny-Battery/]
[原作者:FerriteGiant]
[翻译:山鬼]
成品图:
这个版本的电池设计可以追溯到Alessandro Volta于1799年设计的伏打电堆(译者按:这就是最早的直流电源的样子哦)。这里将展示两种不同的版本,他们使用不同的阳极材料。图中我展示的是五个电池组成的电池组,但是在下面教程中展示的将会是10个电池组成的电池组。
在以前别人发的教程中对实际制作的部分已经作了相当多的描述了,但是他们都没有对这种电池的参数和设计进行描述,这篇教程将会在这两个方面都有建树:)
材料清单
10枚铜便士 (1982年前发行)
铝箔(如果你使用上面那种硬币作为阳极材料)
10枚镀锌铜硬币(1982年后发行)
打磨机或者砂纸(如果你使用上那种硬币作为阳极材料)
被切成硬币大小的纸板(就是箱子上切下来的瓦楞纸板)
3D打印外壳(也可以是其他支架,当然用橡皮筋固定也可以)
连接电极用的电线
焊料(锡线)
焊剂(松香或者助焊剂什么的)
烙铁
万用表
白醋
盐
本帖最后由 shangui0237 于 2016-10-19 15:15 编辑
翻译完成! 有什么不足的地方可以提出,这次这个题目非常有趣,各位回家可以拿五毛硬币试试哟!如果成功了请务必跟帖~
下期预告:便携式太阳能充电器
@社区官方微博
[查看全文]
本帖最后由 shangui0237 于 2016-10-18 17:27 编辑
附录二 各种金属组合能提供的电压
我在电极配对时测试了十一种材料。总共是66种组合。 最高电压(1.7V)是由使用石墨(铅笔芯)和镁作为电极产生的。然而镁与醋的反应非常强烈,所以这不是一个非常实用的选择。
[查看全文]
本帖最后由 shangui0237 于 2016-10-18 17:23 编辑
附录:如何用钱给你的手机充电(正如字面意义上的)
正如我们在前面图表分析部分所看到的,9 - 10 V版本的电池不能提供任何接近手机充电电压的电压即使只提供几十毫安的电流的情况下。那么问题来了,如果要实际使用这些来为手机供电,我们需要并连多少这样的电池?
我们知道一个手机充电器需要5伏的电压。 设“a”为所需串联的电池数量(也称为多少电池组成单个“电池”),设“b”为并联连接的电池的数量。
这里采用Zn版本的电池,它具有较低的内阻(虽然它需要两倍的硬币)。
定义一些变量
a =串联电池数量
b =并联连接的电池数量
Vc =单电池开路电压= 9.48 / 10 = 0.948伏
Ic =单电池电流
Rc =单电池内阻=约6400/10 = 640欧姆
Vp =负载电压= 5V
Ip =负载电流,USB 2.0标准是500 mA,
所以让我们从电压环规则看单个电池和负载我们有下式:
a *(Vc-Rc * Ic)-Vp = 0
又因为Ip = b * Ic
可以得到方程
b =(Rc * Ip)/(Vc-Vp / a)
所以现在我们有一个关于电池数量的方程,我们可以看到,当每个串联电池由10个电池组成时,b =约710。
硬币的总数是a * b * 2,所以如果需要以5V500毫安的功率给手机充电,我们大约需要14200便士,如果每个电池由10个单元组成的话(20枚硬币)。
当然,下一个问题是什么时候有串联与并联的最佳比率?为此,我们需要一个总硬币数的函数。
总数= a * b = a *(Rc * Ip)/(Vc-Vp / a)
如果我们绘制这个函数,寻找最小值的位置,或者对这个函数求导,并寻找它等于零的地方,我们将找到每个电池最有效的单元格数。
事实证明,对于这种情况,最好的数字是10.5。显然我们不能有一半的单元格,所以10或11将是最有效的。 (如果我们每个电池使用11个电池,我们需要650个电池,或者14300个硬币,所以10个硬币的数量稍微好一点,虽然它可能比710个电池更容易制造650个电池,11个电池10个单元块)。
因此,只需$ 142(加上710打印案件的成本,一点纸板和一点电线),你可以建立自己一个手机充电器,大概会很好的工作吧...
有趣的是,事实证明,电池中的电池的最佳数量几乎仅取决于每个电池的电压。如果你使用具有大约0.58伏的每电池电压的Al和Cu版本,则每个电池中的最佳电池数量将几乎恰好为17。当然在这种情况下,每个电池单元由一个硬币和一个铝组成,而Zn和Cu版本每个单元是2个硬币。而内部电阻仍将影响所需的电池总数,因为如果内部电阻升高,每个电池单元只能够提供更少的电流。所以对于铝和铜版本,最佳的硬币数量由(17个电池/电池)*(1820电池)*(1硬币/电池)= 30940个硬币,或$ 310加上所有铝的成本等。
[查看全文]
本帖最后由 shangui0237 于 2016-10-18 19:41 编辑
现在我们已经做好了一个电池,想知道它有怎样的特性。这就将是我最喜欢的部分,制作图表!
如果你使用10枚铜硬币和铝箔制造电池,你应该测量到大约5 - 6伏的总串联电压。如果你使用锌和铜(总共20美分硬币),你应该测量到9和10伏之间的值。但是如果你试图用它来为某些东西供电,同时测量电压,你会注意到电压迅速下降。这是由于电池中每个电池的内阻增大引起的。
我们可以认为电池是一个与电阻串联的理想电压源,如第一张图所示。(理想电压源是其中电压在负载变化时不变化的电压源)。如果我们用万用表测量“开路”电压,这给出了这个理想电压的非常好的近似值,因为在这种模式下,通过的电流非常小。
为了找到这个内部电阻值,我们需要确定各种电流下该电阻上的压降。如果我们测量开路电压为10伏,加载10毫安的电流后我们测量到9伏的电压,这意味着内部电阻上有1伏的压降。根据欧姆定律,我们可以确定
R = V / I = 1 / 10e-3 = 100欧姆。
当然我们现在不只是一次测量的结果,我们要采取几个线性拟合的结果数据集的电压降对电流。由于V = IR是一个线性方程,最佳拟合线的斜率也就是我们想得到的内部电阻。
如图,我们获取到了5个不同的数据集。这里有一些有趣的事情要注意。
看看顶部两行(橙色和绿色)之间的差异。这些显示了当向食醋中添加盐时所产生的差异,其结果是内阻大约减少3倍。
比较蓝色和绿色(都使用铜和铝),显示串联添加电池确实导致内阻近似线性增加。 (换句话说,每个电池具有约1k欧姆的内部电阻,4个电池组合产生4和5k欧姆左右,而10在一起产生10-11k欧姆)。
比较绿色(10个Cu和Al电池)和紫色(10个Cu和Zn电池),我们看到Zn电极不仅增加总电压,而且使内部电阻降低到使用Al时的约五分之三。
黄线表示当整个电池浸入电解质溶液中时发生了什么,有效地将所有电池并联连接。或者我们可以认为它是一个单元格,具有10倍的电极表面积。这导致内部电阻20倍的减小了,尽管当然最大电压仅为0.6-0.7伏。我对这种减少的预期电阻值大约的十分之一,但是这里减少的更多,如果你有更好的解释,请联系我
最重要的是,在任何环境中,该电池的内阻真的非常非常大。
[查看全文]
本帖最后由 shangui0237 于 2016-10-18 19:40 编辑
电池放置一段时间之后的恢复
上面提到的电压电压只能持续一天左右,然后会下降。我们可以将整个东西泡进电解质溶液,让它浸泡一会儿,来恢复电压。在图片中看到的是锌和铜的版本。当电池整体浸没在电解质中时,等效于并联的10个电池,因此其仅产生0.97伏特,但是内阻将低得多。
把电池拉出来之后沥干,就又可以用了。
[查看全文]
本帖最后由 shangui0237 于 2016-10-18 16:37 编辑
铝-铜电池
每个电池的电压为约0.58伏。我们一共用了10个硬币,最后得到5.8伏,几乎刚好是电压表测量的总输出。
锌-铜电池
每个电池的电压在0.9和1伏之间, 9.4伏特的输出在该范围内。
[查看全文]
本帖最后由 shangui0237 于 2016-10-18 15:21 编辑
第三步 准备电解质溶液垫
准备5%的白醋和几勺盐做成电解质溶液混合物,然后切五块比1分硬币稍小的纸板,纸板将会放在每层之间,但是纸板必须仅接触正上方和正下方的电极层,而且必须足够厚使得电极之间不能互相接触。
向玻璃杯之间放入前面准备的醋和盐,混合好之后将前面切好的纸板放入溶液中浸泡一两分钟,最后将这些纸板按前面的排列方式放入电池中。
如果你用的是铝阳极,则要特别注意,如果铝片太小了的话会让纸片越过铝直接和铜接触。这需要特别避免。
[查看全文]
本帖最后由 shangui0237 于 2016-10-18 13:45 编辑
[写在前面]
[instructables.com是外国一家手工DIY社区,集中了相当多的DIY大神,在下每天没事的时候会去逛逛;但是独乐乐不如众乐乐,翻译&搬运一些他们的作品,看看世界上的学习者都在干什么,岂不美哉]
[转载请注明出处!]
[原帖地址:http://www.instructables.com/id/Arduino-Labview-With-2-DS18B20/][原作者:NicolasJ7]
[翻译:山鬼]
实际效果图:
蛋挞妹。 发表于 2016-10-18 12:45翻译辛苦了!
如果可以的话还是去要一下翻译及转载的授权比较好哦!
这个网站的版权说明是BY-NC-SA,所以标明来源并采用同样的版权声明就已经合法啦~~
但是我还是去试着问一下授权好了
[查看全文]
shangui0237 发表于 2016-10-17 23:19第一次翻译和搬运外国人的教程,选择了一个相对简单的,有什么不足的地方可以提出来233
之后会给大家带来更 ...
翻译辛苦了!
如果可以的话还是去要一下翻译及转载的授权比较好哦!
[查看全文]
本帖最后由 shangui0237 于 2016-10-18 19:39 编辑
第一次翻译和搬运外国人的教程,选择了一个相对简单的,有什么不足的地方可以提出来233
之后会给大家带来更多有趣的内容~
下期预告: [什么?用一堆硬币做个个九伏电池?外国人用20枚10便士硬币和3D打印外壳做了个电池]
之后就是搬运视频了...不过这个应用里LabView用的还算是很简单的,自学大概在第三课的难度水平吧,需要资料的也可以联系在下~~
[查看全文]
本帖最后由 shangui0237 于 2016-10-17 23:15 编辑
第三步 LabVIEW配置和联调
这一步在我的视频中我尝试着将步骤一步一步的写出来。
总之,我将VI软件设置好了,将COM口设置的和你的Arduino IDE中的一致,然后我们能看到,我们发送了两个连了A和B的字符串,当我们进入While循环之后,有一个延迟来控制样品读数。读取函数后,字符串转到匹配模式,过滤每个数据字符串。 然后,转换为数字(double型)并连接到温度计应用中。
也可以添加更多的功能显示,如图形,波浪等。
设计源代码下载:Vi代码
[国内视频搬运中,油管地址:https://www.youtube.com/watch?v=_iuLeUlHLTg]
[查看全文]
本帖最后由 shangui0237 于 2016-10-17 23:15 编辑
第二步Arduino配置
这一步是相对简单的一步,我们只要读出温度值然后发送一个带有判断头的字符串,这个字符串在labview那边将会被解析
正在被使用的DS18B20是inox封装的版本,以及一个很普通的4.7 K电阻。这些传感器的数据线连接到Arduino的Pin2
红线:+5V
黑线:Gnd
蓝线:Data
确定你包含了所需的库文件(相关文件会附在下面)
#include
#include
Arduino的数据管脚定义
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
//将单总线数据转化出来
DallasTemperature sensors(&oneWire);
void setup(void) {-设定串口通讯波特率(9600),并初始化库
Serial.begin(9600);
sensors.begin();
}
void loop(void) {
-读温度值
sensors.requestTemperatures(); // 发送获取温度命令
获取并将数值转化为实际数值,这里使用的华氏温度
sensors.getTempFByIndex()
String sensor1 = String(sensors.getTempCByIndex(0),DEC);
String sensor2 = String(sensors.getTempCByIndex(1),DEC);
将实际温度值添加头部
String temp1 = String("A" + sensor1);
String temp2 = String("B" + sensor2);
将数据从端口发送至电脑
Serial.println(temp1);
Serial.println(temp2);
}
将代码下载到Arduino的板子上,当你连接好并运行的时候,用手握住其中一个传感器,可以看到“A”和“B”其中一个传感器的温度有明显升高。
源代码:
http://www.instructables.com/fil ... FTG3RU3IQK3MQSM.rar
http://www.instructables.com/fil ... FZN4QJOIQK3MQS3.rar
http://www.instructables.com/fil ... FGIJ8R2IU9V96Z2.ino
[查看全文]
各位观众大家好,这个教程是写给那些想要在PC和arduino之间建立一个连接的朋友们的。我选择了非常常用的DS18B20,因为现在在网上没有明确的关于如何去搭建它们的信息,VI也没有关于它的解决方案。我假设各位对labview这个软件已经达到了基础的水平。如果你没有相关软件的使用基础的话,这里有一些信息来帮助你起步(甚至我想它还可以免费试用)
[http://www.ni.com/labview/why/]
Labview这个软件呢也有针对arduino开发推出的工具:LINX,但是它不支持我们将要使用的这个传感器。
接下来的教程中我们将会用到两个DS18B20,这将会给我们在开发连接多个传感器或者从arduino发送数据时提供灵感。后面提供的代码并不是最终版本,你可以对他们进行修改来适配你自己的应用。
你可以去看我发布的视频来学习如何制作Labvie软件界面,当然,我也准备了包括arduino和VI界面的代码附在后面。
[译者的话:Labview软件是美国NI公司推出的一款用来开发上位机的软件,用图形界面来开发上位机应用,搭配它出的电子实验室,非常方便和好用。想要软件和教程的可以私信我,我百度云里保存了相关文件]
[查看全文]
嘛,过来同样是地研所的子板块逛一下~ 顺便发出最近的拙作
单片机还是从arduino上手,虽然微机原理课玩过stm32,但终究不是很喜欢。
首先是我们的声波检测模块hc-sr04
详细参数如下:
通过发射声波接受返回的方式来检测有无物体
需要在trin引脚用一个10ms的脉冲去激发
然后接受echopin的高电位时间,使用pluseIn()
根据公式除以58就是距离的厘米数了。
同时我们用led red来进行报警
并buzzer在200HZ~800HZ间蜂鸣
代码如下:
[mw_shl_code=c,true]const int echopin=3;
const int trigpin=2;
int buzzer=6;
int led = 5;
void setup() {
Serial.begin(9600);
pinMode(buzzer,OUTPUT);
pinMode(echopin,INPUT); //设定echo为输入模式
pinMode(trigpin,OUTPUT);//设定trig为输出模式
pinMode(led, OUTPUT);
}
void notice()
{
int i,j;
for(i=0;i<40;i++)//输出一个频率的声音
{
digitalWrite(buzzer,HIGH);//发声音
delay(1);//延时1ms
digitalWrite(buzzer,LOW);//不发声音
delay(1);//延时ms
}
for(i=0;i<50;i++)//输出另一个频率的声音
{
digitalWrite(buzzer,HIGH);//发声音
delay(2);//延时2ms
digitalWrite(buzzer,LOW);//不发声音
delay(2);//延时2ms
}
}
void warn()
{
for(int i=200;i<=800;i++)
{
pinMode(buzzer,OUTPUT);
tone(buzzer,i);
delay(5);
}
delay(4000);
for(int i=800;i>=200;i--)
{
pinMode(buzzer,OUTPUT);
tone(buzzer,i);
delay(10);
}
}
void loop() {
digitalWrite(trigpin,LOW);
delayMicroseconds(2);
digitalWrite(trigpin,HIGH);
delayMicroseconds(10);
digitalWrite(trigpin,LOW); //发一个10ms的高脉冲去触发TrigPin
float distance = pulseIn(echopin,HIGH);//接收高电平时间
distance = distance/58.0;//计算距离
Serial.print(distance); //输出距离
Serial.println("cm"); //输出单位
if(distance<60)
{
digitalWrite(led,HIGH);
warn();
}
else
{
digitalWrite(led,LOW);
}//距离小于100cm时,led写入高电平
delay(100);
}[/mw_shl_code]
结果如下