0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
DEV-13044

DEV-13044

  • 厂商:

    SPARKFUNELECTRONICS

  • 封装:

    -

  • 描述:

    Raspberry Pi to Edison Interface Intel Edison Platform Evaluation Expansion Board

  • 数据手册
  • 价格&库存
DEV-13044 数据手册
Page 1 of 11   SparkFun Blocks for Intel® Edison - Pi Block Introduction The Pi Block breaks out and level shifts several GPIO pins from the Intel Edison. It presents them in the same configuration as a Raspberry Pi Model B. Pi Block Suggested Reading If you are unfamiliar with Blocks, take a look at the General Guide to Sparkfun Blocks for Intel Edison. Other tutorials that may help you on your Edison adventure include: • Edison Getting Started Guide • Logic Levels Board Overview Page 2 of 11 Pi Block Functional Diagram • USB Power - used to provide 5V to Pi Block and power the Edison. Note that the data lines are not connected to the Edison. • Power Button - The power switch is connected to the “PWRBTN” line on the Edison. This give the user the ability to place an Edison in sleep or power down the module completely. This does not affect power to other Blocks in the stack. • Power LED - The power LED illuminates when power is present on VSYS. This can come from the onboard USB Power or any other powered Block in the stack. • Expansion Header - The 70-pin Expansion header breaks out the functionality of the Intel Edison. This header also passes signals and power throughout the stack. These function much like an Arduino Shield. • LED Jumper - If power consumption is an issue, cut this jumper to disable the power LED. • VSYS Jumper - By default, a USB cable must be attached to the USB Power port to provide power to the 5V pins on the RPi B Header. You can power the Edison and Pi Block from another Block (e.g. Base Block), but there will not be 5V on the pins labeled “5V”. By closing this jumper, you can power the Edison and Pi Block from another Block, and ~4.2V (VSYS) will appear on the pins labeled “5V”. • RPi B Header - Same configuration as the old Raspberry Pi Model B pinout. Using the Pi Block To use the Pi Block, attach an Intel® Edison to the back of the board, or add it to your current stack. Blocks can be stacked without hardware, but it leaves the expansion connectors unprotected from mechanical stress. Page 3 of 11 Edison installed on Pi Block We have a nice Hardware Pack available that gives enough hardware to secure three blocks and an Edison. Intel Edison Hardware Pack NOTE: It is recommended to use a console communication block in conjunction with this block like ones found in the General Guide to Sparkfun Blocks for Intel Edison. Once you have the Edison configured, you can remove the console communication block, power the Edison from the Pi Block, and SSH into the Edison. You can put headers on the Edison side, which gives you easy access to the pin labels. Note that this pinout is mirrored from the Raspberry Pi Model B pinout. Headers on Edison side Alternatively, you can populate the back side of the Pi Block with headers. This method gives the same pinout as a Raspberry Pi Model B. You could, in theory, swap the Edison in for your Raspberry Pi on an existing project, or use Raspberry Pi accessories (e.g. Pi Wedge). Page 4 of 11 Or put headers on the back side of Pi Block Using the Pi Block as an output device If you want to use the Pi Block to control high power LEDs or relays, an external transistor or MOSFET will be required. It is possible to illuminate a small LED directly from the level shifter. It may not be as bright since the current output of the TXB0108 level converter is very low (~5ma). Connection Diagram for Load (LED, Motor, or Relay) In the terminal, we will demonstrate how to activate and use a GPIO pin as an output. First navigate to the GPIO directory on the Edison. cd /sys/class/gpio Select the GPIO pin to enable. In this case, we used GPIO 14, which is labeled “GP14” on the Pi Block. echo 14 > export Navigate to the newly created GPIO directory. cd gpio14 If you type “ls”, you should see a bunch of variables. Page 5 of 11 active_low device direction edge power subsystem uevent value Let’s set the “direction” of the port to output echo out > direction To confirm this, we will “cat” the value cat direction You should see the “out” in the command line. Now the device is configured as an output. “value” is where the status of the pin is set, 1 for high, 0 for low. echo 1 > value Testing with a multi-meter, small led, or oscilloscope, you should see a “high” status (3.3V) present on gpio14. Using the Pi Block as an input device If you want the Pi Block to read switches, buttons, or other logic level inputs, you must pay attention to pull-up and pull-down resistors. The level converter on board is very weak. Here are two scenarios explained: Connection Diagram for Active High Push Button Page 6 of 11 Connection Diagram for Active Low Push Button In the terminal, we will demonstrate how to activate and use a GPIO pin as an input configured as an active high. First, navigate to the GPIO directory on the Edison. cd /sys/class/gpio  Select the GPIO pin to enable. In this case let us use GPIO 14. echo 14 > export  Navigate to the newly created GPIO directory. cd gpio14  If you type “ls”, you should see a bunch of variables. active_low  direction   power       uevent  device      edge        subsystem   value  Let’s set the “direction” of the port to output. echo in > direction  To confirm this, we will “cat” the value. cat direction  You should see the “in” in the command line. Now the device is configured as an input. “value” is where the status of the pin is set, 1 for high, 0 for low. Page 7 of 11 cat value  With a button pressed, you should see a 1. When the button is not pressed you should see a 0. Using the up arrow, you can recall previously run commands. C++ Examples We’re assuming that you’re using the Eclipse IDE as detailed in our Beyond Arduino tutorial. If you aren’t, you’ll need to go to that tutorial to get up to speed. Hardware Connection Hardware support for this library is simple; one basic red LED and one momentary pushbutton. We’re using a 2N3904 NPN transistor to drive the LED, however, as the drive strength of the outputs on the Pi Block is quite weak. As you can see in the diagram, you’ll also need a couple of 1kΩ resistors and a single 330Ω resistor. While we’ve used GPIO45 and GPIO46 in this example, this code can be used with any of the pins on the Pi breakout. The GPIO to MRAA pin map can be found in the Resources and Going Further section. Code Follow the instructions in the programming tutorial to create a new project named “SparkFun_Pi_Block_Example”. Once you’ve created the project, open the “SparkFun_Pi_Block_Example.cpp” file and replace all the existing code with the code block below. Page 8 of 11 /*********************************************************** *****    Example file for SparkFun Pi Block Support    14 Jul 2015­ Mike Hord, SparkFun Electronics    Code developed in Intel's Eclipse IOT­DK    Modified on July 30, 2015 by Shawn Hymel, SparkFun Electroni cs    This code requires the Intel mraa library to function; for m ore    information see https://github.com/intel­iot­devkit/mraa    This code is beerware; if you use it, please buy me (or any  other    SparkFun employee) a cold beverage next time you run into on e of    us at the local.    ************************************************************ ****/ #include "mraa.hpp" #include  #include  using namespace mraa;  using namespace std;  int main() {  // Oddly, GPIO pin assignment numbers when using the MRAA li braries are not //  the same as those inside the operating system. Thus, whi le we're using //  pin 46 as far as the OS is concerned to drive the LED, w e're using pin 32 //  as far as MRAA is concerned. The cheat sheet for that ca n be found here: //  https://github.com/intel­iot­devkit/mraa/blob/master/doc s/edison.md   Gpio LEDPin(45);   LEDPin.dir(DIR_OUT); // Now do a quick little flicker.   LEDPin.write(0); usleep(100000);   LEDPin.write(1); usleep(100000);   LEDPin.write(0); // Alternatively, we can declare the pin in "raw" mode, whic h has a slightly //  different and more unwieldy constructor.   Gpio buttonPin(32, true, true);   buttonPin.dir(DIR_IN); // In this infinite loop, we'll blink the LED once whenever  someone presses //  the button. while (1)   {  Page 9 of 11 // We *know* that if the IO pin reads as 0, or is low, rea d() returns zero. //  However, if it's high, it *may* return something els e; the only guarantee //  is that it will be nonzero. Thus, don't test to see i f a read() returned //  a 1!!! if (buttonPin.read() == 0)     {        LEDPin.write(1); sleep(1);       LEDPin.write(0); sleep(1);     }    }  return MRAA_SUCCESS; }  Additional Examples Because this block is just a GPIO access device, the existing MRAA GPIO examples can be used with it. Example projects in the IDE When you create a new project in the Eclipse IDE, it will offer you the option of several starter projects. Some of them, noted above, are good examples of using the MRAA GPIO functions. They’re more complex than what we’ve provided here, however. For full documentation of the C++ API for GPIO pins, please visit the official MRAA documentation. Resources and Going Further Pin Map You might have noticed that we used GP46 in hardware and GPIO 32 in our example code. This is because the MRAA library uses a different number for the pins. If you would like to use MRAA to control hardware, figure out which GPIO pins you plan to use on the table below (labeled “Edison Pin”) and then use the MRAA Number in software. The available pins on the Pi Block have been highlighted in yellow in the table. Notes: • • • • Input/output voltage on the Pi Block is 3.3V Input/output voltage on the GPIO Block is 3.3V by default Input/output voltage on the Arduino Breakout is 5V Input/output voltage on the Mini Breadboard is 1.8V MRAA pin map table based on Intel’s IOT Dev Kit Repository Edison Pin (Linux) Arduino Breakout Mini Breakout GP12 3 J18-7 GP13 5 GP14 A4 MRAA Number Pinmode0 Pinmode1 20 GPIO-12 PWM0 J18-1 14 GPIO-13 PWM1 J19-9 36 GPIO-14 Pinmode2 Page 10 of 11 Edison Pin (Linux) Arduino Breakout Mini Breakout MRAA Number Pinmode0 Pinmode1 GP15 J20-7 48 GPIO-15 GP19 J18-6 19 GPIO-19 I2C-1-SCL GP20 J17-8 7 GPIO-20 I2C-1-SDA GP27 J17-7 6 GPIO-27 I2C-6-SCL GP28 J17-9 8 GPIO-28 I2C-6-SDA GP40 13 J19-10 37 GPIO-40 SSP2_CLK GP41 10 J20-10 51 GPIO-41 SSP2_FS GP42 12 J20-9 50 GPIO-42 SSP2_RXD GP43 11 J19-11 38 GPIO-43 SSP2_TXD GP44 A0 J19-4 31 GPIO-44 GP45 A1 J20-4 45 GPIO-45 GP46 A2 J19-5 32 GPIO-46 GP47 A3 J20-5 46 GPIO-47 GP48 7 J19-6 33 GPIO-48 GP49 8 J20-6 47 GPIO-49 GP77 J19-12 39 GPIO-77 SD GP78 J20-11 52 GPIO-78 SD GP79 J20-12 53 GPIO-79 SD GP80 J20-13 54 GPIO-80 SD GP81 J20-14 55 GPIO-81 SD GP82 J19-13 40 GPIO-82 SD GP83 J19-14 41 GPIO-83 SD GP84 J20-8 49 GPIO-84 SD GP109 J17-11 10 GPIO-109 SPI-5-SCK GP110 J18-10 23 GPIO-110 SPI-5-CS0 GP111 J17-10 9 GPIO-111 SPI-5-CS1 GP114 J18-11 24 GPIO-114 SPI-5MISO GP115 J17-12 11 GPIO-115 SPI-5MOSI J17-14 13 GPIO-128 UART-1CTS GP128 2 Pinmode2 Page 11 of 11 Edison Pin (Linux) Arduino Breakout Mini Breakout GP129 4 GP130 GP131 MRAA Number Pinmode0 Pinmode1 J18-12 25 GPIO-129 UART-1RTS 0 J18-13 26 GPIO-130 UART-1RX 1 J19-8 35 GPIO-131 UART-1-TX GP134 J20-3 44 GP135 J17-5 4 GPIO-135 UART GP165 A5 J18-2 15 GPIO-165 GP182 6 J17-1 0 GPIO-182 PWM2 GP183 9 J18-8 21 GPIO-183 PWM3 Pinmode2 Edison General Topics: • General Guide to Sparkfun Blocks for Intel Edison • Edison Getting Started Guide - Programming with Arduino • Loading Debian (Ubilinix) on the Edison Block Specific Topics: • Pi Block Github repo Check out these other Edison related tutorials from SparkFun: SparkFun Blocks for Intel® Edison - OLED Block SparkFun Blocks for Intel® Edison - Dual H-Bridge A quick overview of the features of the OLED Block for the Edison. A quick overview of the features of the Dual H-bridge Block. Programming the Intel® Edison: Beyond the Arduino IDE SparkFun Blocks for Intel® Edison - ADC V20 Intel's Edison module goes beyond being just another Arduino clone. Check this tutorial for advice on how to get the most out of your Edison by writing code in C++! A quick overview of the features of the ADC Block. https://learn.sparkfun.com/tutorials/sparkfun-blocks-for-intel-edison---pi-block?_ga=1.23... 10/12/2015
DEV-13044 价格&库存

很抱歉,暂时无法提供与“DEV-13044”相匹配的价格&库存,您可以联系我们找货

免费人工找货