BOA TARDE GALERA!!!!
SOU NOVO NO LABORATÓRIO, ESTOU FAZENDO UMA BALANÇA POR BATELADA, OU SEJA, QUANDO ESTIVER EM UM DETERMINADO PESO ACIONA UMA SAÍDA!
JÁ CONSEGUI MONTAR A BALANÇA E INCLUIR O DISPLAY, FALTA POR O TECLADO PARA REGULAGEM DO PESO E ACIONAR A SAÍDA CONFORME REGULAGEM. SE CONSEGUIREM ME AJUDAR... ABRAÇOS
Tags:
esqueci de mencionar que esse projeto é no arduino.
Olá amigo..
Quando estava fazendo projeto para inspeção veicular, usei transdutores de carga (Strain Gauge) para "pesar" os carros. (massa estática e peso dinâmico). Os transdutores são de tração e compressão, ou seja, pode-se usar para "pesar", bem como para fazer dinamômetros (medir forças de tração e compressão). Esses transdutores são alimentados por 12VCC e geram uma saída de 2mv/v. São bem precisos. Montei umas placas para converter 2mv/v para 4 a 20 miliamperes.
Essas placas são imune a ruídos, pois vc está trabalhando com corrente e aplicando nas entradas analógicas do PIC.
Através de rotinas no Delphi, posso ver esses valores e fazer muita coisa com eles (vai de sua aplicação).
Eu aqui fiz programas em Delphi para ler esses transdutores, acionar motores, coletar valores máximos e mínimos e apresentar os resultados no PC, via Delphi
Ficou assim... Usei um PIC 16F877 e programei ele para entradas, saídas e algumas entradas analógicas (essas para ler os transdutores) Tudo é conectado à porta serial do PC. O software em Delphi lê em full time essas entradas e vc pode configurar as entradas e saídas digitais, como vc quiser em função dos valores coletados pelos transdutores... Tenho aqui, sem uso umas 10 transdutores de carga de 500kg e 2 transdutores de carga de 20kg (esse só compressão). Enfim, está tudo mastigado. Se precisar saber mais meu e-mail é malepobox@gmail.com
Abraços
DESCULPA INCOMODAR NOVAMENTE. tentei fazer algo do que vc me sugeriu ( Teodoro Oliveira)
não consegui resultado. O que tenho do código é esse. funciona perfeitamente uma boa precisão.Estou aprendendo ainda. vê se pode me ajudar. grato:
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,4,5,6,7);
const int DOUT = A5; // Pino DT placa HX711
const int hxSCK = A4; // Pino SCK placa HX711
unsigned long TARA = 0;
float kconst = 88100; // Fator para Kilograma pequenos pesos
void setup() {
pinMode(hxSCK, OUTPUT);
pinMode(DOUT, INPUT);
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print(" INICIANDO");
Serial.begin(9600);
delay(1000);
TARA = setTARA();
lcd.setCursor(0,0);
lcd.print("VAMOS TRABALHAR");
}
void loop() {
int samplek = map(analogRead(1), 259, 505, 0, 500);
lcd.print(Peso());
lcd.setCursor(1,1);
lcd.print("Kg ");
delay (10); //Aguarda 10ms
}
unsigned long CAPTURA(){
unsigned long CAPTURA = 0;
unsigned long MEDIA = 0;
for (int j=0; j<5; j++){ // loop 5 para media
CAPTURA = 0;
digitalWrite(hxSCK, LOW);
while (digitalRead(DOUT)==1) ;
for (int i=0; i<24; i++){ // loop 24 pulsos
digitalWrite(hxSCK, HIGH);
CAPTURA = CAPTURA1;
digitalWrite(hxSCK, LOW);
if(digitalRead(DOUT) == 1) CAPTURA++;
}
// pulso extra 25 pulsos proxima leitura canal A ganho 128
digitalWrite(hxSCK, HIGH);
delayMicroseconds(10);
digitalWrite(hxSCK, LOW);
//-------------------------------------------------------
CAPTURA ^= 0x00800000;
MEDIA += CAPTURA;
}
CAPTURA = MEDIA/5;
return CAPTURA;
}
unsigned long setTARA(){
// reseta o conversor HX711
digitalWrite(hxSCK, 1);
delay (10);
digitalWrite(hxSCK, LOW);
delay (3);
// -------------------------
return Media(5);
}
float Peso()
{
long peso = (Media(3) - TARA);
return (float) peso / kconst;
}
long Media(byte vezes)
{
long soma = 0;
for (byte i = 0; i < vezes; i++)
{
soma += CAPTURA();
}
return soma / vezes;
}
TESTEI COM O LED. TUDO OK
MUITO OBRIGADO PELA AJUDA TERMINANDO O PROJETO POSTO PARA VEREM.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por