domingo, 2 de julho de 2017

Criando Bitmap - Arquivo 028

Referência:
http://eletronworld.com.br/arduino/graficos-no-display-nokia-5110/

Lista de Materiais:
IDE Arduino 1.0.5 - r2
1x Arduino Uno
1x Protoboard 170 pontos
1x Display Nokia 5110 (3,3Vdc)
1x Resistor 2k2
1x Conj. de fios jumper p/ protoboard

Montagem:







Procedimento:
1° Passo: Abrir "Paint" > Redimencionar  > Alterar para Pixel > Desmarcar a opção "Manter taxa de proporção" > Ajustar a página para 84 x 48.


2° Passo:  Dar Zoom na página e executar o trabalho 


3° Passo:  Finalizado o Trabalho, selecionar "Salvar" > "Salvar Como" > "Imagam BMP" > Escolher o Local/Pasta onde será arquivado a imagem.


4° Passo: Abrir o programa "LCD Assistant".


5° Passo: Abrir o trabalho desenvolvido no "Paint" dentro do "LCD Assistant" - File > Load image > Buscar o arquivo no Local/Pasta onde foi salvo.


6° Passo:  Gerar código - File > Save output > Dar nome ao novo arquivo, acrescentar no final do nome o sufixo .c (Ponto Cê).
IMPORTANTE: Esse arquivo desse ser salvo na mesma pasta do projeto Sketch Arduino.


7° Passo:  Procurar o novo arquivo no local onde foi salvo e abri-lo utilizando a ferramenta Bloco de notas.


8° Passo: Acrescentar no cabeçalho do código #include <avr/pgmspace.h>, substituir "const unsigned char" por "uint8_t" e acrescentar PROGMEM após o nome da matriz. 


IMPORTANTE: Após desenvolvimento do projeto Sketch e produção das imagens, salvas todos os projetos e reabrir o projeto Sketch. Essa manobra evita falhar do sistema na busca dos arquivos de imagem.


Firmware:

#include <LCD5110_Graph.h>

LCD5110 lcd(8,9,10,11,12);

extern uint8_t UnoBoard[];

void setup() {
  lcd.InitLCD();
}

void loop() {

  lcd.clrScr();
  lcd.drawBitmap(0,0,UnoBoard,84,48);
  lcd.update();
}

Download: LCD5110_Graph.h

Display Gráfico NOKIA 5110 - Arquivo 027

Referencia:
http://www.avdweb.nl/arduino/hardware-interfacing/nokia-5110-lcd.html
https://brainy-bits.com/blogs/tutorials/how-to-use-the-nokia-5110
http://www.rinkydinkelectronics.com/library.php?id=47
http://blog.vidadesilicio.com.br/arduino/display-lcd-nokia-5110/

Lista de Material:
IDE Arduino 1.0.5-r2
1x Arduino UNO
1x Mini Protoboard 170 pontos
1x Display NOKIA 5110
1x Resistor 2k2
1x Conj. de Fios jumper p/ protoboard

Montagem:






ATENÇÃO



Firmware:


Código exemplo da biblioteca "LCD5110_Graph".



Download: LCD5110_Graph

terça-feira, 13 de junho de 2017

Led Bar-graph - Arquivo 026

Referencia:
http://circuits4you.com/2016/05/19/led-bar-graph-arduino/

Lista de Materiais:
IDE Arduino 1.0
1x Board Arduino UNO
1x Protoboard 830 furos
1x Cabo USB-A male to USB-B male
1x Conj. de fios junper p/ protoboard
1x Circuito Integrado 74HC595
1x Potenciômetro 10k
2x Rede resistiva 330R 5pinos

Montagem:


Fonte: http://circuits4you.com/2016/05/19/led-bar-graph-arduino/


Firmware:
int Voltage;
//----------------------------------------------------------------------------------------------- 
const int Clock=2;
const int Latch=3;
const int Data= 4;
//----------------------------------------------------------------------------------------------- 
const int ledPin_40 = 5;
const int ledPin_41 = 6;
//----------------------------------------------------------------------------------------------- 
void setup() {                
  pinMode(Data, OUTPUT);
  pinMode(Clock, OUTPUT);
  pinMode(Latch, OUTPUT);  
  pinMode(ledPin_40, OUTPUT);  
  pinMode(ledPin_41, OUTPUT);  
}
//----------------------------------------------------------------------------------------------- 
void loop() {
  Voltage = analogRead(A1);
  Voltage = Voltage / 102;                                                                             
  DisplayBar(Voltage-2);    
}
//----------------------------------------------------------------------------------------------- 
void DisplayBar(char d){
  int i;

  if(Voltage>0){
    digitalWrite(ledPin_40,HIGH);
  } else {
    digitalWrite(ledPin_40,LOW);
  }                         
  if(Voltage>1){
    digitalWrite(ledPin_41,HIGH);
  } else {
    digitalWrite(ledPin_41,LOW);
  }

  digitalWrite(Data,HIGH);                                                                              
  for(i=0;i<d;i++){
    digitalWrite(Clock,LOW);
    digitalWrite(Clock,HIGH);
  }
  digitalWrite(Data,LOW);                                                                               
  for(i=0;i<(8-d);i++){
    digitalWrite(Clock,LOW);
    digitalWrite(Clock,HIGH);
  }  
  digitalWrite(Latch,LOW);                                                                              
  digitalWrite(Latch,HIGH);     
}

domingo, 11 de junho de 2017

Sensor de Pressão MPX5050GP - Arquivo 025

Referência: 
http://www.practicalarduino.com/projects/water-tank-depth-sensor

Lista de Materiais:
IDE Arduino 1.0
1x  Board Arduino UNO
1x  Mini Protoboard 170 furos
1x  Cabo USB-A male to USB-B male 
1x  Conj. de fios jumper p/ protoboard
1x  Sensor de pressão MPX5050GP
1x  Mangueira de Silicone (p/ testes)
1x  Perâ com válvula (p/ testes)
1x Conector T - FESTO mod. T-PK-3
1x Manômetro aneróide, 20 - 300mmHg

Montagem:








Firmware:


int sensorPin = A0;                                                                                    

int sensorValue = 0;                                                                                    
float Vout, Value_Kpa, Value_mmHg;
float OffSet = 1.08;                                                                                  
//------------------------------------------------------------------------------------------------       
void setup() {
  Serial.begin(9600);
}
//------------------------------------------------------------------------------------------------    
void loop() {
  sensorValue = analogRead(sensorPin);
  Vout = (sensorValue * 0.00459);           
  Value_Kpa = (Vout - 0.2)/0.09;
  Value_Kpa = Value_Kpa * OffSet;
  Value_mmHg = Value_Kpa * 7.50061;                                                                    

  if(Value_Kpa < 0) Value_Kpa = 0, Value_mmHg = 0;         


  Serial.print(Value_Kpa, 0);

  Serial.println(" Kpa ");

  Serial.print(Vout);

  Serial.println(" V ");

  Serial.print(Value_mmHg, 0);

  Serial.println(" mmHg ");
  delay(500);

}