Show Posts
Pages: [1] 2 3 ... 107
1  International / Portugues / Re: Wi-Fi Low Cost... on: September 29, 2014, 03:12:17 pm
Preço interessante.Há cerca de um mes atras andei a explorer um MRF24WB0MB da microchip para algo mais rubusto que os nrf24
Tive de encostar por falta de tempo, mas vou comprar um par deles no ebay para testar.
Ja agora tens alguma biblioteca só para espreitar o interior?
Obrigado pela partilha
2  International / Portugues / Re: Arduino até quantos rele? on: September 26, 2014, 12:29:24 pm
Se eu fosse construir algo assim nao usaria  reles eletromecânicos mas sim reles de estado solido.Ja fizeste as contas a quantos amperes vais necessitar para os teres todos ligados?
Vejamos:
200mA x 100 reles = 20 amperes só para reles!
Todos esses reles devem tambem levar foto-acopladores a meu ver por questao de segurança.
Ja para nao falar nos harmonicos que eles devem produzir quando começarem grande parte deles  a comutar o que deves incluir snubbers neles
Espreita isto:
http://www.digikey.pt/Web%20Export/Supplier%20Content/Crydom_172/PDF/crydom-why-use-ssr.pdf?redirected=1
3  International / Portugues / Re: Multi-tarefa no Arduino Mega on: September 18, 2014, 05:40:46 am
Quote
Os pinos GPIO do RPi vão receber os pinos IO do mega? E com isto a lógica será feita no RPi?
Nao.O RPI tem por exemplo I2C e o arduino tambem.Com apenas 2 fios consegues ligar o teu RPI ao teu mega e trocar informaçao por la.Constroes o teu programa no arduino que interage com o teu hardware e eventualemente podes mandar informaçao para o RPI via I2C ou o RPI a fazer um polling de informaçao ao arduino tambem por I2C.
4  International / Portugues / Re: Multi-tarefa no Arduino Mega on: September 17, 2014, 03:04:57 pm
Pergunta estupida, se tens um raspberry pi com muitos mais recursos que o mega porque é que queres uma pagina a correr num cartao sd no mega?
o raspberry tambem tem GPIO que podes usar para eventualemente interligares ao teu mega.
Em resumo com um só core NUNCA vais ter multitask!
5  International / Portugues / Re: como ligar um motor com um rele e desligar o motor atraves de um timer on: September 13, 2014, 05:02:29 pm
Á uns anos atras tive algo semelhante em maos e a forma que eu encontrei para resolver foi a seguinte.
No meu cenario eu tinha de guardar uma variavel que contava peças mas caso falha-se a energia nao perder a contagem pois tal como tu se a perdesse iria perder o controlo da variavel o que invalidava todo o sistema.
O que fiz foi usar um dos pinos do micro para detectar a tensao de alimentaçao e alimentei o avr com 2 condensadores de 2200uF em paralelo, o que da uns 4400uF.Como o micro tem um consumo super reduzido os condensadores suportam o micro durante uns preciosos segundos e o que fiz foi, caso deteta-se que fiquei sem energia (neste momento a minha fotocelula tambem ficou e todo a contagem parou) gravo o valor da minha variavel na eeprom e deixo o avr num loop infinito até que esgote a energia dos condensadores.Desta forma asseguro que gravo o valor apenas uma vez e a posso reaver no momento de arranque com uma flag tambem na eeprom que marca que existiu uma falha de energia.O loop infinito no final da gravaçao da eeprom verificava  o pino da alimentaçao pois se ela durante esses segundos voltar quebrava o while e tudo voltava ao normal.Desta forma aumentei a vida util da eeprom pois por cada falha de energia so la escrevia 2 vezes, ou se entretanto a energia volta-se no momento da falha tambem 2 vezes.
Penso que podes usar este mesmo principio para o teu caso.
6  Using Arduino / Networking, Protocols, and Devices / Re: Problem with arduino, bluetooth module and c++ on: September 10, 2014, 06:20:12 am
What opeartion system are you running?
In windows you could simply go to device manager and see what COM port you have assigned to the bluetooth under COM Ports

7  Using Arduino / Programming Questions / Re: how to avoid float variables? on: September 10, 2014, 03:36:49 am
There is a written library for the bmp180 already
Why not just try to use it.
https://github.com/sparkfun/BMP180_Breakout/archive/master.zip
Looking to your function it seams some rocket sience is happening there  smiley-mr-green
Anyway since I never play with that sensor I could be wrong.
Try to compare the library with your code ...
8  International / Portugues / Re: Problema de detecção da Porta COM!!! on: September 09, 2014, 05:23:33 am
Só contigo ... smiley-grin
O que reportas nao é normal se é isso que queres saber.No entanto nao das informações suficientes para que algo mais possa ser dito
9  International / Portugues / Re: como ligar um motor com um rele e desligar o motor atraves de um timer on: September 08, 2014, 05:32:05 pm
Quote


delay(1800000); // Aguardamos o intervalo de 30 minutos ( convertido em milisegundos)

Sem ofensa mas acho isto ridiculo.Sei que a tua intençao em ajudar é boa, mas um delay desses é sem duvida ridiculo
Ja te foi dada todas as informaçoes para fazer o que queres.
Code:
#define  MILISECONDS_IN_MINUTE  60000UL
#define MY_SETPOINT_IN_MINUTES 2 //2 minutos
#define CLOCK_TIMER (MILISECONDS_IN_MINUTE * MY_SETPOINT_IN_MINUTES)


byte rele = 8;
byte BOTAO = 0;
byte MOTOR = 0;
byte PORTA_B = 10;
unsigned long motorStartedAt = 0;
void setup()
{
  pinMode(PORTA_B, INPUT);
  digitalWrite(PORTA_B,1);
  pinMode(rele, OUTPUT);
  digitalWrite(rele,0);

}

void loop()
{

  BOTAO = digitalRead(PORTA_B);
  if(BOTAO == 0)
  {
    digitalWrite(rele,MOTOR);
    motorStartedAt = millis();
  }
  if((millis() - motorStartedAt )>= CLOCK_TIMER)
  {
    digitalWrite(rele,0);
  }

}
Retira o sumo desta laranja ... smiley-wink
10  Using Arduino / Networking, Protocols, and Devices / Re: Problem with arduino, bluetooth module and c++ on: September 07, 2014, 04:23:26 pm
Quote
i need to send by c++ a serial data with bluetooth, how can i do?
So in C++ make an  instance   of type SerialPort and call the write method on it.
Something like:
Code:
using System.IO.Ports;
....
myserialPort = new SerialPort(COM3,9600);
myserialPort.Open ();
myserialPort.Write("x");//where x  is what you want to send
....

For more info see this:
http://msdn.microsoft.com/en-us/library/system.io.ports.serialport%28v=vs.110%29.aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-1
Hope it helps

11  International / Portugues / Re: Porta Serial no Linux on: September 06, 2014, 02:42:36 pm
Ou no momento que ligas o cabo USB ao arduino tenta ver o que escreve no fim do syslog usando o tail -f
12  International / Portugues / Re: Poderiam me ajudar a desenvolver um código ?? on: September 03, 2014, 03:37:30 pm
Bem este menino merece premio ja que nunca vi algo assim por aqui.Até tava para lhe aumentar o karma pelo descaramento. smiley-lol
Quote
Dicas: procurem como usar I2C entre arduinos, como montar teclados no arduino;
O master ficará responsavel pela seleção de misturas e armazenar as receitas, passando para o slave, o que fazer, em que tempo, quanto;
O Slave trata-ra as saídas analógicas para aquecer a agua e exibirá no display lcd o que esta ocorrendo;
Usem entradas analógicas para verificar se a água já esta na temperatura selecionada;
Para os dozadores busquem por uso de servos com arduino;
Quando li isto escangalhei-me a rir...
Amigo se ja tens as dicas nao devias ser tu a segui-las só assim por acaso?
Talvez seja melhor fazeres uma carta ao Pai Natal tal como as crianças a pedir os chocolates para a  epoca...
Boa sorte!


13  International / Portugues / Re: AttachInterrup e Variável Global on: September 02, 2014, 06:40:18 am
Como "rule of the tumb" nunca deves executar nada que demore precioso tempo dentro de uma rotina de interrupçao.As comunicaçoes serie sao muitoooo leeentttasssssss .....
Portanto nao podes fazer isto:
Quote
void funcao()  {

   Serial.print(valor); // Mas não consegue ler aqui

}
A soluçao passa por colocar uma flag dentro da rotina de interrupçao.
Algo isto:
Code:
nt valor;
bool flagDeInterrupcao = false;

void setup()
{
  pinMode(2, INPUT);
  attachInterrupt(0, funcao,RISING); 
}

void loop() 
{
  valor = analogRead(A0); // O valor atribui certo aqui
  if(flagDeInterrupcao)imprimeValor();
}

void funcao() 
{
  flagDeInterrupcao = true;
}
void imprimeValor()
{
  Serial.print(valor);
  flagDeInterrupcao = false;
}
14  International / Portugues / Re: variavel tempo e calculo velocidade on: September 02, 2014, 06:33:26 am
Quote
A variável tempo vai ser usada para mostrar um valor em segundos
Mais usando o delay isso estaria certo?
Nao.para obteres o tempo em segundos usas a funçao millis() que te devolve um valor em milisegundos desde que o teu arduino ligou.Se quiseres o valor em segundos algo assim dá:
Quote
unsigned long tempo = millis() /1000;
Quote
Uma outra dificuldade seria de como calcular a velocidade sendo que:
velocidade = metros / tempo

Como eu faria para fazer esse calculo dentro de um certo tempo (1 segundo), exemplo:
A tua resposta depende um pouco de qual a precisao que queres fazer esse calculo.Podes usar o millis() tambem para saber se ja passou um segundo, mas isto quer dizer que o teu calculo muitas das vezes nao vai ser feito logo apos um segundo, pode ser um segundo e uns 3 milisegundos ou mais, quero isto dizer que ele vai fazer o teu calculo apenas apos o 1 segundo.Se no entanto te for imperativo fazer o calculo nos 1000 milisegundos certinhos o melhor é usares um dos timers e configura-lo para gerar uma interrupçao quando o timer fizer overflow.Esta interrupçao vai por si marcar uma flag para que seja executada a funçao da velocidade.Nota que tambem este metodo pode fugir aos 1000 milisegundos, mas é o mais aproximado que iras conseguir em termos de exatidao perto dos teus 1000 milisegundos.
Para usares o millis isto deve te dar uma idea de como podes fazer.
Quote
long intervalo = 1000;         
long previousMillis = 0; 
int metros = 0;
void setup()
{
Serial.begin(9600);
   
}

void loop()
{

  unsigned long currentMillis = millis();
 
  if(currentMillis - previousMillis > intervalo) {

    previousMillis = currentMillis; 
Serial.print(funcCalculavelocidade());
Serial.println("ms");

  }
}


int funcCalculavelocidade()
{
  //fazes as tuas contas ....
  return metros/ 1000;
}
15  International / Portugues / Re: Função loop dentro do void loop() on: August 29, 2014, 03:22:16 pm
Quote
para o estressadinho, alterei o post para que fique agradável aos seus olhos.

como eu tenho um pouco mais de respeito do que você não vou pronunciar o que de fato seria apropriado.
e reporte à moderação, e aproveita e peça para me banir.

usuário de merda!
bruno_km4 penso que nao necessitavas de entrar a pé juntos para responderes à critica que o colega LuisSilva te fez.
Ele tem razao, ninguem lê e apesar do teu post ser percetivel do meu ponto de vista devias ter apenas formatado o codigo ...
Ok nao o fizeste, nao considero que isso fosse ultra grave para te banir o post ...
Nota que o LuisSilva é um bom membro deste forum e nota-se que ele dedica o seu tempo a ajudar outros sem nada em troca, como tal ele é digno de mais respeito.Eu estava mesmo agora a responder a tua questao, quando o submeti vi que deste esta resposta...
Agora devo concordar que sim deves ser banido ja que tu foste duplamente um mau user ...
Eu nao te ia atirar a "pedra" pelo teu post mal formatado mas agora atiro...
Errar é humano mas ter humildade é algo que só alguns têm ...
Pages: [1] 2 3 ... 107