quinta-feira, 21 de setembro de 2017

TGIMBOEJ BRASIL 3

Chegou a tão esperada  caixa do projeto TGIMBOEJ BRASIL 3 uma das melhores coisa que aconteceu nesse ano pra mim. 



O que eu retirei:Manipulador de MDF e seguidor de linha todos dois colocado por Felipe Navarro (Navarro Eletrônica).








O que eu coloquei: Uma mini-retifica, 2 rastreadores de cargas, 2 VU analógico, placa de leds, placa universal, alguns componentes eletrônicos, uma plaquinha para retirar componentes e um motor com seu controlador drive. Coloquei poucas coisa mais foi uma contribuição de coração. 


Quero agradecer Rodrigo Feliciano (o famoso pakequis) por tomar iniciação de fazer o projeto do TGIMBOEJ pela terceira vez. 

sexta-feira, 11 de março de 2016

Frequencímetro

Materiais

  • Arduino;
  • Display de LCD 16x2;
  • 2 Potenciometria .

Circuito eletrônico 




Código fonte

/*Frequencímetro com Arduino e LCD

   
blog: http://projetosarduino321.blogspot.com.br/
contado: kleytonxavier31@gmail.com

*/


#include <LiquidCrystal.h> //inclui biblioteca lcd



#define inFreq   2  //entrada para medir a frequência no pino digital 2


// --- Hardware do LCD ---
LiquidCrystal disp(9,8,6,5,4,3);


// --- Variáveis Globais ---
long freq, counter;
int pulseCount;
boolean pulse;



void setup() 
{
  
  pinMode(inFreq,INPUT);    //Configura como entrada
  
  disp.begin(16, 2);        //Display lcd 16 x 2
  disp.setCursor(2,0);      //Posiciona cursor na coluna 3, linha 1
  disp.print("Frequency");  //Escreve no display
  
  pulse = 0x01;             //Seta variável de controle
  
}


// --- Loop Infinito ---
void loop() 
{
  
  counter = millis();      //counter recebe o valor do tempo em ms
  
  if(digitalRead(inFreq)){  //Entrada de frequência em nível alto?
                       
  
    if(pulse) pulseCount++;  //incrementa pulseCount se variável de controle for verdadeira
     
    pulse = 0x00;            //limpa variável de controle

  }
  
  else                     
  {
    pulse = 0x01;          //Seta variável de controle
  }


  if(counter%200 == 0x00) {  //Passaram-se 200 ms?
                         
    freq = pulseCount*4;   //Atualiza frequência (200 x 5 = 1000ms)
    disp.setCursor(5,1);   //Posiciona cursor na coluna 6, linha 2
    disp.print(freq);      //Imprime valor atual da frequência
    disp.print("Hz");      //Imprime "Hz"
    
    pulseCount = 0x00;     //Reinicia contador
  }
  
  


segunda-feira, 22 de fevereiro de 2016

Capacimetro

Materiais

  • Arduino;
  • Resistor de220 Ω;
  • Resistor de 10k Ω;
  • Capacitor de qualquer valor, para ser medido.
Circuito eletrônico



Código fonte 

/*Projeto capacimetro


blog: http://projetosarduino321.blogspot.com.br/

contado: kleytonxavier31@gmail.com

*/

// --- Bibliotecas Auxiliares ---
#include <LiquidCrystal.h> //inclui biblioteca lcd


// --- Mapeamento de Hardware ---
#define charge         7          // Digital 11 vai carregar o capacitor
#define discharge      6          // Digital 10 vai descarregar o capacitor
#define resistor       10000.0F    // Resistor de carga utilizado no projeto                                  
#define capLoad        A0         // medida de tensão (carga no capacitor) no pino analógico 0


// --- Hardware do LCD ---
LiquidCrystal disp(9,8,5,4,3,2);

// --- Variáveis Globais ---
unsigned long Time01;             // Tempo inicial
unsigned long Time02;             // Tempo transcorrido
float microFarads;                // Armazena o valor da capacitância em µF
float nanoFarads;                 // Armazana o valor da capacitância em nF


// --- Configurações Iniciais ---
void setup()
{
    pinMode(charge, OUTPUT);         //Configura pino de carga como saída digital
       
    digitalWrite(charge, LOW);       //Inicializa pino de carga
    
    disp.begin(16, 2);              //Display lcd 16 x 2
    disp.setCursor(2,0);            //Posiciona cursor na coluna 3, linha 1
    disp.print("Capacimetro");      //Escreve no display
Serial.begin(9600);
   




void loop()
{
  
  digitalWrite(charge, HIGH);              //Saída de carga em nível alto (carrega o capacitor com a tensão de alimentação do Arduino)
  Time01 = millis();                       //Armazena a contagem de programa em mili segundos em Time01


  while(analogRead(capLoad) < 648){ }      // Aguarda até atingir 63,2% da tensão da fonte
  
  Time02 = millis() - Time01;              // Calcula o tempo transcorrido
  
  microFarads = ((float)Time02 / resistor) * 1000;     // Calcula a Capacitância em Micro Farads

   



  if (microFarads > 1)                //Capacitância maior que 1uF?
  {                                   //Sim...
    
    
    disp.setCursor(5,1);              //Posiciona cursor na coluna 6, linha 2
    disp.print((long)microFarads);    //Imprime valor atual da capacitância em uF
    disp.print(" uF");  //Imprime "uF"
    
  } //end if
  
  else                                //Senão...
  {
     

    nanoFarads = microFarads * 1000.0;      // Converte uF para nF
    
    
    disp.setCursor(5,1);              //Posiciona cursor na coluna 6, linha 2
    disp.print((long)nanoFarads);     //Imprime valor atual da capacitância em nF
    disp.print(" nF");                //Imprime "nF"
        
    
  } //end else

   
  digitalWrite(charge, LOW);                //Pino de carga fica em nível baixo
  pinMode(discharge, OUTPUT);               //Pino de descarga configurado temporariamente como saída
  digitalWrite(discharge, LOW);             //Pino de descarga em nível baixo (descarrega o capacitor)
  while(analogRead(capLoad) > 0){ }         //Aguarda até que a tensão no capacitor chegue a zero
  

  pinMode(discharge, INPUT);                //Pino de descarga volta a ser entrada
  
  
  delay(300); //atualização das leituras
  
  
}

sexta-feira, 8 de janeiro de 2016

Medidor de distância

Materiais


  • Arduino;
  • Sensor ultrassônico;
  • 4 fios jumpes;
Circuito eletrônico 



Código fonte

/*Projeto medidor de distância por ultrassônico 



blog: http://projetosarduino321.blogspot.com.br/

contado: kleytonxavier31@gmail.com

*/

#define trig 9  //Pino 9 do Arduino será a saída de trigger
#define echo 8  //Pino 8 do Arduino será a entrada de echo


void trigPuls();  //Função que gera o pulso de trigger

float pulse;     //Variável que armazena o tempo de duração do echo
float dist_cm;   //Variável que armazena o valor da distância em centímetros


void setup(){
  
  pinMode(trig, OUTPUT);   //Pino de trigger será saída digital
  pinMode(echo, INPUT);    //Pino de echo será entrada digital
  
  digitalWrite(trig, LOW); //Saída trigger inicia em nível baixo
  
  Serial.begin(9600);      //Inicia comunicação serial

}

void loop() {
  
   trigPulse();                 //Aciona o trigger do módulo ultrassônico
   
   pulse = pulseIn(echo, HIGH); //Mede o tempo em que o pino de echo fica em nível alto
   
   dist_cm = pulse/58.82;       //Valor da distância em centímetros
   
   if(dist_cm<100){ //mostra em centímetro
    
   
      Serial.print(dist_cm);     //Imprime o valor na serial
      Serial.println(" Cm");  

   }
   
  if(dist_cm>100){   //converte em metro

    dist_cm=dist_cm/100; 
    Serial.print(dist_cm);     //Imprime o valor na serial
    Serial.println(" m");
    
   }
   
 delay(1000);                  //Taxa de atualização

}

void trigPulse(){
  
  digitalWrite(trig, HIGH);  //Pulso de trigger em nível alto
  delayMicroseconds(10);     //duração de 10 micro segundos
  digitalWrite(trig, LOW);   //Pulso de trigge em nível baixo
  
}







sexta-feira, 1 de janeiro de 2016

Teclado matricial 4x4

Materiais

  • Arduino;
  • Teclado matricial 4x4;
  • 4 registores;

Circuito eletrônico


Código fonte


/*Projeto Teclado matricial 4x4



blog: http://projetosarduino321.blogspot.com.br/

contado: kleytonxavier31@gmail.com

*/

#include <Keypad.h> //adicionar a biblioteca

const byte numRows=4; // Numero de linhas
const byte numCols=4; // Numero de colunas

char keymap[numRows][numCols]= // Aqui é feito o "mapa" do teclado, que são as teclas
{
 {'1','2','3','A'},
 {'4','5','6','B'},
 {'7','8','9','C'},
 {'*','0','#','D'},
};

byte rowPins[numRows] = {3,4,5,6}; // Pinos digitais onde as linhas estão conectadas
byte colPins[numCols] = {8,9,10,11}; // Pinos digitais onde as colunas estão conectadas

Keypad myKeypad = Keypad(makeKeymap(keymap), rowPins, colPins, numRows, numCols);

void setup(){

 Serial.begin(9600);

}

void loop()
{
 char keypressed = myKeypad.getKey();
 if(keypressed !=  NO_KEY)
 {
 Serial.println(keypressed);
 }
}


quinta-feira, 31 de dezembro de 2015

Relógio de tempo real (DS1302)

Materiais

  • Arduino;
  • DS1302;
  • 5 fios jampens.
Circuito eletrônico


Código fonte

#include <virtuabotixRTC.h>        

virtuabotixRTC myRTC(6, 7, 8);  // Determina os pinos ligados ao modulo

void setup()  {      

  Serial.begin(9600); //inicializar a serial

  // (segundos, minutos, hora, dia da semana, dia do mes, mes, ano)
  myRTC.setDS1302Time(00, 35, 17, 6, 31, 12, 2015);

}

void loop()  {

  // Le as informacoes do CI
  myRTC.updateTime(); 

  // Imprime as informacoes no serial monitor
  Serial.print("Data : ");
  // Chama a rotina que imprime o dia da semana
  imprime_dia_da_semana(myRTC.dayofweek);
  Serial.print(", ");
  Serial.print(myRTC.dayofmonth);
  Serial.print("/");
  Serial.print(myRTC.month);
  Serial.print("/");
  Serial.print(myRTC.year);
  Serial.print("  ");
  Serial.print("Hora : ");
  // Adiciona um 0 caso o valor da hora seja <10
  if (myRTC.hours < 10)
  {
    Serial.print("0");
  }
  Serial.print(myRTC.hours);
  Serial.print(":");
  // Adiciona um 0 caso o valor dos minutos seja <10
  if (myRTC.minutes < 10)
  {
    Serial.print("0");
  }
  Serial.print(myRTC.minutes);
  Serial.print(":");
  // Adiciona um 0 caso o valor dos segundos seja <10
  if (myRTC.seconds < 10)
  {
    Serial.print("0");
  }
  Serial.println(myRTC.seconds);

  delay( 1000);
}

void imprime_dia_da_semana(int dia){   //Condição para mostrar o dias da semana 
  
  switch (dia)  {
    
    case 1:
    Serial.print("Domingo");
    break;
    case 2:
    Serial.print("Segunda");
    break;
    case 3:
    Serial.print("Terca");
    break;
    case 4:
    Serial.print("Quarta");
    break;
    case 5:
    Serial.print("Quinta");
    break;
    case 6:
    Serial.print("Sexta");
    break;
    case 7:
    Serial.print("Sabado");
    break;
    
  }
  
}

quarta-feira, 30 de dezembro de 2015

Mostrador de temperatura e umidade

Materiais

  • Display de lcd 16x2;
  • Arduino;
  • 2 Potenciômetro;
  • 19 fios jumpes;
  • DHT11;

Circuito eletrônico


Código fonte

/*Projeto Mostrador de temperatura e umidade


blog: http://projetosarduino321.blogspot.com.br/

contado: kleytonxavier31@gmail.com

*/

#include <dht.h>
#include "LiquidCrystal.h" //Define a utilização da biblioteca

LiquidCrystal lcd(9, 8, 5, 4, 3, 2);  //inicializando com os pinos da interface

const int data=A1; //Pino DATA do Sensor
byte grau[8] ={ B00001100,  //array simbolo de grau
                B00010010,
                B00010010,
                B00001100,
                B00000000,
                B00000000,
                B00000000,
                B00000000,};

dht DHT; //Inicializa o sensor

void setup(){
  
  lcd.begin(16,2); //inicializando o display
  lcd.createChar(0, grau); //criar o simbolo de grau
}

void loop(){
  
  DHT.read11(data); //Lê as informações do sensor

  lcd.setCursor(0,0); //cordenadas para começa o texto
  lcd.print("Umidade=");  //imprimir texto
  lcd.setCursor(9,0);
  lcd.print(DHT.humidity); //imprimir o valor do sensor umidade
  lcd.setCursor(11,0);
  lcd.print("%  ");
  lcd.setCursor(0,1);
  lcd.print("Temperatura=");
  lcd.setCursor(12,1);
  lcd.print(DHT.temperature); //imprimir o valor do sensor temperatura
  lcd.setCursor(14,1);
  lcd.write((byte)0); //Mostra o simbolo do grau formado pelo array
  lcd.setCursor(15,1);
  lcd.print("C");
  delay(1000);  //tempo de cada ciclo
  
}

Postagens mais antigas → Página inicial
Copyright © Projetos Arduino 3-2-1 | Powered by Blogger Design by ronangelo | Blogger Template Mais Template