RPI GPIO Shield Sample Data

From ELECFREAKS-WIKI
Jump to: navigation, search

Introduction

RPI GPIO Shield turned Raspberry Pi GPIO into the normally-used Arduino I/O interface. The shield not only maintained most of Arduino UNO I/O interface,but also expanded IIC interface,UART TX/RX interface, and SPI interface, electronic bricks interface. RPI GPIO Shield inherited the Arduino UNO I / O all the features, which can be used to drive LED, sensors, LCD and other electronic modules and components.


Model: EF03040

RPI GPIO Shield A.JPGRPI GPIO Shield B.JPGRPI GPIO Shield C.JPG

Feature

  • Fully compatible with Arduino, including Arduino shields
  • Plugs in to Raspberry-Pi GPIO header
  • Voltage safe – Bidirectional translator automatically converts between 3.3V for Raspberry-Pi and 5V for Arduino
  • Same form factor as Raspberry-Pi
  • SIZE:60.24mmx48.36mm

Note

When RPI GPIO Shield connected with Raspberry Pi GPIO, please make sure their pins are corresponding with each other.

Schematic

RPI GPIO Shield E.JPG

Specification

RPI GPIO Shield G.JPG

Interface Function

RPI GPIO Shield F.JPG

Hardware

RPI GPIO Shield H.JPG


RPI GPIO Shield I.JPG


Hardware Installation

RPI GPIO Shield Connecting 2..png

Programming

Includes important code snippet. Demo code like : <syntaxhighlight lang="php">

Demo code { /*

=====================================================================
Name        : pcd8544_rpi.c
Version     : 0.1
Copyright (C) 2012 by Andre Wussow, 2012, desk@binerry.de
Description :
    A simple PCD8544 LCD (Nokia3310/5110) for Raspberry Pi for displaying some system informations.

Makes use of WiringPI-library of Gordon Henderson (https://projects.drogon.net/raspberry-pi/wiringpi/)

Recommended connection (http://www.raspberrypi.org/archives/384): LCD pins Raspberry Pi LCD1 - GND P06 - GND LCD2 - VCC P01 - 3.3V LCD3 - CLK P11 - GPIO0 LCD4 - Din P12 - GPIO1 LCD5 - D/C P13 - GPIO2 LCD6 - CS P15 - GPIO3 LCD7 - RST P16 - GPIO4 LCD8 - LED P01 - 3.3V

====================================================================

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

====================================================================
*/
  1. include <wiringPi.h>
  2. include <stdint.h>
  3. include <stdio.h>
  4. include <stdlib.h>
  5. include <string.h>
  6. include <sys/sysinfo.h>
  7. include "PCD8544.h"

// pin setup int _din = 1; int _sclk = 0; int _dc = 2; int _rst = 4; int _cs = 3;

// lcd contrast int contrast = 50;

int main (void) {

 // print infos
 printf("Raspberry Pi PCD8544 sysinfo display\n");
 printf("========================================\n");
 
 // check wiringPi setup
 if (wiringPiSetup() == -1)
 {

printf("wiringPi-Error\n");

   exit(1);
 }
 
 // init and clear lcd
 LCDInit(_sclk, _din, _dc, _cs, _rst, contrast);
 LCDclear();
 
 // show logo
 LCDshowLogo();
 
 delay(2000);
 
 for (;;)
 {

// clear lcd LCDclear();

// get system usage / info struct sysinfo sys_info; if(sysinfo(&sys_info) != 0) { printf("sysinfo-Error\n"); }

// uptime char uptimeInfo[15]; unsigned long uptime = sys_info.uptime / 60; sprintf(uptimeInfo, "Uptime %ld min.", uptime);

// cpu info char cpuInfo[10]; unsigned long avgCpuLoad = sys_info.loads[0] / 1000; sprintf(cpuInfo, "CPU %ld%%", avgCpuLoad);

// ram info char ramInfo[10]; unsigned long totalRam = sys_info.freeram / 1024 / 1024; sprintf(ramInfo, "RAM %ld MB", totalRam);

// build screen LCDdrawstring(0, 0, "Raspberry Pi:"); LCDdrawline(0, 10, 83, 10, BLACK); LCDdrawstring(0, 12, uptimeInfo); LCDdrawstring(0, 20, cpuInfo); LCDdrawstring(0, 28, ramInfo); LCDdisplay();

delay(10000);

 }
 
   //for (;;){
 //  printf("LED On\n");
 //  digitalWrite(pin, 1);
 //  delay(250);
 //  printf("LED Off\n");
 //  digitalWrite(pin, 0);
 //  delay(250);
 //}
 return 0;

}

</syntaxhighlight>

Example

The projects and application examples.

Version Tracker

Revision Descriptions Release
v0.9b Initial public release date

Bug Tracker

Bug Tracker is the place you can publish any bugs you think you might have found during use. Please write down what you have to say, your answers will help us improve our products.

Additional Idea

The Additional Idea is the place to write your project ideas about this product, or other usages you've found. Or you can write them on Projects page.

Resources

How to buy

Click here to buy:

http://www.elecfreaks.com/estore/rpi-gpio-shield.html

See Also

Other related products and resources.

Licensing

This documentation is licensed under the Creative Commons Attribution-ShareAlike License 3.0 Source code and libraries are licensed under GPL/LGPL, see source code files for details.

External Links

Links to external webpages which provide more application ideas, documents/datasheet or software libraries