Pesquisar

Open Hardware

Embora seja um conceito aparentemente simples, o conceito de Open Hardware no entanto ainda confunde muitas pessoas, que associa esse tipo de hardware à pirataria.
Iremos procurar de forma simples e sucinta procurar  ajuda-lo a entender o conceito  Open Hardware (ou Hardware livre), para auxilia-lo em suas próximas aquisições.

O QUE É OPEN HARDWARE?

O conceito Open Hardware é bastante parecido com o conceito de software livre, difundido pelo sistema operacional Linux, onde o  código fonte é aberto, ou seja, você pode baixar o código, fazer as suas próprias modificações e criar um Linux customizado.


Com o  Open Hardware é semelhante. São circuitos eletrônicos ou hardware de computador que podem ser copiados livremente, uma vez que o próprio desenvolvedor disponibiliza o diagrama elétrico (esquema elétrico), lista de componentes (BOM), layout de placa e outros informações relacionadas ao hardware.
Geralmente o desenvolvedor não cobra nenhuma taxa de licença, em alguns casos é exigido que o nome dele seja incluído nos créditos do projeto final. O desenvolvedor também pode exigir que qualquer projeto baseado em seu trabalho seja distribuído no esquema de Open Hardware.

AS VANTAGENS DO OPEN HARDWARE

Redução de custos talvez seja a primeira coisa que venha à cabeça quando se pensa em Open Hardware. Um fabricante pode encomendar milhões de componentes ao mesmo tempo, obter um desconto junto aos fornecedores e repassar esse desconto ao preço final do equipamento.
No entanto outra grande vantagem é a possibilidade de melhorar o hardware, acrescentando alguma funcionalidade extra ou até mesmo resolvendo algum problema de funcionamento no hardware original. 
PIRATARIA OPEN  HARDWARE 
Open Hardware (em inglês, Open source hardware) é um hardware eletrônico constantemente confundido com pirataria, mas são conceitos bastante distintos. Vamos tomar como exemplo o Arduino. Um determinado fabricante pode colocar em uma mesma placa um microprocessador ATmega, um regulador de tensão, o chip FTDI, os demais componente e criar seu próprio Arduino.
O que ele não deve  é utilizar o nome Arduino, o logo e a frase “Made in Italy”, principalmente se ele não foi produzido lá, certo ? Nesse caso, estaria caracterizada a pirataria.

PRODUTOS

Exemplo a comparação entre um Arduino Uno Italiano e uma placa baseada em Open Hardware.

clique para ampliar 

UTILIZANDO TFT1.8

Vamos montar um circuito para mostrar como utilizar um Shield TFT 1.8
Material necessário
01 Uno
Cabos  para conexão

Realize as conexões conforme tabela à baixo:

Display
Uno
+5V:
+5V
MISO:
pin 12
SCK:
pin 13
MOSI:
pin 11
LCDCS:
pin 10
SD CS:
pin 4
D/C:
pin 9
RESET:
pin 8
BL:
+5V
GND:
GND

Carregue no SD card uma imagem com o nome logo2.bmp, este nome pode ser alterado mas é necessário alterar no software também
Para controle do LCD iremos utilizar a biblioteca TFT que já vem na IDE 1.0.6

Código Arduino para o TFT1.8


// Referenciado pelo exemplo de Enrico Gueli
//Created 19 April 2013 by Enrico Gueli

// include the necessary libraries
#include <SPI.h>
#include <SD.h>
#include <TFT.h> // Hardware-specific library

// Definicao pinos para o UNO
#define SD_CS  4
#define LCD_CS 10
#define DC     9
#define RESET  8 

// Definicao pinos para o Leonardo
// #define SD_CS  8
// #define LCD_CS 7
// #define DC   0
// #define RESET  1
TFT myScreen = TFT(LCD_CS, DC, RESET);

// esta variável representa a imagem a ser desenhado na tela
PImage imagem;

void setup() {

  // initialize the serial port
  Serial.begin(9600);
  while (!Serial) {
    // wait for serial line to be ready
    // needed for the Leonardo

  }

  // try to access the SD card
  Serial.print("Mostrando Imagem TFT");
  Serial.print("\n");
  Serial.print("Inicializando SD card...");
  if (!SD.begin(SD_CS)) {
    Serial.println("falhou!");
    return;
  }
  Serial.println("OK!");

  // initialize and clear the GLCD screen
  myScreen.begin();
  myScreen.background(255, 255, 255);

  myScreen.stroke(0, 5, 120);
  myScreen.println(F("AF Eletronica"));
  myScreen.stroke(0, 0, 255);
  myScreen.println();
  myScreen.println(F("Baseado Exemplo"));
  myScreen.println(F("19 April 2013 Enrico Gueli"));
  myScreen.println(F("Exemplo TFT Bitmap"));
  myScreen.stroke(0, 0, 0);
  myScreen.println(F("Abra o monitor Serial"));
  myScreen.println(F("para ver as propriedades"));
  myScreen.println(F("da imagem"));
  delay(5000);

 
  myScreen.background(255, 255, 255);

  // Lê a imagem do SDcard
  imagem = myScreen.loadImage("logo2.bmp");



  // Verifica a propriedade da imagem
  if (imagem.isValid() != true) {
    Serial.println("erro a ler image logo2.bmp");
  }
  //write the image on screen
  myScreen.image(imagem, 5, 10); //(coluna, linha)
}

void loop(){
// nothing happening here

}