0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何构建和使用FunShield

454398 来源:网络整理 作者:网络整理 2019-11-13 11:01 次阅读

步骤1:收集零件

首先,请检查您是否具备以下所有条件:

从SparkFun发明家的工具包(或您最喜欢的供应商):

(1)Photocell,SparkFun SEN-09088, $ 1.50

(1)SN74HC595N移位寄存器16-DIP,SparkFun COM-00733,$ 1.50

(1)IC传感器温度,SparkFun SEN-10988,$ 1.50

(1)压电扬声器,SparkFun COM-07950,$ 1.95

(1)TRIMMER 10K OHM 0.2W PC PIN,SparkFun COM-09806,$ 0.95

(1)迷你按钮,SparkFun COM-00097、0.35美元

(2)瞬时按钮开关-12mm方形,SparkFun COM-09190、1.00美元

(1)普通阴极RGB LED 5或10mm,SparkFun COM-11120,$ 0.95

(8)彩色5mm LED,COM-12062,$ 2.95

(12)330欧姆1/6W电阻,SparkFun COM-11507,$ 0.95/ea

(4)10K 1/6W电阻,SparkFun COM-08374,1.00美元

(1)二极管SparkFun COM-08588,0.15美元

(1)NPN晶体管,COM-12852,0.50美元

其他项目:

(1)PCB板,http://oshpark.com/shared_projects/lPWpxju2,三个副本$ 22.10

(1)40针分离头,SparkFun PRT-00116,$ 1.50

(2)CONN HEADER FEMALE 2POS。 1“ TIN,Digikey S7000-ND,$ 0.68

(1)CONN女性4POS .100” R/A金,Digikey S5479-ND,$ 0.74

(1)CONN HEADER 4POS .100 R/A 30AU,Digikey 609-3312-ND,$ 0.39

请记住,如果您只是想在Tindie.com上购买套件,我已经做了所有的辛苦工作。/p》

第2步:轻拍,开始动手

我们将假设您有一些套件-建筑经验。如果您需要焊接方面的帮助,请访问www.sparkfun.com/tutorials/213进行刷涂。

组装顺序主要取决于偏好。如果您没有帮手或虎钳,通常我会从最低的高度到最高的高度,这样当木板在桌子上翻转时,零件就会留在原处。

电阻:

strong》

让我们从电阻器入手,因为它们是最丰富,最低的座垫,而且最容易焊接。它们具有更高的耐热性,将使您有机会熟练掌握技术。它们也没有极性,因此您可以以任何一种方式放置它们。

但是,如果您希望LED保持正确的亮度,则必须获得正确的值。通常,我将330欧姆用于红色和黄色,将180欧姆用于绿色和蓝色。如有疑问,请检查数据表中的正向电压,然后在http://led.linear1.org/1led.wiz上计算5伏的正确电阻。其他组件的电阻值,例如I2C总线的10K欧姆,已在PCB上标出。

二极管和光电管:

现在,您已准备就绪,时间到了尝试一些带有极性的东西。在电路板中央上方的330欧姆电阻上方添加二极管,观察PCB上的白线和二极管上的黑带。这是电机晶体管的“反冲”二极管,因此,如果电机向后旋转,电机将无法工作(它将绕过电机,可能会过热。

光电管位于右下角

第3步:I2C标头和移位寄存器

右侧的strong》 I2C接头连接器是可选的,可让您将两块板连接在一起,或连接到Wii Nunchuk或Adafruit I2C LCD之类的另一个I2C设备。

移位寄存器允许我们仅使用Arduino的I/O引脚中的三个来控制八个LED。 是一种16针IC,必须以正确的方向插入才能正常工作,注意一端的凹口,这表明芯片的哪一侧具有插脚,使该凹口与PCB上的轮廓匹配。在每个对角线的销钉上,然后检查座位。 仔细检查方向,因为在焊接两个以上的引脚后,将很难切换。相信我,我必须做多个以上的操作。

第4步:温度传感器和晶体管

温度传感器和晶体管一样,除了标记不同。通过使用强光和放大镜在脸上的标记来识别它们。您正在从诸如“ TMP36”之类的温度IC和“ 2Nxxxx”之类的晶体管中查找。

温度传感器位于左上角,其平坦的一面朝向电路板的中心。这是一个模拟设备,其产生的电压与温度成正比。

NPN晶体管位于电路板的右上角,平面可能会也可能不指向电路板的中心,取决于您的制造。检查数据手册和上面的示意图,以了解基极,集电极和发射极引脚的位置。晶体管是一个电子开关,可让我们使用Arduino数字引脚可提供的小电流来控制需要200毫安的电机。另一方面,LED仅需要10毫安,因此可以直接通过数字引脚供电

步骤5:按钮和扬声器

接下来是按钮。有两个输入按钮,可以使用12mm按钮或较小的触觉按钮,以及重置设置按钮。这些确实需要按一定的方向安装,PCB孔要对齐以解决这一问题(不要弯曲插针以使其插入)。

接下来是扬声器。有两组孔。 SparkFun销售的扬声器的引线更靠近,并且具有极性。两组孔相距90度,相距更远,适合Adafruit销售的没有极性的PS1202扬声器。

第6步:放光吧!或LED。

LED 的时间。您应该已经决定了颜色和电阻值,所以现在您只需要在正确的位置获得正确的LED即可。 LED具有极性,较长的脚为正极。焊接每个LED的一只脚,然后检查另一侧的位置(如果只加热一个焊点,则更容易复位!)

RGB 指示灯在左上角。 RGB有两种类型:公共阴极,其中较长的引脚具有电源电压,并且每种颜色都接地;以及公共阳极,其中较长的引脚具有电源电压。地面。在这两种情况下,更长的引线都会通过方形焊盘穿过孔。该板可用于通用阴极,该板由SparkFun套件提供,但如果您是从Adafruit获得的,则可以很容易地对其进行修改。在电路板的下侧,切割CC焊盘,然后用焊料桥接CA焊盘。用万用表检查两者的连续性。注意:我已经留出足够的空间使用10mm RGB LED代替标准的5mm。

第7步:测量电位-修剪电位器

电位器或“修剪锅”位于左下角。电位计的引脚布置有几种类型,SparkFun套件随附一种可与面包板友好的装置,一行中有3条0.1英寸间隔的引线。我还添加了偏置孔,用于安装更常见且便宜的修整罐。

第8步:前往或进入-I/O头

没有足够的空间来容纳所有SparkFun套件组件,因此我添加了一些接头,以帮助我们与外界连接。左侧的2针母接头将电动机连接到晶体管控制的数字输出。右侧的2针母接头连接到模拟引脚和接地,以连接挠性传感器等组件。使用一块公接头将其固定到位并在焊接时对齐。

用于连接到伺服,在电机接头旁边添加3针公接头。

步骤9:最终热加工-Arduino接头

您需要焊接的最后一点是连接ct两个8针和2个6针公头,用于将屏蔽板连接到Arduino。我发现最简单的方法是先将接头连接器放在Arduino中,然后将屏蔽层覆盖在引脚上,然后再将其焊接到位。

步骤10:启动Sparkin

您应该已经注意到,现在所有的引脚分配都标记在了板的底部,并且可以以常规Arduino方式使用。在很多情况下,它们实际上与SparkFun Inventors Kit的演示草图中使用的匹配。最多只需更改针脚号即可使用它们。

SparkFun Inventors套件指南:http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Kit 。..

SparkFun Inventors套件示例草图:http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Kit 。..

将“ SIK指南代码”文件夹放置在Arduino IDE“示例”目录中:

PC:将“ SIK指南代码”文件夹拖到C: program files Arduino-x examples

MAC:将“ SIK指南代码”文件夹拖到Arduino-x/内容/资源/Java/示例

Linux:请参见http://www.arduino.cc/playground/Learning/Linux

启动Arduino IDE;这些示例应该在文件/示例/SIK指南代码

中可见

这是FunShield引脚分配:

A0 TRIM

A1 LIGHT

A2 TEMP

A3 ANALOG

A4 I2C-SDA

A5 I2C-SCL

D2移位寄存器数据

D4移位寄存器锁存

D12移位寄存器时钟

D6 RGB-BLUE

D9 RGB-红色

D10 RGB-GREEN

D3马达

D5伺服器

D7右按钮

D8左按钮

D11扬声器

步骤11:FunShield库

我为FunShield编写了一个库,以帮助您完成设置和管脚分配的工作。该库包含演示草图,帮助您入门。

步骤:

从以下位置下载zip文件:https://github.com/MakersBox/FunShield/archive/mas。 。.

解压缩文件夹。

将“ FunShield-master FunShield libraries FunShield”文件夹移至素描本的“ library”文件夹。

重新启动Arduino IDE。

示例草图现在应显示在以下位置:

[文件]-》 [示例]-》 [FunShield]

步骤12:ArduBlock

ArduBlock是与Arduino IDE集成的图形化编程环境。这是一个用Java编写的开源项目。

如果您尚未从以下位置下载zip文件:https://github.com/MakersBox/FunShield/archive/master.zip

将工具 文件夹移动到您的 sketchbook 文件夹中。

将 ArduBlockExamples 文件夹移至您的 sketchbook 文件夹。

重新启动Arduino IDE。

从[工具]-》 [ArduBlock]启动ArduBlock。

如果“ ArduBlock”选项不可见,请返回并检查是否将其放在正确的位置。

实际的目录结构应最终看起来像:。./sketchbook/tools/ArduBlockTool/tool/ardublock-FunShield.jar

如果仍然遇到问题,请在http://blog.ardublock.com/engetting-started-ardublockzhardublock/

打开中查看更详细的说明。一个示例项目(您必须导航到 。./sketchbook/ArduBlockExamples 文件夹。

步骤13:组件集成示例

您已经完成了!我想剩下的就是为您朝正确的方向轻轻推。让我们看一下名为“ FS_01_LED.ino”的示例草图“:

首先,我们需要表明我们要使用FunShield库,并实例化一个名为” fs“的FunShield对象:

// sets up and initialize FunShield

#include

#include // Require for I2C communication

FunShield fs; // Instanciate FunShield instance

几个简单的变量为我们提供帮助:

// variable declarations

int led = 0; // Can be any led from 0 to 7

int delayTime = 1000; // Delay time in milliseconds

由于FunShield库可以处理所有设置,因此setup()函数可以为空。我通常会添加一些代码,以查看通过consol进行的操作e:

void setup() {

Serial.begin(9600); // Setup serial communications for troubleshooting

Serial.println(“FS_01_LED.ino”);

}

现在进入主循环:

void loop(){

LED(led, HIGH); // turn LED on

delay(delayTime);

LED(led, LOW); // turn LED off

delay(delayTime);

}

您应该使用FunShield将其识别为基本的Arduino“眨眼”草图。 LED()函数代替了 digitalWrite()。

让我们进入一个 for循环,以便我们可以打开和关闭所有LED。

void loop(){

for(led=0; led《8; led++){

LED(led, HIGH); // turn LED on

delay(delayTime);

LED(led, LOW); // turn LED off

}

}

您可能想降低 delayTime 值,因此遍历LED不需要花费整整8秒钟的时间。

现在,当到达终点时,如何使LED反转?可能是另一个 for循环?

void loop(){

for(led=0; led《8; led++){

LED(led, HIGH); // turn LED on

delay(delayTime);

LED(led, LOW); // turn LED off

}

for(led=6; led》0; led--){

LED(led, HIGH); // turn LED on

delay(delayTime);

LED(led, LOW); // turn LED off

}

}

注意我重新开始使用led#6,因为第一个for循环已经点亮了led#7。我也将第二个循环停在led#1处,因为另一个for循环也可以处理它。

如果我们想在灯光改变方向时添加一个可听见的线索怎么办?在这里,图书馆的美丽派上了用场。无需查找引脚号。只需调用 speaker()函数

void loop(){

for(led=0; led《8; led++){

LED(led, HIGH); // turn LED on

delay(delayTime);

LED(led, LOW); // turn LED off

}

speaker(440, 10); // short beep

for(led=6; led》0; led--){

LED(led, HIGH); // turn LED on

delay(delayTime);

LED(led, LOW); // turn LED off

}

speaker(880, 10); // short beep

}

最后一个技巧即可。我们如何根据微调电位器的值来改变LED的速度?小菜一碟!只需将 delayTime 变量更改为 trim()函数:

void loop(){

for(led=0; led《8; led++){

LED(led, HIGH); // turn LED on

delay(trim()); // read potentiometer to determine delay time.

LED(led, LOW); // turn LED off

}

speaker(440, 10); // short beep

for(led=6; led》0; led--){

LED(led, HIGH); // turn LED on

delay(trim());

LED(led, LOW); // turn LED off

}

speaker(880, 10); // short beep

}

责任编辑:wv

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

    关注

    242

    文章

    23252

    浏览量

    660562
  • 移位寄存器
    +关注

    关注

    3

    文章

    258

    浏览量

    22265
  • 压电扬声器
    +关注

    关注

    0

    文章

    8

    浏览量

    10207
收藏 人收藏

    评论

    相关推荐

    晶圆制造recipe(工艺配方)的定义、重要性、种类及构建和验证方式

    本文介绍了在半导体制造领域,recipe(工艺配方)的定义、重要性、种类,以及构建和验证方式,并介绍了优化方向。 在半导体制造领域,recipe(工艺配方)是指一套精确定义的工艺参数和操作程序,用于
    的头像 发表于 12-10 17:11 279次阅读

    如何使用Python构建LSTM神经网络模型

    : NumPy:用于数学运算。 TensorFlow:一个开源机器学习库,Keras是其高级API。 Keras:用于构建和训练深度学习模型。 你可以使用pip来安装这些库: pip install
    的头像 发表于 11-13 10:10 327次阅读

    用GNU构建裸机系统

    构建和安装GNU工具链,但是很难找到一个将GNU C/C++工具链用于裸机ARM系统的综合例子,该系统将具有现实项目中所需的所有基本特性。即使你找到了这样一个例子,你也很可能不知道为什么事情是这样做的。
    发表于 10-16 17:34 0次下载

    应用NVIDIA Spectrum-X网络构建新型主权AI云

    、Hugging Face、Golem.ai 等。Scaleway 提供一站式的云服务,以开发创新解决方案并帮助用户从零开始构建和扩展 AI 项目,目前 Scaleway 正在构建区域 AI 云,提供 GPU 基础设施
    的头像 发表于 07-26 18:58 1169次阅读

    RT-Thread Studio构建和重新构建的不同,一般我们编译工程时用哪个?

    想请教在RT-Thread Studio中,构建和重新构建的不同,一般我们编译工程时用哪个,谢谢!
    发表于 07-25 07:38

    使用Psoc Creator和cy8ckit-42在blinky项目中添加了一个冗长的汇编文件,会导致M0120构建错误怎么解决?

    我正在使用 Psoc Creator 和 cy8ckit-42,并在简单的 blinky 项目中添加了一个冗长的汇编文件。 虽然代码一直在成功构建和运行,但随着代码的增大,在代码的其他部分添加一个
    发表于 05-21 06:18

    鸿蒙OpenHarmony开发:【编译构建指导】

    OpenHarmony编译子系统是以GN和Ninja构建为基座,对构建和配置粒度进行部件化抽象、对内建模块进行功能增强、对业务模块进行功能扩展的系统,该系统提供以下基本功能
    的头像 发表于 05-13 09:31 1758次阅读
    鸿蒙OpenHarmony开发:【编译<b class='flag-5'>构建</b>指导】

    HarmonyOS开发案例:【Stage模型下Ability的创建和使用】

    基于Stage模型,对Ability的创建和使用进行讲解。首先在课程中我们将带领大家使用DevEco Studio创建一个Stage模型Ability,并使用UIAbilityContext启动
    的头像 发表于 05-08 14:41 725次阅读
    HarmonyOS开发案例:【Stage模型下Ability的创<b class='flag-5'>建和</b>使用】

    计算机图形学:探索虚拟世界的构建之道

    计算机图形学是计算机科学的一个分支,它专注于创建和操纵计算机生成的视觉和图形内容。这一领域涵盖了从基础的二维图形绘制到复杂的三维模型构建和渲染的广泛技术。在今天的数字化时代,计算机图形学
    的头像 发表于 05-07 08:27 401次阅读
    计算机图形学:探索虚拟世界的<b class='flag-5'>构建</b>之道

    交换芯片的构建方式

    交换芯片的构建方式是一个高度复杂且精细的过程,它涉及多个关键步骤和考量因素。下面将详细阐述交换芯片的构建方式。
    的头像 发表于 03-22 16:22 466次阅读

    基于液体积木的可重构液体器件,可用于器官芯片的构建

    “Reconfigurable liquid devices from liquid building blocks”的论文。该论文报道了一种新的液体器件构建方法,实现了液体器件的快速构建和即时重构。
    的头像 发表于 03-11 11:41 722次阅读
    基于液体积木的可重构液体器件,可用于器官芯片的<b class='flag-5'>构建</b>

    基于液体积木的可重构液体器件可用于器官芯片的构建

    “Reconfigurable liquid devices from liquid building blocks”的论文。该论文报道了一种新的液体器件构建方法,实现了液体器件的快速构建和即时重构。
    的头像 发表于 03-04 17:29 733次阅读
    基于液体积木的可重构液体器件可用于器官芯片的<b class='flag-5'>构建</b>

    鸿蒙开发【编译构建】讲解

    编译构建是将应用/服务的源代码、资源、第三方库等,通过编译工具转换为可直接在硬件设备上运行的二进制机器码,然后再将二进制机器码封装为HAP/APP软件包,并为HAP/APP包进行签名的过程。其中
    发表于 02-27 17:41

    Modustoolbox3.1离线时无法构建模板应用程序怎么办?

    : *** 库:找不到“core-make recipe-make”。 运行“make getlibs”以确保存在所有必需的构建和代码依赖项。停。 “C:/用户/管理员/ModusToolbox
    发表于 01-19 08:33

    鸿蒙南向开发—OpenHarmony技术编译构建框架

    概述 OpenHarmony编译子系统是以GN和Ninja构建为基座,对构建和配置粒度进行部件化抽象、对内建模块进行功能增强、对业务模块进行功能扩展的系统,该系统提供以下基本功能: 以部件为最小
    发表于 01-04 16:47