Show Posts
|
|
Pages: [1]
|
|
1
|
International / Portugues / Re: erro: expected initializer before 'void'.... alguém me ajuda?
|
on: April 18, 2013, 11:39:41 am
|
bubulindo...eu também reparei nesse pormenor, realmente deixou de dar esse erro...mas depois compilei com esse ";" e dava-me erro no compilador devido á linha de codigo byte fecth_humidity_temperature(unsigned int *p_Humidity, unsigned int *p_Temperature); eliminando essas duas linhas e testando o sensor, trabalhou bem.. abraço
|
|
|
|
|
3
|
International / Portugues / erro: expected initializer before 'void'.... alguém me ajuda?
|
on: April 17, 2013, 09:14:46 am
|
vou deixar aki o programa que estou a desenvolver, no qual me aparece esse tal erro que falei no titulo do topico. alguma ajuda ou dica seria bem vinda... #include <Wire.h>
byte fecth_humidity_temperature(unsigned int *p_Humidity, unsigned int *p_Temperature); void print_float(float f, int num_digits)
#define TRUE 1 #define FALSE 0
void setup(void) { Serial.begin(9600); Wire.begin(); //pinMode(4, OUTPUT); //digitalWrite(4, HIGH); delay(5000); Serial.println("<<<<<<<<<<<<<<<"); }
void loop(void) { byte _status; unsigned int H_dat, T_dat; float RH, T_C; while(1) { _status = fecth_humidity_temperature(&H_dat, &T_dat); switch(_status) { case 0: Serial.println("Normal."); break; case 1: Serial.println("Stale Data."); break; case 2: Serial.println("In command mode."); break; default: Serial.println("Diagonostic."); } RH = (float) H_dat * 6.10e-3;// equação para calcular humidade relativa T_C = (float) T_dat * 1.007e-2 -40.0;// eq. para calcular temperatura print_float (RH,1); Serial.print(" "); print_float (T_C, 2); Serial.println(); delay(1000); } }
byte fetch_humidity_temperature(unsigned int *p_H_dat, unsigned int *p_T_dat) { byte address, Hum_H, Hum_L, Temp_H, Temp_L, _status; unsigned int H_dat, T_dat; address = 0x27; Wire.beginTransmission( address); Wire.endTransmission(); delay(100); Wire.requestFrom((int)address, (int) 4);// pedido de 4 bytes a partir do dispositivo slave com endereço "address" Hum_H =Wire.read(); Hum_L =Wire.read(); Temp_H =Wire.read(); Temp_L =Wire.read(); Wire.endTransmission(); _status = (Hum_H >> 6) & 0x03; Hum_H = Hum_H & 0x3f; H_dat = (((unsigned int) Hum_H) <<8) | Hum_L; T_dat = (((unsigned int) Temp_H) <<8) | Temp_L; T_dat = T_dat / 4; *p_H_dat = H_dat; *p_T_dat = T_dat; return(_status); }
void print_float( float f, int num_digits) { int f_int; int pows_of_ten[4] = {1, 10, 100, 1000}; int multiplier, whole, fract, d, n; multiplier = pows_of_ten[num_digits]; if (f < 0.0) { f = -f; Serial.print("-"); } whole = (int) f; fract = (int) (multiplier * (f- (float)whole)); Serial.print(whole); Serial.print("."); for (n=num_digits-1; n>=0; n--) { d = fract / pows_of_ten[n]; Serial.print(d); fract = fract % pows_of_ten[n]; } }
|
|
|
|
|
4
|
International / Portugues / Re: a programar um mux 8:1 problemas nas portas de saida
|
on: January 29, 2013, 07:42:02 pm
|
|
ok...estou a usar o arduino nano, em que os pinos 5,6 e 7 da placa correspondem ás i/o digtais d2,d3,d4 respectivamente. ou seja serão etas saidas que irei utilizar para mapear as entradas do mux, 8 entradas para uma saída.
o ciclo "for" serve para correr todas essas entradas do mux, por isso que vai de 0...7. o que eu faço no codigo com a função bitRead:
ele lê o valor da variavel count em binario 0=000 1=001 2=010 . . . 7=111
por isso qd faço r0 = bitRead(count,0);------>lê o 1º bit e guarda em r0 r1 = bitRead(count,1);------>lê o 2º bit e guarda em r1 r2 = bitRead(count,2);------>lê o 3º bit e guarda em r2
é com este ciclo que vou repruduzir a tabela de verdade para correr todas as entradas do mux ,em que a as saidas d2,d3,d4 que corresponde aos pinos 5,6,7 da placa ficarão com o valor das variaveis r0,r1,r2..
|
|
|
|
|
5
|
International / Portugues / Re: a programar um mux 8:1 problemas nas portas de saida
|
on: January 29, 2013, 06:20:53 pm
|
|
eu já utilizei o mux, mas não tive resultados lógicos. portanto nesta fase estou a testar as saidas digitais do arduino atraves de leds, que estão ligados a essas mesmas saidas, mas não estou a conseguir que eles acendam....acho que com o codigo que apresentei, isso deveria acontecer não é verdade, em q atraves dos leds deveria conseguir ver a evolução da" tabela de verdade" que faz selecionar todas as entradas do mux.
|
|
|
|
|
7
|
International / Portugues / a programar um mux 8:1 problemas nas portas de saida
|
on: January 29, 2013, 12:55:04 pm
|
Boas Pessoal, o que me trás aki é o seguinte, estou a a fazer um programa que me permita comandar as portas de selcção de um mux de 8:1(dm 74151an). para os que estão mais dentro do funcionamento do mux, ele uma 3pinos que fazem a selecção da entrada que está a ser lida. no meu programa atraves da porta serie consigo ver isso a acontecer mas quando ligo 3 leds aos pinos do arduino que me fazem essa selecção nada me acontece. não estou a conseguir com que as saidas digitais liguem esse leds com a sequencia que implementei. vou deixar ai o meu codigo pra vcs darem uma vista de olhos a verem se descobrem onde errei. int sensorPin = A0; // pino analogico por onde irá receber os valores dos sensores int sensorValue = 0; // variavel q armazena o valor lido pelo A0
int r0 = 0; // valor do pino (s0) do 4051 int r1 = 0; // s1 int r2 = 0; // s2
int count = 0; // contador
void setup() { pinMode(5, OUTPUT); // define o pino digital 2 como saida s0 pinMode(6, OUTPUT); // s1 pinMode(7, OUTPUT); // s2 Serial.begin(9600); // inicia a comunicação serie }
void loop() { for ( count=0; count<=7; count++) { r0 = bitRead(count,0); r1 = bitRead(count,1); r2 = bitRead(count,2); Serial.print("r0"); Serial.print(r0); Serial.print("r1"); Serial.print(r1); Serial.print("r2"); Serial.print(r2); digitalWrite(5, r0); digitalWrite(6, r1); digitalWrite(7, r2); sensorValue = analogRead(sensorPin); //a varialvel fica com valor lido pino A0 float voltage = sensorValue * (5.0 / 1023.0); Serial.print("sensor"); // escreve sensor Serial.print(count+1); // correspondente ao sensor que está a ser lido entre sensor0 a sensor 7 Serial.print("="); Serial.print(voltage); Serial.println("volts"); delay (2000); } }
|
|
|
|
|
8
|
International / Portugues / ajuda a nível de electronica
|
on: January 23, 2013, 11:05:58 am
|
|
Boa tarde colegas, Será que alguém me pode ajudar aqui numa duvida? é o seguinte, existe algum circuito de electrónica que me permite converter uma tensão de 5v para -5v? meu projecto usa uma bateria de 9v para o tornar autonomo, mas na montagem de um ampop com topologia inversora, necessito de utilizar uma tensão de -5v. como tou usando o arduino e lá tem uma saida de 5v, queria saber se existe algum circuito qie me permita converter essa tensão de 5v para uma de -5v. pois assim evito de ter que usar duas baterias independentes.
aguardo sugestões...abraço
|
|
|
|
|
9
|
International / Portugues / preciso de conselhos acerca da utilização de cartão SD
|
on: January 09, 2013, 08:45:51 am
|
|
Boa tarde a todos os colegas,
para aqueles que tem experiência em usar cartão SD e também LabView, vou expor o trabalho que tou a desenvolver.
no meu projecto estou a usar o arduino NANO para efectuar recolha de leituras e em seguida gravá-los num cartão SD. estou a usar sensores de pressão, no caso 8, e um sensor de temperatura/humidade. depois irei utilizar o labview para ler esses dados e com eles construir graficos e afins de forma a poder monitorizá-los. a minha questão é, devo gravar todas as leituras num só ficheiro, ou criar um ficheiro para cada sensor. qual será q melhor forma de os gravar para depois me facilitar o tratamentos desses dados no labview. onde terei que criar graficos separadamente para cada sensor. alguma dica?
abraço e obrigado a todos
|
|
|
|
|
10
|
International / Portugues / protocolo i2c
|
on: October 09, 2012, 12:16:25 pm
|
|
boas a todos, Preciso que me digam se é possível construir um protocolo i2c sem utilizar as entradas analógicas já preparadas para esse efeito (no caso do Arduino Nano são os pinos analógicos 4(sda) e 5(slc)). posso por exemplo construir esse protocolo em 2 pinos digitais? se sim, como poderei fazer isso? alguma sugestão?
eu pergunto isso porque no meu projecto necessito de utilizar todas as entradas analógicas para recolher os dados de 8 sensores de carga e preciso de um protocolo i2c para recolher dados de um sensor de temperatura/humidade.
obrigado e abraço
|
|
|
|
|
11
|
International / Portugues / duvidas acerca do I2C
|
on: July 05, 2012, 06:52:08 am
|
|
boas pessoal, gostaria que me tirassem uma duvida relativamente á comunicação I2C. Sei que na placa Arduino NaNo existem duas I/O analógicas já defenidas para a sua utilização pino 4 (SDA) e 5(SCL). A minha questão é se posso implementar este tipo de recepção de dados nas I/O digitais, por exemplo, pino 2 e 3? que tipo de modificações de programação terei que fazer? onde poderei encontrar soluções? Abraço
|
|
|
|
|
12
|
International / Portugues / protocolo I2C
|
on: June 04, 2012, 11:53:02 am
|
|
Ola a todos, estou com um problema de logística relativamente ao arduino Nano que é o seguinte. pretendo utilizar 8 sensores de pressão com output analógico e um sensor de humidade/temperatura com output usando protocolo I2C para efectuar a recolha das leituras através do arduino nano. como é sabido esta placa oferece 8 entradas analógicas mas em contrapartida 2 dessas entradas também são usadas para efectuar o protocolo I2C, ou seja, assim perco 2 entradas para os sensores de pressão... o que eu desejava saber é se é possível criar um protocolo I2c através de software com as entradas digitais para assim conseguir libertar as 2 entradas analógicas para os sensores de pressão? se sim, como poderei fazer isso? abraço e obrigado
|
|
|
|
|