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
    +关注

    关注

    237

    文章

    22450

    浏览量

    645891
  • 移位寄存器
    +关注

    关注

    2

    文章

    182

    浏览量

    22021
  • 压电扬声器
    +关注

    关注

    0

    文章

    6

    浏览量

    10172
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    利用数字锁相环(DPLL)实现相位增建和无中断切换

    电子发烧友网站提供《利用数字锁相环(DPLL)实现相位增建和无中断切换.pdf》资料免费下载
    发表于 11-24 09:36 0次下载
    利用数字锁相环(DPLL)实现相位增<b class='flag-5'>建和</b>无中断切换

    UM0985用户手册

    Workbench的新手用户提供了一些构建和运行此文档提供的示例程序。这应该为他们提供技能 需要创建和构建自己的应用程序。 本文档中引用的DISCOVER项目对应于Flash中的演示STM32VLISCOVERY板。
    发表于 09-27 06:26

    CW32F030x6/x8用户手册

    本文档将指导初学者如何构建和运行应用程序示例,以及构建和调试自己的应用程序。其结构如下:•第一章描述软件和硬件要求(一些支持 CW32 系列的工具链、CW-LINK 安装和固件包内容)。•第二章提供
    发表于 09-14 07:37

    Visual Studio Code - 如何在Visual Studio Code(VS Code)中构建和调试RL78项目

    本视频演示如何在Visual Studio Code(VS Code)中构建和调试LLVM for Renesas RL78项目。 000 介绍051 构建024 调试 原文标题:Visual
    的头像 发表于 08-14 12:05 549次阅读

    易于构建和实现的万圣节装饰电路

    LED照明电路的工作非常有趣,而且很有趣。这种褪色的眼睛电路非常适合在万圣节装饰等项目中模拟眼睛。该电路需要的元件数量非常少,因此易于构建和实现。
    的头像 发表于 06-18 15:02 262次阅读
    易于<b class='flag-5'>构建和</b>实现的万圣节装饰电路

    优化指南-FFmpeg构建和优化

    FFmpeg 是一个免费开源的完整跨平台解决方案,用于记录、转换和流传输音频和视频。
    的头像 发表于 06-15 09:04 887次阅读

    可重用的验证组件中构建测试平台的步骤

    writer ) 进行区分,前者负责测试平台的构建和配置,后者可能对测试平台的底层了解较少,但用它来创建测试用例。 基于验证组件创建测试平台的步骤是:  Review可重用的验证组件配置参数。  实例化和配置验证组件。  为接口验证组件创建可重用的sequences(可选)。  添加一
    的头像 发表于 06-13 09:14 356次阅读
    可重用的验证组件中<b class='flag-5'>构建</b>测试平台的步骤

    如何构建OpenVG程序并在i.MX8MPlus上运行它们?

    与 OpenVG 相关的示例代码,但我不确定如何将它与i.MX8M Plus 的 SDK。如果您有关于如何在 i.MX8M Plus 平台上构建和运行此示例代码的说明或资源
    发表于 05-31 12:16

    虹科HiveMQ与MQTT:构建互联汽车的新架构

    虹科HiveMQ 是一个基于 MQTT 数据传输的通信平台,虹科HiveMQ 是一个基于 MQTT 数据传输的通信平台,旨在将数据快速、高效、可靠地传递给连接的物联网设备.本文带大家了解虹科HiveMQ如何助力构建和部署可扩展、可靠、安全的车联网平台。
    的头像 发表于 05-26 09:25 320次阅读
    虹科HiveMQ与MQTT:<b class='flag-5'>构建</b>互联汽车的新架构

    用一个yocto和SDK来构建环视应用程序,无法驱动摄像头怎么解决?

    :FSL_SDHC:0,FSL_SDHC:1 从 MMC 加载环境...运行 CMD11 1.8V 开关 *** 警告 - CRC 错误,使用默认环境 我们构建了一个 yocto 构建和 SDK 来构建环视
    发表于 05-06 08:52