自制Arduino Leonardo笔记

很早就听说过Arduino开发板,其主要特点就是,简单易用,上手很快,官方已经封装好了常用的库,开发起来非常方便快捷,于是,我就准备自制一块Arduino板。

1.首先我直接Copy了官方leonardo板的原理图,其中图中圈出来的部分是可选的,剩下的是必须的。

2.打PCB、焊接、测试 

 

3.硬件上基本上没有问题,现在开始调试软件,首先我们需要去官网下载环境包,注意不仅仅是ArduinoIDE,还有驱动、Bootloader代码等等文件,这些都放在一个压缩包内,官网直接下载这个压缩包即可,解压后类似这样,我这里用的是

1.5.6版本

我们第一步要做的就是把Bootloader代码下载到单片机,目的是让它变成Arduino,否则它只是一个ATMEGA32单片机,Bootloader代码就在我们刚刚下的环境包中

C:\Users\Administrator\Desktop\Arduino\arduino-1.5.6-r2\hardware\arduino\avr\bootloaders\caterina

在这里,我们可以发现Leonardo板两个Bootloader代码(Hex文件),随便选择一个即可 。 

接下来,我们需要另一款工具来把这个Bootloader下载到我们的单片机中去--USBASP(某宝上10块钱包邮)

将下载器与单片机预留的ISP口对应连接即可

下载器 <===================>单片机

MISO <===================>MISO

MOSI <===================>MOSI

SCK <===================>SCK

RST<===================>RST

 

此外我们还需要一款上位机配合这个下载器使用--PROGISP

AVR单片机比较重要的一步就是设置熔丝位,如果设置错误,就会锁死单片机,楼主很不幸,第一次就设置错了,导致单片机锁死,而且USBASP再也无法连接单片机,也就是说,锁死之后,你就无法通过本软件修改熔丝位了, 当然还有其他解救方法,我们后面会讲到,这里主要讲熔丝位的设置,主要针对ATMEGA32U4这个芯片,其他的请自行查看手册。

 

Atmega32U4熔丝位配置如下:

点击自动按钮,等待编程完成,当看到如下界面,表示没有问题

此时,如果你的PC6口接了LED的话,那么这个LED应该开始闪烁起来了 ,有LED但是没闪烁,则上述步骤有错误,特别是熔丝位的设置,检查下熔丝位的设置和Bootloader代码,重新写入。

4.成功烧录之后,此时我们的板子就变成了Arduino Leonardo,但是还差一步,我们还没有安装驱动,此时如果插上USB线,windows是无法识别的,驱动就在我们下载的环境包的drives目录下,32和64位的驱动都包含在内。

 

5.安装好驱动之后,我们插上USB。

大功告成!!! 

最后我来讲下,熔丝位设置错误单片机被锁死的解决办法:

找一个可以正常工作的单片机,将其晶振的XTALOUT脚引出一根线到ATEMGA32U4的XTALIN脚,或者单片机直接输出一个时钟给ATMEGA32U4的XTALIN脚也行,我就是用STM32 PA8脚的时钟输出功能输出时钟给ATMEGA32U4的,然后打开PROGISP软件,你就会发现可以连上单片机了,赶快重新修改熔丝位,写入单片机把!

 

 

  • 12
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: Arduino Leonardo可以通过编程实现模拟键盘的功能。通过设置相应的代码,可以将Arduino Leonardo连接到计算机,并将其识别为一个键盘设备。然后,可以通过编写代码来控制Arduino Leonardo发送键盘按键信号,从而实现模拟键盘的功能。这种方法可以用于自动化测试、游戏控制、远程控制等应用场景。 ### 回答2: Arduino Leonardo是一款基于Atmega32U4芯片的开发板,它具有模拟键盘功能。通过编程,我们可以将它变成一个USB键盘,用于模拟键盘的按键操作。 要使用Arduino Leonardo作为模拟键盘,首先需要将开发板通过USB连接到计算机。然后,我们可以通过Arduino的开发环境编写相应的代码。 在代码中,我们可以使用Leonardo的库函数来实现按键操作。例如,我们可以使用Keyboard.begin()函数来启动键盘模拟功能。然后,使用Keyboard.press()函数按下某个键,并使用Keyboard.release()函数释放相应的键。通过这些函数的组合,我们可以模拟键盘的按下和释放操作。 除了单个键的操作外,Leonardo还支持多个键的组合操作。例如,我们可以同时按下Ctrl键和A键,使用Keyboard.press()函数同时按下这两个键。然后,使用Keyboard.releaseAll()函数释放所有的键。这样,我们就可以模拟常见的键盘组合操作。 使用Arduino Leonardo作为模拟键盘的好处是它的灵活性和易用性。通过编程,我们可以自定义按键操作,例如在特定条件下自动执行某些按键操作。而且,它还支持多个键的组合操作,可以模拟更复杂的按键行为。 总之,Arduino Leonardo具有模拟键盘功能,可以通过编程实现对键盘的模拟操作。它的灵活性和易用性使得它成为模拟键盘的理想选择。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值