精选创意电子制作项目25例(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-11 04:57:54

点击下载

作者:《无线电》编辑部 编

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

精选创意电子制作项目25例

精选创意电子制作项目25例试读:

前言

电子制作项目向来都是电子爱好者、大中专学校电子专业师生的最爱。《无线电》杂志自1955年创刊以来,历经近60年、出版600余期,刊登了大量知识性、趣味性、可操作性俱佳的无线电制作文章,伴随着一代又一代无线电爱好者成长,拥有了一批又一批无线电和电子技术的粉丝。当代很多从事电子技术工作的专家、教授都出自当年的青少年无线电爱好者。有的无线电爱好者虽然没有从事电子技术专业工作,但他们能把自己的专长运用到工作中,使电子技术在其他领域得到了广泛的应用和发展。《无线电》杂志为自己在“科普、创新、实作、分享”当中不懈努力、得到众多粉丝认可而感到欣慰。

电子科学技术的发展是一个国家科学技术进步的重要标志之一。普及无线电和电子科学技术既是国家科学技术发展的需要,也是培养新世纪科技人才的需要,更是《无线电》杂志义不容辞的使命。为此,我们适时地把《无线电》杂志上介绍过的、优秀的制作类文章,认真精选汇编成书,以方便广大读者,延伸《无线电》杂志的科普服务功能。

2001年,我们汇编出版了第一本《无线电制作精汇》,精选汇集了《无线电》杂志发表的7大类382个制作项目。2005年汇编出版了《无线电制作精汇(2)》,精选汇集了第一本《无线电制作精汇》以后《无线电》杂志发表的8大类200个制作项目。这些书出版以来一直受到读者的欢迎并不断重印。

应广大读者要求,我们汇编了这套“《无线电》精汇”系列图书,内容取自《无线电制作精汇(2)》以后、特别是近年来《无线电》杂志发表的优秀制作类文章。既有传统的经典无线电与电子制作,又有体现时代特征的单片机应用开发制作,以及新世纪创意迸发的开源制作项目。这些项目既可以用于业余和课外电子制作活动,又能用于改进家用电器的功能,还可以用于开发电子产品。“《无线电》精汇”系列图书内容丰富、信息量大、涵盖技术领域宽广、资料齐全、实用性强,是广大电子技术人员、科研人员、无线电爱好者的重要参考手册,也是大中专学校学生开展电子科技实践活动的得力指导书籍。《无线电》编辑部

第一章 绚丽影音

1 LED小灯瓶

文:张彬杰

有一天在网上看到一个制作——LED电子萤火虫,我感觉电路很有特点,于是就想仿制一个。那个LED电子萤火虫是用ATtiny13单片机来控制的,我也正好有。而且硬件制作比较简单,成本也不高,10元钱都不到,就能DIY一个。虽然简单,但是制作却需要耐心和细心,毕竟需要连接12个LED,焊接的工作量不少,我自己用了一个下午才完成,而程序更是陆陆续续地写了几个小时。

估计你会很好奇地问,一共才6个可用I/O引脚的 ATtiny13,怎么能驱动12个LED呢?其实,我要告诉你,它不仅可以点亮每个LED,而且还能控制每个LED的亮度呢!这才是本次制作的精华。在制作的过程中,发生了一点小小的意外。由于我购买的JST充电线和原来的充电器引脚相反,致使我原本打算使用的小型锂电池损坏,不能充电。在万般无奈的情况下,我只好更换体积更大的锂电池了。

1.1 主要部件

这次的主要元器件就是ATtiny13和12个LED。当然还有双绞线、洞洞板、电池、空瓶子、电阻等其他辅助材料(见图1.1与表1.1)。图1.1 制作所需材料表1.1 制作所需材料

功能及特点

◆你可以送给朋友作为生日礼物。

◆它发出的淡黄色的光很温馨,可以在吃饭、聚会时烘托气氛。

◆虽然LED灯瓶有12个LED,但由于程序使用的是逐点动态扫描的驱动方式,整体功耗仅仅相当于点亮一个LED。因此,电池充电一次,连续工作一个星期不成问题。

◆用6个I/O引脚的单片机驱动12个LED。

◆可控制LED的亮/灭及渐变。

本制作使用的是8个引脚的ATtiny13单片机,这款单片机现在的价格很便宜,4元钱左右就能买到。ATtiny13是AVR单片机,它有 1KB 的 Flash、64Bytes 的 EEPROM、64Bytes的SRAM、6个通用I/O口线、32个通用工作寄存器、1个具有比较模式的8位定时器/计数器、片内/外中断、4路10位ADC、具有片内振荡器的可编程看门狗定时器,以及3种可以通过软件进行选择的省电模式。12个LED为普通的3mm发黄色光的LED。

1.2 制作过程

01 焊接单片机插座。

02 焊接两个电阻。

03 双绞线套入热缩管后,焊接LED。焊接好后,用打火机加热热缩管,使其收缩固定。最后,别忘了再扭下热缩管。

04 焊接好的12个LED。

05 将双绞线焊接到洞洞板上。

06 洞洞板和双绞线焊接好的效果。

07 焊接JST插头、锂电池和开关。

08 在瓶子上开口。

09 用热熔胶固定。

10 装入瓶子中。

1.3 控制原理

为什么6个I/O能控制12个LED呢?它们之间会不会相互影响呢?其实,这样的连接方式不仅能控制每个LED,还能控制其亮度呢!之所以能这样连接,是因为AVR单片机的每个I/O都是3态输出。如果用普通51单片机,这样连接是不行的。

那么又是如何控制LED亮度的呢?控制亮度的关键是ATtiny13的两路PWM,它们可以分别设置连接到PB0和PB1引脚上(见图1.2)。在ATtiny13使用内部振荡器的情况下,PWM的最高频率可设置为47.5kHz,而且PWM的极性可以通过设置寄存器而改变,这使得12个LED亮度的控制更加简单了。图1.2 控制电路原理图

先谈谈如何控制每个LED单独地亮和灭。ATtiny13的每个I/O都有4种状态,即输出0状态、输出1状态、高阻态(悬空态)、带上拉电阻的高阻态。要使LED亮必须要让LED中流过正向的电流,如果要让最左边的LED亮,PB1输出1、PB2输出0即可。但是,其他不相关的引脚需要设置成高阻态。否则,如果PB0此时也为1的话,第2个LED也会亮。总之,为了保证其他LED不受到影响,在设置某个LED亮时,必须先把所有I/O设置成不带上拉的高阻态。

能控制亮和灭有什么了不起?其实还能控制每个LED单独的渐变,就是渐渐变亮、渐渐变暗。我举个例子吧,如果要最左边的LED渐渐变亮,就先设置PB2引脚为0电平,设置PB1引脚为高电平驱动的PWM波。然后,程序逐渐控制PB1的PWM状态,通过调整PWM高电平的脉宽长度来实现亮度控制。当PWM高电平的时间长时,LED就变亮了。反之,LED就变暗了。

那么电路原理图中第7个反过来接的LED怎么实现亮度控制呢?原理还是一样,只是PB2将刚才的0电平设置成1电平,原来PB1为高电平脉冲驱动的PWM波设置成低电平脉冲驱动的PWM波即可。同样,要控制第7个LED的亮度,就控制PWM低电平的脉宽长度,当低电平的脉宽长度长时,LED就变亮了。反之,LED就变暗了。

那么能实现所有的LED同时发光吗?在制作过程中,这个功能的实现倒是困扰了我一会儿。后来,我想到了动态扫描。什么是动态扫描?老式电视机不就是这个原理吗?电视机通过磁场让射线高速地扫描屏幕,从而产生一幅画面。那么,让每个灯分别亮1ms左右,然后像电视机一样不断地扫描,看上去就都亮了。在此基础上,再控制每个灯的亮度数值,就能实现整体亮度控制了。如果LED足够多,单片机引脚也足够多,还可能显示一幅灰度画面呢!

1.4 3种效果的程序编写

程序的PWM频率设置为最高的37.5kHz。之所以选择这么高的频率是为了不影响动态扫描。试想,如果PWM频率为100Hz,那还怎么动态扫描呢?在程序中,动态扫描实际的频率为62Hz。这已经足够骗过人的眼睛,让我们看不到LED的闪烁。

在单片机的中断代码中,程序每过26μs就会产生溢出中断一次,通过变量count计数中断次数。当中断的次数达到50次时,就更换下一个LED,显示它对应的亮度。LED的亮度存储到led[ ]这个数组中,每个LED通过载入对应的亮度值,即通过改变PWM产生寄存器的OCR0A与OCR0B,来实际控制高低电平脉宽长度,最终实现亮度的控制。当然,每次通过PWM控制亮度,都要先根据LED的驱动电平方式,重新设置PWM的控制模式。在此之前,还要记得设置不相关的引脚为高阻态。

LED的3种效果控制程序能够实现LED不断地变换,只要调用就能分别实现如下功能:所有LED的呼吸效果、逐个点亮和熄灭LED、流水灯显示的效果。从编程的思路上讲,led[ ]数组存放了12个元素,每个元素所存内容即对应每个LED的亮度值。要改变某个LED的亮度,都是通过设置led[ ]数组中对应元素的 PWM 缓冲数值来实现自动变换。要让所有的LED全亮,只需设置数组中的每个元素的数值都为255即可。如果要一半的亮度就设置为128。要让某个LED单独最亮,只要设置这个LED元素数值为255,其他的元素为0。如果任意LED要产生渐渐变亮的效果,那么只要将对应数组元素中的数值从0逐渐变为255即可。同理,渐渐变暗,数值就从255变成0。要实现什么样的效果,大家可以通过改变led[ ]数组来实现。

■本制作的源代码可到《无线电》杂志网站www.radio.com.cn上下载,程序使用CVAVR编译,单击工程文件即可直接打开修改。当然你不想修改、完善的话,可以直接烧录编译好的HEX文件。

2 红外遥控版LED灯泡

文:张彬杰

记得1年前我家孩子刚出生那会儿,我给老婆买了个小夜灯插在墙壁上。每当小孩哭的时候就打开那个小灯给孩子喂奶、换尿布。之后的一段时间,每次半夜都还要起床开灯,感觉有点麻烦。于是,便产生了下面的这个小制作——红外遥控灯泡,它只需要用自己家里的遥控器,对着灯的方向,按任意按钮,即可实现开、关LED灯泡。这样,老婆自己就可以拿着遥控器开、关灯泡了。不过当我做完这个制作时,孩子已经长大些了,这个制作就留给来家里的客人上洗手间用吧!这次的制作需要对一个220V供电的LED灯泡进行改造,因此要格外小心。改装完成的LED灯泡结构和原来一样,只是灯泡里增加了红外控制电路。我用的LED灯泡的接口为E27接口,即普通家用的220V大螺旋接口。它是我在网上用11元钱买回来的。它的额定功率为3W,根据官方宣传:它比节能灯节能70%,在相同功率下,比节能灯亮2倍,而且寿命是节能灯的10倍、白炽灯的25倍。

2.1 选择LED灯泡的理由

LED灯泡是替代传统白炽灯泡的新型绿色光源,LED灯泡大多采用大功率LED芯片制作。为了防止眩光问题,外壳通常会使用磨砂玻璃或亚克力来制作,可以直接由市电驱动。大部分产品可以适用于AC 85~269V的电压输入。

我选择使用它是看重它的如下特点。(1)节能,白光LED的能耗仅为白炽灯的1/10、节能灯的1/4。(2)寿命长,对普通家庭照明基本可以实现“一劳永逸”。(3)可以工作在高速开、关状态。(4)纯直流工作,无频闪,消除了传统光源频闪引起的视觉疲劳。(5)采用PWM恒流技术,效率高、热量低、恒流精度高。(6)通用标准灯头,可直接替换现有多种光源。

2.2 制作所需材料

这次制作的主要元器件有:ATtiny13单片机、红外一体接收头和NMOS管,见图2.1。还有一些制作时使用到的辅料,如稳压芯片、万用板、插座、绝缘导线等。具体零件清单表2.1所示。图2.1 制作所用元器件表2.1 元器件清单

2.3 电路设计

最初,我想在220V电源上增加变压器进行变压,同时使用稳压芯片和滤波电容进行稳压。可是要在灯泡里增加变压器那可太有难度了。于是我打开灯泡一边看,一边想。LED灯泡不是有很好的稳压特性吗?经过带电测量,3节LED灯上能有稳定的9.9V压降。那LED灯泡断开(开路)时的电压又是怎样的呢?于是我把灯泡上的电源导线焊下来,通过万用表再次测量,为13V左右。真是高兴,这样我就可以直接用稳压芯片了。有了输入13V左右的电压,经过芯片1117-5.0稳定到5.0V电压就可以给单片机和一体化接收头供电了。由于手头的最后一片1117-5.0损坏了,我不得不用1117-3.3代替。还好单片机和一体化接收头都能在3.3V的电压下正常工作。

那么如何控制LED灯泡电流的通、断呢?刚开始我第一个想到的是超薄、超轻的继电器。买来它好久了,却一直没用上。不过经计算发现,流过LED灯泡的电流在300mA左右。这么点电流用MOS管控制也是没问题的,而且MOS管还没有继电器开、关时的“滴答”声呢!

单片机的PB1引脚和红外一体化接收头相连接,当遥控器对着接收头按下按钮时,PB1就会有一个低电平。一般遥控器发出的红外调制信号,会让一体化接收头产生9ms的低电平(大多数),作为遥控编码的引导条件。通过计算低电平的持续时间,来判断是否接收到了正确的红外信号。

电路原理图如图2.2所示。图2.2 电路原理图

2.4 制作过程

方案确定下来了,就开始我们的制作之旅吧!

01 切割洞洞板到合适的尺寸,至少能装到灯泡内的大小。

02 打磨洞洞板的边缘。

03 焊接单片机和红外一体接收头插座。

04 焊接稳压芯片和对应的2个电解电容。

05 焊接红外接收头用的滤波电容。

06 焊接场效应管和对应的2个电阻。

07 根据原理图焊接相应的导线。

08 把烧录好程序的单片机插到8脚插座上,把一体化接收头插到3脚插座上。

09 旋开LED灯泡的白色外壳。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载