最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

在 Arduino Min (3.3V,8MHz) 上使用 Usb Host Shield Mini

Arduino 少儿编程 2333浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

前年的时候(2016年10月)入手了一个迷你USBHost Shield,但是一直没有玩起来。最近偶然看到了KevinsBobo 的 Blog【参考1】, 上面提到了如何让它工作起来,琢磨了一下,最终让他工作起来。

先要解决下面2个问题:

第一, 我们淘宝上能买到的,不是原本的设计,有一些修改,这样的修改会导致USB设备的供电问题。下面是原版的设计,在绿色圈标记的位置,有一个焊接的跳线还有一个排针的位置。当焊接跳线接起来的时候,USB设备收到的是3.3V的电压(我不清楚有什么设备可以在3.3V供电的情况下工作,所以这个设计让我觉得莫名其妙)。焊接跳线断开的情况下,排针位置可以让用户送入一个5V的电压,这样所有的USB设备都可以正常工作。

 

在 Arduino Min (3.3V,8MHz) 上使用 Usb Host Shield Mini

 

 

其次,这个板子原本的设计是为了给 Arduino Pro 3.3V设计的,在5VArduino Pro上工作不正常。我查看过这个板子的电路图,上面3.3V的标记处是直接送入芯片的,因此,用5V供电会有烧毁芯片的风险。另外RAW标记处是空的,没有接任何线路和元件。因此【参考1】说在RAW送入5V,即可正常工作让我觉得不太可行。

最终的解决方法是,切开下面红色位置的线路,然后从绿色位置送入5V,配合3.3v 8M的Arduino Pro(5V的Arduino Pro 不行)。就可以工作了(万幸,之前的折腾并没有烧坏板子)。

 

在 Arduino Min (3.3V,8MHz) 上使用 Usb Host Shield Mini

 

 

正好最近入手了下面的转接板,主要是同时提供了3.3V和5V。

 

在 Arduino Min (3.3V,8MHz) 上使用 Usb Host Shield Mini

 

 

工作是下面的样子,HOSTShield在上面,Arduino在下面,这不是一个很好的例子,因为Arduino 放在下面,ResetButton很难按。

 

在 Arduino Min (3.3V,8MHz) 上使用 Usb Host Shield Mini

 

 

总结有下面几点:

1. 1. USB Host Shield 上面的芯片只能使用3.3V 供电。通常我们使用的大的 USB Host Shield上面有降压元件,或者说可以直接从 3.3V口取电。但是,小板子是直通的,所以供给5V,芯片收到的就是5V,芯片有烧毁的风险;

2. 2.USB Host Shield和Arduino 是通过SPI 总线通讯的,对于这个总线也有电压匹配的问题,当Arduino是5V的时候,SPI 电压也是5V,双方无法通讯;

实验取得鼠标的 Descriptor 结果如下:

 

在 Arduino Min (3.3V,8MHz) 上使用 Usb Host Shield Mini

 

后面我会继续研究如何让这个搭配更常见的 Arduino Pro Micro 进行工作, 有兴趣的朋友可以持续关注后续文章.

 

 

参考:

1. kevins.pro/arduino_keyb

始发于知乎专栏:王朝

您必须 登录 才能发表评论!