×

由Attiny13A供电的PCB项链或吊坠

消耗积分:2 | 格式:zip | 大小:0.13 MB | 2023-02-07

goodmbby

分享资料个

描述

大家好,这里有一些很酷的东西。

由 Attiny13A 供电的 PCB 项链或吊坠。

 
 

这里的目标很简单,就是制作一个可以连接到链条上的小型 Blinky 板,这样我们就可以像挂坠或吊坠一样佩戴它。

这个吊坠共有 24 个 LED,我将 LED 分成 4 个对。

led_6CFNOenTmg.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
 

这意味着 6 个 LED 并联连接,它们由单个 AO3400 N 沟道 mosfet 驱动。总共有 4 个,每个控制 6 个 LED 段。

然后这 4 个 MOSFET 由 Attiny13A 控制,我添加了一个带有 D4 引脚的按钮,用于启动 LED 序列。

所需材料

 
  • 0603 蓝色 LED x24
  • 由PCBWAY提供的定制PCB
  • 阁楼13A
  • AO3400 N 通道 mosfet x4
  • 10K 0603电阻x4
  • SMD 纽扣电池座 CR2032

准备董事会

 

我已经准备好这个 PCB,形状是我首先在 Tinkercad 中建模的眼泪。

准备好基本形状后,我将其导出到 fusion360 中,这样我就可以从中导出 DXF 文件,因为我的 OrCad PCB Suit 只导入用于制作 PCB 层的 DXF 文件。

capture_eIbCIVg7Pf.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
 

在我的 PCB 套件中导入 Tear Shape 后,我首先准备了威廉希尔官方网站 板原理图,其中包含一个 Attiny13A 驱动四​​个不同的 N 通道 mosfet 设置,然后连接到总共 24 个 LED。

sch_page-0001_(8)_9Hvh5sR1Cg.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
 

完成原理图后,我导出网表并使用导入的 Tear shape 作为参考准备 PCB。

从 PCBWAY 获取 PCB

 

设计完成后,我在PCBWAY的报价页面上传了Gerber数据,选择了阻焊颜色为RED,下单了。

下单后一周就收到了PCB,PCB质量非常好。

 

这个形状是完全随机的,所以很难制作,但他们在制作这个 PCB 时做得非常出色,没有任何错误。

如果您想以实惠的价格和低廉的价格获得优质的 PCB 服务,你们可以查看PCBWAY 。

组装过程

将 PCB 拆箱后,我开始了具有以下步骤的组装过程。

  • 焊膏点胶
  • 取放过程
  • 热板回流焊
  • LED测试
  • 添加纽扣电池座
  • 编程

焊膏点胶

 
 
 
 
1 / 2
 

第一步是将焊膏涂到每个元件焊盘上。

我使用了熔化温度为140 至 270 °C的普通 Sn-Pb 焊膏。

添加焊膏后,我们继续进行下一个过程,即“拾取和放置过程”

拾放过程

 
 
 
 
1 / 2
 

然后,我使用 ESD Tweeaser 仔细挑选每个组件并将其一个接一个地放置在指定的位置上,这花了大约 30 秒的时间,但结果是一个完美的 PCB,所有组件都放置在它们的位置上。

热板回流焊

 

在“PICK & Place Process”之后,我小心地抬起整个威廉希尔官方网站 板并将其放在我的DIY SMT Hotplate上,它和这个项目一样也是自制的。

几分钟后,当加热板达到焊膏熔化温度时,所有组件都将通过这种热回流焊工艺进行焊接。

然后我们从加热板上取下 PCB 以冷却所有组件和威廉希尔官方网站 板表面。

测试 LED 连续性

 

因为我们在这里使用的是LED,所以检查LED是否正确焊接是至关重要的。

我使用设置在二极管检查模式的普通万用表,我们将万用表的探针连接到正确极性的 LED 的阳极和阴极。

 

如果 LED 焊接正确,所有 LED 都会发光。如果有任何焊接错误,它们将不会发光。

纽扣电池座

 

测试 LED 后,我们继续下一步,即在 PCB 的底层添加纽扣电池座。

在此之后,威廉希尔官方网站 板几乎完成了,现在我们只需要用主要草图来刷新 Attiny13A。

编程

这是我在这个项目中使用的代码,它是一个简单的追逐器草图,可以切换追逐器序列中的每个 Mosfet。

const int switchPin = 4; 
int pinsCount=4;                       
int pins[] = {3,2,1,0};   
int lightMode = 1; 

void setup() 
{
    pinMode(0, OUTPUT);
    pinMode(1, OUTPUT);
    pinMode(2, OUTPUT);
    pinMode(3, OUTPUT);
    pinMode(switchPin, INPUT_PULLUP);
   digitalWrite(0, LOW);
   digitalWrite(1, LOW);
   digitalWrite(2, LOW);
   digitalWrite(3, LOW);
     
}
void loop()
{ 
    if (digitalRead(switchPin) ==LOW) 
    { 
        lightMode = lightMode + 1;
        if (lightMode == 3)
        {
            lightMode = 1;
        }
    }
    if (lightMode == 1)
    {
        digitalWrite(pins[0,1,2,3], LOW);
        delay(200);
    }
    else if (lightMode == 2)
    {
      for (int i=0; i1;>){    // chasing right
      digitalWrite(pins[i], HIGH);         // switching the LED at index i on
      delay(70);                          // stopping the program for 100 milliseconds
      digitalWrite(pins[i], LOW);          // switching the LED at index i off
    }
      for (int i=pinsCount-1; i>0; i=i-1){   // chasing left (except the outer leds)
      digitalWrite(pins[i], HIGH);         // switching the LED at index i on
      delay(70);                          // stopping the program for 100 milliseconds
      digitalWrite(pins[i], LOW);          // switching the LED at index i off
     }
    }
        
    //delay(200); // see text
}

至于闪烁 Attiny13A,我正在使用我之前的一个项目,它是由 Arduino nano 制作的 Attiny Programmer。

结帐更多来自

 
 

基本上,我们使用这个 SOIC8 夹从顶部固定 Attiny13A,并用 Arduino IDE 对其进行闪存。

在 Arduino IDE 上安装 Attiny13 核心

在开始烧写过程之前,我们首先需要在 Arduino IDE 中下载并安装 Attiny13 Core 文件。

https://github.com/MCUdude/MicroCore

  • 打开 Arduino 集成开发环境。
  • 打开文件 > 首选项菜单项。
  • 在Additional Boards Manager URL中输入以下 URL https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
  • 打开Tools > Board > Boards Manager...菜单项。
  • 等待平台索引完成下载。
  • 向下滚动直到看到MicroCore条目并单击它。
  • 单击安装
  • 安装完成后关闭Boards Manager窗口。

现在重新打开 Arduino IDE 并用它插入 Attiny Programer 设置。

  • 选择 Attiny13 板
  • 选择正确的编程器(Arduino 作为 ISP)并点击Burn Bootloader
  • 等待几秒钟,您将完成引导加载程序消息的刻录。
  • 现在打开要上传到此 Attiny 的草图
  • 转到“草图”菜单并选择“使用编程器上传”。
  • 您的 Sketch 将上传到 Attiny13。

为小盒坠子/吊坠供电

 

为了给这个设置供电,我添加了一个 CR2032 纽扣电池座,我们可以用它来为 Attiny13 和 LED 供电。

我没有计算每个单元格的确切备份但它超过 12 小时

添加链

 
 
 
 
1 / 2
 

现在因为这个设置是一个吊坠或小盒坠子或项链,无论我们怎么称呼它,它需要一条链子或我们可以连接到它提供的孔的东西,这样我们就可以像普通珠宝一样佩戴它。

我们可以将它添加到链子上​​,甚至可以通过在 PCB 上添加一个带孔的听筒挂钩将其变成耳环。

结果

 

这是这个构建的最终结果,一个小的可穿戴吊坠或一条项链,是即将到来的情人节的完美礼物。

 
 
 
 
1 / 2
 

特别感谢PCBWAY对这个项目的支持,结帐PCBWAY以更低的成本获得优质的 PCB 服务。

再次感谢,我很快就会带着新项目回来!

和平


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"//m.obk20.com/www/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'由Attiny13A供电的PCB项链或吊坠',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"https://www.elecfans.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);