Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
rpi_gpio_shield [2015/05/22 15:22]
ansealk [Ссылки]
rpi_gpio_shield [2015/05/22 15:22] (текущий)
ansealk [Подключение и программирование]
Строка 1: Строка 1:
 +====== RPI GPIO Shield ======
 +
 +===== Описание =====
 +
 +RPI GPIO Shield при установки на Raspberry Pi обеспечивает набор интрефейсов,​ аналогичных Arduino Uno. Также на плате разведены:​
 +  - IIC интерфейс;​
 +  - UART TX/RX интерфейс;​
 +  - SPI интерфейс;​
 +  - интерфейсы для подключения прочих модулей.
 +RPI GPIO Shield полностью (механически и электрически) совместим с Arduino Uno
 +
 +{{:​arduino_and_raspberrypi:​rpi_gpio_shiled:​rpi_gpio_shield_a.jpg?​200|}}
 +{{:​arduino_and_raspberrypi:​rpi_gpio_shiled:​rpi_gpio_shield_b.jpg?​200|}}
 +{{:​arduino_and_raspberrypi:​rpi_gpio_shiled:​rpi_gpio_shield_c.jpg?​200|}}
 +
 +===== Параметры =====
 +  * Полная совместимость с Arduino Uno, включая работу с шилдами
 +  * Подключается к разъему GPIO Raspberry-Pi
 +  * Безопасное подключение по напряжению - двунаправленное автоматическое преобразованме между 3.3V (Raspberry-Pi) и 5V (Arduino).
 +  * Форм-фактор Raspberry-Pi ​
 +  * Размеры:60.24mmx48.36mm \\ {{:​arduino_and_raspberrypi:​rpi_gpio_shiled:​rpi_gpio_shield_e.jpg?​200|}}
 +
 +===== Принципиальная схема =====
 +{{:​arduino_and_raspberrypi:​rpi_gpio_shiled:​rpi_gpio_shield_g.jpg?​600|}}
 +
 +===== Расположение интерфейсов =====
 +{{:​arduino_and_raspberrypi:​rpi_gpio_shiled:​rpi_gpio_shield_f.jpg?​600|}}
 +
 +{{:​arduino_and_raspberrypi:​rpi_gpio_shiled:​rpi_gpio_shield_h.jpg?​300|}}{{:​arduino_and_raspberrypi:​rpi_gpio_shiled:​rpi_gpio_shield_i.jpg?​300|}}
 +
 +===== Подключение и программирование =====
 +Код будем набирать сразу из консоли Raspberry Pi
 +
 +==== Вариант подключения ====
 +{{:​arduino_and_raspberrypi:​rpi_gpio_shiled:​rpi_gpio_shield_connecting_2..png?​200|}}
 +
 +<code c++ pcd8544_rpi.c>​
 +{
 +/*
 +=================================================================================
 + ​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.
 +================================================================================
 + */
 +#include <​wiringPi.h>​
 +#include <​stdint.h>​
 +#include <​stdio.h>​
 +#include <​stdlib.h>​
 +#include <​string.h>​
 +#include <​sys/​sysinfo.h>​
 +#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;
 + 
 +}
 +</​code>​
 +
 +===== Документы и инструментарий =====
 +
 +  * {{:​arduino_and_raspberrypi:​rpi_gpio_shiled:​txs0108epwr_icpdfcom_526875.pdf|Даташит}}
 +  * {{:​arduino_and_raspberrypi:​rpi_gpio_shiled:​rpi_gpio_shield.pdf|Спецификация}}
 +  * {{:​arduino_and_raspberrypi:​rpi_gpio_shiled:​raspberry_pi_io_expansion_board_user_guide.pdf|Руководство пользователя}}
 +  * {{:​arduino_and_raspberrypi:​rpi_gpio_shiled:​paintcode.zip| Библиотека Paintcode}}
 +
 +===== Ссылки =====
 +
 +  * [[http://​www.elecfreaks.com/​wiki/​index.php?​title=RPI_GPIO_Shield_Sample_Data|Wiki производителя]]
 +
 +
 +
 +
  
rpi_gpio_shield.txt · Последние изменения: 2015/05/22 15:22 — ansealk
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика