Апр 272016
 

447_image

Схема: V2.1

raspberry_pi_pitftschem

Прежде чем все это поставить необходимо включь SPI

#sudo raspi-config
Выбираем: Advanced options
Затем выбираем: Enable SPI
И отвечаем на все вопрсы YES
После этого лучше перегрузиться.

Для установки к этому дисплею необходимо поставить следующие пакеты:

sudo apt-get update
sudo apt-get install build-essential python-dev python-smbus python-pip python-imaging python-numpy
sudo pip install RPi.GPIO
git clone https://github.com/adafruit/Adafruit_Python_ILI9341.git
cd Adafruit_Python_ILI9341
sudo python setup.py install

Для проверки работоспособности:

cd examples
sudo python image.py

Скорее всего ничего не заработает.
А дело в том что сигнал D/C расположен не там где должен быть.

D/C — Data or Command pin. В этой версии TFT он находиться на GPIO 25
Это легко определить по схеме.
Короче, открываете пример: image.py
И вносите следующие  исправление.

Было:
# Raspberry Pi configuration.
DC = 18
RST = 23
SPI_PORT = 0
SPI_DEVICE = 0

Нужно:
# Raspberry Pi configuration.
DC = 25
RST = 23
SPI_PORT = 0
SPI_DEVICE = 0

Небольшой пример того что можно сделать: Нужно доставит
apt-get install python-matplotlib

#!/usr/bin/python
import RPIO

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont

import random as random
import Adafruit_ILI9341 as TFT
import Adafruit_GPIO as GPIO
import Adafruit_GPIO.SPI as SPI

import matplotlib
matplotlib.use('Agg') # Must be before importing matplotlib.pyplot or pylab!
import matplotlib.pyplot as plt

RPIO.setup(18, RPIO.IN)
RPIO.setup(18, RPIO.IN, pull_up_down=RPIO.PUD_UP)
input_value = RPIO.input(18)

# Raspberry Pi configuration.
DC = 25
RST = 23
SPI_PORT = 0
SPI_DEVICE = 0
# Create TFT LCD display class.
disp = TFT.ILI9341(DC, rst=RST, spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE, max_speed_hz=64000000))

# Initialize display.
disp.begin()

# Clear the display to a red background.
# Can pass any tuple of red, green, blue values (from 0 to 255 each).
disp.clear((255, 255, 255))

# Get a PIL Draw object to start drawing on the display buffer.
draw = disp.draw()

my_dpi=96
fig = plt.figure(figsize=(320/my_dpi, 240/my_dpi), dpi=my_dpi)
# fig = plt.figure()
items = [1, 2, 3, 4, 5, 6, 7]

while (input_value == 1):
disp.clear((255, 255, 255))
input_value = RPIO.input(18)
random.shuffle(items)
plt.plot(items)
fig.savefig('/var/ramdisk/temp.png',dpi=my_dpi)
image = Image.open('/var/ramdisk/temp.png')
image = image.rotate(90).resize((240, 320))
disp.display(image)
Авг 182015
 

oled-dimension

oled-main

Разрешение: 128*64
Угол обзора: > 160 градусов
Ультра-низким энергопотреблением: 0.08 Вт
Рабочее напряжение: 3-5 Вольт
Рабочая температура: от-30 до 70 градусов Цельсия
Размер: 27.0 мм * 27.0 мм * 4.1 мм
I2c/интерфейс
SSD1306

Arduino Library. (backup download:OLED_I2C)

SPI

oled128x64spi

Библиотеки для микроконтроллеров (Arduino, и.т.д.)

u8glib — https://code.google.com/p/u8glib/

Для Arduino

D/C =>11, RST=>13,SDA=>9,SCL=10

U8GLIB_SSD1306_128X64 u8g(10, 9, 12, 11,13);

12=Не подключаем.

VCC = 3.3v !!! ( На этом модуле нет преобразователя 3.3в )

U8GLIB_SSD1306_128X64 u8g(10,9,12,11,13); // Arduino Fio

 Posted by at 15:47  Tagged with:
Апр 222015
 

BB-VNH3SP30-1

— Нагрузка до 30А;
— Напряжение питания 5.5-36В;
— LED индикатор состояния ШИМ;
— LED индикатор состояния направления;

Купить.

 

    |---------------------------------------------------------------------------|
    |            The hardware connections are as follows:                       |
    |--------------------------------|------------------------------------------|
    |  Connector at Olimexino-328    |      Connector at BB-VNH3SP30            |
    |--------------------------------|------------------------------------------|
    |    Not connected!              |          CTRL<1>,  VIN                   |
    |    Power<3>, 5V                |          CTRL<2>,  +5V                   |
    |    Power<4>, GND               |          CTRL<3>,  GND                   |
    |    Digital<9>                  |          CTRL<4>,  INA                   |
    |    Digital<13>                 |          CTRL<5>,  INB                   |
    |    Digital<11>                 |          CTRL<6>,  PWM                   |
    |    Digital<10>                 |          CTRL<7>,  ENA/DIAGA             |
    |    Digital<12>                 |          CTRL<8>,  ENB/DIAGB             |
    |--------------------------------|------------------------------------------|

Янв 112015
 
IMG_1262

MCU ATMega168P

IMG_1263

L298 Модуль — вместе


 


// ATmega 168P (Arduino) L298 и 74hc00

struct MOTOR   
{
  int in;       // INVERTOR INPUT
  int enable;   // ENABLE
};

MOTOR MOTOR1 = { 7, 5 };  // D5-PWM, D7-Direction
MOTOR MOTOR2 = { 8, 6 };  // D6-PWM, D8-Direction

int FORWARD = HIGH;
int BACK = LOW;

void setup()
{
  pinMode(MOTOR1.in, OUTPUT); 
  pinMode(MOTOR2.in, OUTPUT);
}

void loop()
{
  motor1(FORWARD, 50);   
  motor2(FORWARD, 50);
  delay(3000);
  motor1(BACK, 100);     
  motor2(BACK, 100); 
  delay(5000);
}

void motor1(int dir, int pwm) 
{
  digitalWrite(MOTOR1.in, dir);
  analogWrite(MOTOR1.enable, pwm);
}

void motor2(int dir, int pwm)
{
  digitalWrite(MOTOR2.in, dir);
  analogWrite(MOTOR2.enable, pwm);
}
 Posted by at 21:40