collapse

* Links de Robótica

* Posts Recentes

Procuro resistências 220 Ohm de 1% por brunus
[Hoje às 15:50]


Package de cond 10uF 35V smd? por KammutierSpule
[Hoje às 11:19]


Printer 3D barata por almamater
[Hoje às 09:27]


Videos hipnoticos de mecanica industrial por TigPT
[Hoje às 00:07]


FPV Drone Racing? por brunus
[Hoje às 00:00]


Decodificar cabo por Hugu
[Ontem às 23:11]


Ajuda para replicar e reparar um Dimmer por brunus
[30 de Novembro de 2016, 23:23]


Adaptar impressora 3D a Drill Maschine por Hugu
[30 de Novembro de 2016, 23:20]


Módulo gsm por dio123
[30 de Novembro de 2016, 13:39]


RAM SO-DIMM 256 MB por Hugu
[29 de Novembro de 2016, 22:52]

Autor Tópico: medidor de litros  (Lida 3609 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Online dvdt

  • Mini Robot
  • *
  • Mensagens: 1.215
  • David_@@@_Teles
medidor de litros
« em: 13 de Janeiro de 2013, 13:21 »
Boas pessoal.
O meu pai vende vinho e agora comprou daquelas embalagens de cartão com uns sacos para ser mais pratico para os clientes, mas o problema é que os sacos se quiser meto 10 litros dentro de um de 5 mas depois não cabe na caixa. Por isso precisava de uma ajudinha a fazer um sistema mesmo só com três leds que permitissem ver quando é que tem pouco, muito ou esta bom e dois botões para seleccionar entre 5 e 10 litros mas assim em low budget.
Posso fazer o prototipo com o meu arduino e depois fazer uma placa especifica só com o chip, mas para isso preciso de ideias e ajuda .

P.S. Será que da para usar isto http://www.ptrobotics.com/product.php?id_product=1426
« Última modificação: 13 de Janeiro de 2013, 13:30 por dvdt »
David Teles

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: medidor de litros
« Responder #1 em: 13 de Janeiro de 2013, 13:34 »
deixa ver se entendi. tu queres uma coisa tipo os coisos de bebidas nos restaurante de fast-food. 2 botões. 1 deita exatamente 5 Litros e outro deita exatamente 10 litros?
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline PMMN

  • Mini Robot
  • *
  • Mensagens: 20
Re: medidor de litros
« Responder #2 em: 13 de Janeiro de 2013, 13:38 »
Olá!
Se calhar não percebi bem o teu problema mas, se em vez de medires litros (volume) não podes medir pesos (massa)?
Para isso bastaria uma balança (se fosse água pura e sem contar com a embalagem (tara) 5 litros de água pesariam 5 kg...
Cumps

Online dvdt

  • Mini Robot
  • *
  • Mensagens: 1.215
  • David_@@@_Teles
Re: medidor de litros
« Responder #3 em: 13 de Janeiro de 2013, 13:39 »
Quase isso eu quero apenas um indicador visual de quando fechar a torneira. Por agora leds depois um lcd ou seja os botões só servem para quando usar os leds.

O uso da balança foi a minha primeira ideia mas estamos a falar de sacos que se deformam-se e os de 10 litros têm cerca de 50x60 vazios depois cheios por assim dizer crescem
« Última modificação: 13 de Janeiro de 2013, 13:42 por dvdt »
David Teles

Offline PMMN

  • Mini Robot
  • *
  • Mensagens: 20
Re: medidor de litros
« Responder #4 em: 13 de Janeiro de 2013, 13:54 »

Online dvdt

  • Mini Robot
  • *
  • Mensagens: 1.215
  • David_@@@_Teles
Re: medidor de litros
« Responder #5 em: 13 de Janeiro de 2013, 14:01 »
AHAH Quase isso ;D.
Mas sim era uma coisa do genero, tendo em conta que existe ma plataformas em inox com uma simples placa, m ecra e uma torneira desse denero da imagem proprias para encher mas custam mais de 700€ e para ganhar para isso é preciso vender muito, e isto é só mesmo para funcionar umas 2 vezes por ano para 1000 litros de cada vez.

P.S. É exactamente isto http://www.google.pt/imgres?um=1&hl=en&tbo=d&biw=1241&bih=584&tbm=isch&tbnid=-u1w797dU38GoM:&imgrefurl=http://www.core-equip.com/catalogue/category/1579&docid=mtlSV_8BellM1M&imgurl=http://www.core-equip.com/images//Technibag/Firsty%2525202010%252520Web.jpg&w=233&h=304&ei=rb7yUKS3H4uWhQekpIHoCw&zoom=1&iact=hc&vpx=803&vpy=232&dur=1737&hovh=243&hovw=187&tx=132&ty=118&sig=106675455944117432911&page=1&tbnh=152&tbnw=117&start=0&ndsp=22&ved=1t:429,r:12,s:0,i:114
« Última modificação: 13 de Janeiro de 2013, 14:05 por dvdt »
David Teles

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 8.988
  • Helpdesk do sitio
Re: medidor de litros
« Responder #6 em: 13 de Janeiro de 2013, 14:33 »
Avr fanboy

Online dvdt

  • Mini Robot
  • *
  • Mensagens: 1.215
  • David_@@@_Teles
Re: medidor de litros
« Responder #7 em: 13 de Janeiro de 2013, 14:38 »
Tens estas coisas:
http://www.ebay.com/itm/1pcx-G1-2-Water-Flow-Sensor-Switch-Flow-Meter-Waterproof-Type-RoHS-/261150689665?pt=LH_DefaultDomain_0&hash=item3ccdcb4981

Juntas uma eletro-valvula, um micro de 8 patas e está feito.


Eu ja tinha mencionado usar uma coisa dessa  :D  agora ao nível de electro-valvula fica caro penso eu, eu estive a pensar. Se comprar isso e usar o arduino com um 7 segment display duplo, quão difícil será o codigo para apenas dizer 1 litro, 2 litros, etc?
David Teles

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 8.988
  • Helpdesk do sitio
Re: medidor de litros
« Responder #8 em: 13 de Janeiro de 2013, 14:55 »
Deve dar para ai 10 linhas de código, mas usar um arduino para isso é um bocado demasiado..
Uma eletro-valvula são mais meia duzia de € no ebay.
Avr fanboy

Online dvdt

  • Mini Robot
  • *
  • Mensagens: 1.215
  • David_@@@_Teles
Re: medidor de litros
« Responder #9 em: 13 de Janeiro de 2013, 15:14 »
Então que chip por exemplo e que género de código?

Para o arduino peguei em exemplos de códigos e criei este agora não sei é se funciona mas dêem a vossa opinião.
Código: [Seleccione]
byte resetButtonA = 11;
byte statusLed    = 13;

byte sensorInterrupt = 0;  // 0 = pin 2; 1 = pin 3
byte sensorPin       = 2;

// The hall-effect flow sensor outputs approximately 4.5 pulses per second per
// litre/minute of flow.
float calibrationFactor = 4.5;

volatile byte pulseCount; 

float flowRate;
unsigned int flowMilliLitres;
unsigned long totalMilliLitresA;

 

unsigned long oldTime;

void setup()
{
 
  // Initialize a serial connection for reporting values to the host
  Serial.begin(38400);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);     
  pinMode(5, OUTPUT);     
  pinMode(6, OUTPUT);     

  // Set up the status LED line as an output
  pinMode(statusLed, OUTPUT);
  digitalWrite(statusLed, HIGH);  // We have an active-low LED attached
 
  // Set up the pair of counter reset buttons and activate internal pull-up resistors
  pinMode(resetButtonA, INPUT);
  digitalWrite(resetButtonA, HIGH);
 
  pinMode(sensorPin, INPUT);
  digitalWrite(sensorPin, HIGH);

  pulseCount        = 0;
  flowRate          = 0.0;
  flowMilliLitres   = 0;
  totalMilliLitresA = 0;
  oldTime           = 0;
 

  // The Hall-effect sensor is connected to pin 2 which uses interrupt 0.
  // Configured to trigger on a FALLING state change (transition from HIGH
  // state to LOW state)
  attachInterrupt(sensorInterrupt, pulseCounter, FALLING);
}

/**
 * Main program loop
 */
void loop()
{
  if(digitalRead(resetButtonA) == LOW)
  {
    totalMilliLitresA = 0;

  }

  if( (digitalRead(resetButtonA) == LOW))
  {
    digitalWrite(statusLed, LOW);
  } else {
    digitalWrite(statusLed, HIGH);
  }
 
  if((millis() - oldTime) > 1000)    // Only process counters once per second
  {
    // Disable the interrupt while calculating flow rate and sending the value to
    // the host
    detachInterrupt(sensorInterrupt);
 
    flowRate = ((1000.0 / (millis() - oldTime)) * pulseCount) / calibrationFactor;
   

    oldTime = millis();

    flowMilliLitres = (flowRate / 60) * 1000;
   
    // Add the millilitres passed in this second to the cumulative total
    totalMilliLitresA += flowMilliLitres;

    unsigned int frac;
   
    // Print the flow rate for this second in litres / minute
    Serial.print(int(flowRate));  // Print the integer part of the variable
    Serial.print(".");             // Print the decimal point
    // Determine the fractional part. The 10 multiplier gives us 1 decimal place.
    frac = (flowRate - int(flowRate)) * 10;
    Serial.print(frac, DEC) ;      // Print the fractional part of the variable

    // Print the number of litres flowed in this second
    Serial.print(" ");             // Output separator
    Serial.print(flowMilliLitres);

    // Print the cumulative total of litres flowed since starting
    Serial.print(" ");             // Output separator
    Serial.print(totalMilliLitresA);

    if(int(totalMilliLitresA)<4999)
  {digitalWrite(3,LOW);
  digitalWrite(4,LOW);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  }
 
if(int(totalMilliLitresA)>=5000 && (totalMilliLitresA)<=5050)
  {digitalWrite(3,HIGH);
  digitalWrite(4,LOW);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  }
 
if(int(totalMilliLitresA)>=5051 && (totalMilliLitresA)<=9999)
  {digitalWrite(3,HIGH);
  digitalWrite(4,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  }
 
if(int(totalMilliLitresA)>=10000 && (totalMilliLitresA)<=10050)
  {digitalWrite(3,HIGH);
  digitalWrite(4,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(6,LOW);
  }
 
if(int(totalMilliLitresA)>10050)
  {digitalWrite(3,HIGH);
  digitalWrite(4,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(6,HIGH);
  }
 
 
   
    // Enable the interrupt again now that we've finished sending output
    attachInterrupt(sensorInterrupt, pulseCounter, FALLING);
  }
}

/**
 * Invoked by interrupt0 once per rotation of the hall-effect sensor. Interrupt
 * handlers should be kept as small as possible so they return quickly.
 */
void pulseCounter()
{
  // Increment the pulse counter
  pulseCount++;
}
« Última modificação: 13 de Janeiro de 2013, 15:29 por dvdt »
David Teles

Online dvdt

  • Mini Robot
  • *
  • Mensagens: 1.215
  • David_@@@_Teles
Re: medidor de litros
« Responder #10 em: 13 de Janeiro de 2013, 20:14 »
Boas desculpem o multiposting mas é só para dizer que comprei o sensor agora esta-se para ver se consigo por isto a funcionar ::)
David Teles

Online dvdt

  • Mini Robot
  • *
  • Mensagens: 1.215
  • David_@@@_Teles
Re: medidor de litros
« Responder #11 em: 05 de Fevereiro de 2013, 17:54 »
Recebi hoje o sensor ;D. 1º problema pus o codigo que ja postei mas quando abri o serial so recebi letras sem sentido :-[ alguem encontra algum problema no codigo que cause isto?
David Teles

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 8.988
  • Helpdesk do sitio
Re: medidor de litros
« Responder #12 em: 05 de Fevereiro de 2013, 18:20 »
Baud rate do terminal diferente do baud que está no programa.
Avr fanboy

Online dvdt

  • Mini Robot
  • *
  • Mensagens: 1.215
  • David_@@@_Teles
Re: medidor de litros
« Responder #13 em: 05 de Fevereiro de 2013, 18:33 »
Vou ver :-[ :-[ Mas senso sera que me podias dar a ta opiniao em relaçao ao codigo que eu postei?
David Teles

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 8.988
  • Helpdesk do sitio
Re: medidor de litros
« Responder #14 em: 05 de Fevereiro de 2013, 21:10 »
Tens de ter o terminal com este baud rate:
38400
Avr fanboy