Chegou a tão esperada caixa do projeto TGIMBOEJ BRASIL 3 uma das melhores coisa que aconteceu nesse ano pra mim.
quinta-feira, 21 de setembro de 2017
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
}
Seguidores
Total de visualização
Tecnologia do Blogger.
Página
- Início
- Semáforo
- Leds pisca
- Sinalização em código morse
- melodia com arduino
- Ligando o led com controle remoto
- sensor de temperatura
- Termômetro
- Medidor de resisor
- botão com led
- Sensor de luz
- Semáforo com botão de pedestre
- Piano
- Display de 7 segmentos
- Sensor de luz e temperatura
- Termômetro com display do android
- Acendendo leds com android
- Teclado
- Utilizando servo motor
- Como controlar o servo motor com potenciômetro
- Sensor DHT11