最好的电子音响科技diy制作网站

haoDIY_音响电子电脑科技DIY小制作发明

12V射灯装饰

时间:2017-06-03 21:47来源:未知 作者:admin 点击:
错误的熔丝设置可能你的砖的AVR芯片,那么就很难解锁芯片。 (你可能需要专门的软件和并行编程能够解锁这些芯片。) 现在插入targate芯片在AVR燃烧器的DIP插座的正确方向,你正在使用,连接到你的电脑USB端口的燃烧
12V射灯装饰

目的:—

我们希望有四个装饰直流12V射灯闪烁随机以不同的方式为我们展示的窗口。或许,这本来是很容易购买现成的这样的事情,但是,那就没有了乐趣,我还想让ATmega8芯片的一些建设性的使用,我已经躺在我先前的项目。由于该项目是出了这样的期望,我想与你分享我的经历。

第一件事,我想有一个中继板不作连续的咔嗒声,使机械继电器。它可以是相当恼人的滴答声从那些继电器,所以我想用MOSFET代替传统的机械式继电器

步骤1:所需配件

我呆的地方,很难找到逻辑电平MOSFET所以我只好irf540n作为MOSFET开关。的irf540n很便宜和容易获得,这是一个方便的选择。最初我是持怀疑态度的,所有的电压和输出电流限制和Arduino已经使用3906个晶体管的电流进行放大,但当尝试在线路板上的想法,我想我们能不与5伏的Arduino的晶体管管理。我试着用Arduino 3.3伏的版本太多但我不得不使用3906个晶体管才能工作。因为我们要使用5伏的版本我们会忘记现在的晶体管。

我们将使用12V直流输出为聚光灯和我们需要5V直流的Arduino,板的设计是为了将一个5V稳压IC(流行7805)以ATmega8供电,我们将使用一个12V 2A直流壁疣/电源通过irf540n MOSFET电源灯功率。

零件和工具的使用

1。ATmega8 x 1

2。7805电压调节器

三.1 x 4 UF陶瓷电容器。

4。22pf陶瓷电容器x 2

5。47uf电解电容器x 1

6。10uF的电解电容器x 1

7。2200uf电解电容器x 1

8。10k¼瓦的电阻x 5

9。1k¼瓦的电阻x 4

10。220欧姆的电阻¼瓦x 2

11。3mm的发光二极管x 2

12。16MHz的晶体x 1

13。irf540n MOSFET x 4

14。12V直流插座×1桶

15。2引脚端子×4

16。覆铜箔板PCB 4“x 2.5”

17。三氯化铁(蚀刻)

18。丙酮

19。爽肤水转印纸

20。一般小型手动工具

21。各类跳线焊接,Flux Etc.

步骤2:PCB

PCB

PCB布局和组件布局的图片清楚地显示它是相当简单的组装。

我不认为有必要去插入各部分焊接到板的细节。所有的部件都通过孔和在组件布局一看就足以告诉你去什么地方

步骤3:素描

在董事会完成,我用Arduino IDE编译一个小品,将打开和关闭LED灯连接在不同序列的四个输出端,并继续这样做无休止的。请注意,我用的数字引脚5,6,7和8为输出引脚,这些引脚连接到控制引脚的板上跳线。这些引脚不被永久地连接到彼此在PCB设计时会因为你可能要使用不同的引脚ATmega8的/ 328你的素描。

素描是非常简单的,我们需要的是有四的单片机I/O引脚的高和低的按你的要求和命令,你希望你的灯闪烁的速度,你希望他们眨眼。所以这里去:—

素描—

无效setup()

{

pinmode(5,输出);

pinmode(6,输出);

pinmode(7,输出);

pinmode(8,输出);

}

无效loop()

{

digitalwrite(5高);

digitalwrite(7高);

延迟(100);

digitalwrite(5低);

digitalwrite(7低);

延迟(100);

digitalwrite(6高);

digitalwrite(8高);

延迟(100);

digitalwrite(6低);

digitalwrite(8低);

延迟(100);

digitalwrite(5高);

digitalwrite(7高);

延迟(100);

digitalwrite(5低);

digitalwrite(7低);

延迟(100);

digitalwrite(6高);

digitalwrite(8高);

延迟(100);

digitalwrite(6低);

digitalwrite(8低);

延迟(100);

digitalwrite(5高);

digitalwrite(7高);

延迟(100);

digitalwrite(5低);

digitalwrite(7低);

延迟(100);

digitalwrite(6高);

digitalwrite(8高);

延迟(100);

digitalwrite(6低);

digitalwrite(8低);

延迟(100);

digitalwrite(5高);

digitalwrite(7高);

延迟(100);

digitalwrite(5低);

digitalwrite(7低);

延迟(100);

digitalwrite(6高);

digitalwrite(8高);

延迟(100);

digitalwrite(6低);

digitalwrite(8低);

延迟(100);

digitalwrite(5高);

digitalwrite(7高);

延迟(100);

digitalwrite(5低);

digitalwrite(7低);

延迟(100);

digitalwrite(6高);

digitalwrite(8高);

延迟(100);

digitalwrite(6低);

digitalwrite(8低);

延迟(100);

digitalwrite(5高);

延迟(100);

digitalwrite(5低);

延迟(100);

digitalwrite(6高);

延迟(100);

digitalwrite(6低);

延迟(100);

digitalwrite(7高);

延迟(100);

digitalwrite(7低);

延迟(100);

digitalwrite(8高);

延迟(100);

digitalwrite(8低);

延迟(100);

digitalwrite(5高);

延迟(100);

digitalwrite(5低);

延迟(100);

digitalwrite(6高);

延迟(100);

digitalwrite(6低);

延迟(100);

digitalwrite(7高);

延迟(100);

digitalwrite(7低);

延迟(100);

digitalwrite(8高);

延迟(100);

digitalwrite(8低);

延迟(100);

digitalwrite(5高);

延迟(100);

digitalwrite(5低);

延迟(100);

digitalwrite(6高);

延迟(100);

digitalwrite(6低);

延迟(100);

digitalwrite(7高);

延迟(100);

digitalwrite(7低);

延迟(100);

digitalwrite(8高);

延迟(100);

digitalwrite(8低);

延迟(100);

digitalwrite(5高);

延迟(100);

digitalwrite(5低);

延迟(100);

digitalwrite(6高);

延迟(100);

digitalwrite(6低);

延迟(100);

digitalwrite(7高);

延迟(100);

digitalwrite(7低);

延迟(100);

digitalwrite(8高);

延迟(100);

digitalwrite(8低);

延迟(100);

digitalwrite(5高);

延迟(100);

digitalwrite(5低);

延迟(100);

digitalwrite(6高);

延迟(100);

digitalwrite(6低);

延迟(100);

digitalwrite(7高);

延迟(100);

digitalwrite(7低);

延迟(100);

digitalwrite(8高);

延迟(100);

digitalwrite(8低);

延迟(100);

digitalwrite(5高);

延迟(100);

digitalwrite(5低);

延迟(100);

digitalwrite(6高);

延迟(100);

digitalwrite(6低);

延迟(100);

digitalwrite(7高);

延迟(100);

digitalwrite(7低);

延迟(100);

digitalwrite(8高);

延迟(100);

digitalwrite(8低);

#p#分页标题#e#延迟(100);

digitalwrite(8高);

延迟(150);

digitalwrite(8低);

延迟(150);

digitalwrite(7高);

延迟(150);

digitalwrite(7低);

延迟(150);

digitalwrite(6高);

延迟(150);

digitalwrite(6低);

延迟(150);

digitalwrite(5高);

延迟(150);

digitalwrite(5低);

延迟(150);

digitalwrite(8高);

延迟(150);

digitalwrite(8低);

延迟(150);

digitalwrite(7高);

延迟(150);

digitalwrite(7低);

延迟(150);

digitalwrite(6高);

延迟(150);

digitalwrite(6低);

延迟(150);

digitalwrite(5高);

延迟(150);

digitalwrite(5低);

延迟(150);

digitalwrite(8高);

延迟(150);

digitalwrite(8低);

延迟(150);

digitalwrite(7高);

延迟(150);

digitalwrite(7低);

延迟(150);

digitalwrite(6高);

延迟(150);

digitalwrite(6低);

延迟(150);

digitalwrite(5高);

延迟(150);

digitalwrite(5低);

延迟(150);

digitalwrite(8高);

延迟(150);

digitalwrite(8低);

延迟(150);

digitalwrite(7高);

延迟(150);

digitalwrite(7低);

延迟(150);

digitalwrite(6高);

延迟(150);

digitalwrite(6低);

延迟(150);

digitalwrite(5高);

延迟(150);

digitalwrite(5低);

延迟(150);

digitalwrite(8高);

延迟(150);

digitalwrite(8低);

延迟(150);

digitalwrite(7高);

延迟(150);

digitalwrite(7低);

延迟(150);

digitalwrite(6高);

延迟(150);

digitalwrite(6低);

延迟(150);

digitalwrite(5高);

延迟(150);

digitalwrite(5低);

延迟(150);

digitalwrite(8高);

延迟(150);

digitalwrite(8低);

延迟(150);

digitalwrite(7高);

延迟(150);

digitalwrite(7低);

延迟(150);

digitalwrite(6高);

延迟(150);

digitalwrite(6低);

延迟(150);

digitalwrite(5高);

延迟(150);

digitalwrite(5低);

延迟(150);

digitalwrite(8高);

digitalwrite(7高);

digitalwrite(6高);

digitalwrite(5高);

延迟(100);

digitalwrite(8低);

digitalwrite(7低);

digitalwrite(6低);

digitalwrite(5低);

延迟(100);

digitalwrite(8高);

digitalwrite(7高);

digitalwrite(6高);

digitalwrite(5高);

延迟(100);

digitalwrite(8低);

digitalwrite(7低);

digitalwrite(6低);

digitalwrite(5低);

延迟(100);

digitalwrite(8高);

digitalwrite(7高);

digitalwrite(6高);

digitalwrite(5高);

延迟(100);

digitalwrite(8低);

digitalwrite(7低);

digitalwrite(6低);

digitalwrite(5低);

延迟(100);

digitalwrite(8高);

digitalwrite(7高);

digitalwrite(6高);

digitalwrite(5高);

延迟(100);

digitalwrite(8低);

digitalwrite(7低);

digitalwrite(6低);

digitalwrite(5低);

延迟(100);

digitalwrite(8高);

digitalwrite(7高);

digitalwrite(6高);

digitalwrite(5高);

延迟(100);

digitalwrite(8低);

digitalwrite(7低);

digitalwrite(6低);

digitalwrite(5低);

延迟(100);

digitalwrite(8高);

digitalwrite(7高);

digitalwrite(6高);

digitalwrite(5高);

延迟(100);

digitalwrite(8低);

digitalwrite(7低);

digitalwrite(6低);

digitalwrite(5低);

延迟(100);

digitalwrite(6高);

digitalwrite(5高);

延迟(250);

digitalwrite(6低);

digitalwrite(5低);

延迟(250);

digitalwrite(7高);

digitalwrite(8高);

延迟(250);

digitalwrite(7低);

digitalwrite(8低);

延迟(250);

digitalwrite(6高);

digitalwrite(5高);

延迟(250);

digitalwrite(6低);

digitalwrite(5低);

延迟(250);

digitalwrite(7高);

digitalwrite(8高);

延迟(250);

digitalwrite(7低);

digitalwrite(8低);

延迟(250);

digitalwrite(6高);

digitalwrite(5高);

延迟(250);

digitalwrite(6低);

digitalwrite(5低);

延迟(250);

digitalwrite(7高);

digitalwrite(8高);

延迟(250);

digitalwrite(7低);

digitalwrite(8低);

延迟(250);

digitalwrite(6高);

digitalwrite(5高);

延迟(250);

digitalwrite(6低);

digitalwrite(5低);

延迟(250);

digitalwrite(7高);

digitalwrite(8高);

延迟(250);

digitalwrite(7低);

digitalwrite(8低);

延迟(250);

digitalwrite(6高);

digitalwrite(5高);

延迟(250);

digitalwrite(6低);

digitalwrite(5低);

延迟(250);

digitalwrite(7高);

digitalwrite(8高);

延迟(250);

digitalwrite(7低);

digitalwrite(8低);

延迟(250);

digitalwrite(6高);

digitalwrite(5高);

延迟(250);

digitalwrite(6低);

digitalwrite(5低);

延迟(250);

digitalwrite(7高);

digitalwrite(8高);

延迟(250);

digitalwrite(7低);

digitalwrite(8低);

延迟(250);

}

步骤4:让它在Atmega8芯片

让它在Atmega8芯片

我不是程序员,就我而言,这个简单的素描让我有6个不同的序列和5–似乎足够我的目的。很多人都想做不同的我永远是开放的建议和茁壮成长,从别人的经验中学习。对于那些精通编程,有不同的编程语言知识绝对可以做一个更好的工作或获得相同或更好的结果不同的IDE如Atmel Studio 6等,但我想这是尽可能的简单,想用我的未利用ATmega8芯片,所以我选择了Arduino IDE我发现它更容易使用。另外,写代码不是我的强项。

现在的问题是转移的素描ATmega8芯片,目前每天的Arduino板不支持ATmega8芯片和Arduino Bootloader在Atmega8芯片也是一份工作的最简单的方法是提取thearduino IDE会创造和传递的HEX文件到一个AVR燃烧器帮助ATmega8芯片HEX文件。

找到HEX文件形成当你编译的素描在Arduino IDE首先你需要确保你选择正确的板在Arduino IDE为我们想,我们使用的是特定的芯片编写的小品,在我们的例子中,我们选择“Arduino ng”或以上木板菜单,然后选择“设计”作为处理器编译之前的素描。这是Arduino IDE知道芯片是可编译的素描和创建特定芯片的HEX文件。

如果您使用的是Windows平台,去开始菜单,键入“%temp%”中的“搜索程序和文件”框中,指的是屏幕截图。

按下回车键,你会看到一个列表中的所有临时文件
你的电脑。大多数这些可以安全删除的但这并不是我们的目的。

现在,当你“验证编译在Arduino IDE的素描,一个临时文件夹是这个目录,看上去有点像“build9c5c42f46812d2c0168c7e753f3510e0创建。TMP”正是在这样的文件夹,你会发现你需要的HEX文件。注意将2进制文件,一个程序和一个没有,你需要一个没有引导。收盘前的Arduino IDE确保副本,你需要选择你的位置,因为当我们接近Arduino IDE的HEX文件,这是自动删除临时文件夹。

参考图像

确保选择正确的熔丝位设置在燃烧的HEX文件。如果你正在使用一个16MHz的晶体最适当的设置将低熔–“FF”和“C9”高保险丝锁保险为“FF”检查适当的盒子。如果您使用的是不同的晶体,说12MHz或8MHz,你可以查阅各种AVR熔丝计算器,可在线。#p#分页标题#e#错误的熔丝设置可能你的砖的AVR芯片,那么就很难解锁芯片。(你可能需要专门的软件和并行编程能够解锁这些芯片。)

现在插入targate芯片在AVR燃烧器的DIP插座的正确方向,你正在使用,连接到你的电脑USB端口的燃烧器,燃烧器加外部电源,如图所示(如果你requirfed燃烧器)和开放的极端AVR刻录软件(我假设你已经安装在您的计算机软件)或任何你使用的软件。

点击“打开”,选择你要刻录的HEX文件

进入设置菜单,选择正确的保险丝熔断器的设置,如前面提到的

确保所有的系统都是在打“写”按钮。如果一切正常,你应该在几秒钟内得到的一切信息。

差不多了,

现在我们需要把芯片给我们的董事会,我们准备连接到我们的直流12V射灯。

步骤5:测试时间

时间测试

时间来检验!

对系统电源。因为我用灯的额定12V 10瓦进行1.2A的12伏时,我决定用一个普通的12伏2安培直流适配器/壁疣的电源因为灯不会同时连续不超过250毫秒的时间。这是完美的工作对我来说。我在一个封闭的塑料盒短路安全的缘故,PCB。

测试板,我附上4 LED的输出端子。为方便起见,我有明显的正输出引脚与红坭波兰使聚光灯连接正确。我打算用聚光灯像图片中的人。


(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
相关文章
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片