Loading...
  Show Posts
Pages: [1] 2 3 ... 6
1  International / Portugues / Re: erro: expected initializer before 'void'.... alguém me ajuda? on: April 18, 2013, 11:54:41 am
Não apaguei até dar certo... ajudei, só não ensinei...
O codigo postado tem escrito o protótipo das funções(que no arduino é feito automaticamente...) desnecessário, o erro está na chamada da função dentro do código que está escrito errado, assim como o prototipo dela.
Code:
   _status = fecth_humidity_temperature(&H_dat, &T_dat);

mas a função chama-se
Code:
byte fetch_humidity_temperature(unsigned int *p_H_dat, unsigned int *p_T_dat)
{
assim sendo apaguei os prototipos e corrigi a grafia do nome da função...
2  International / Portugues / Re: erro: expected initializer before 'void'.... alguém me ajuda? on: April 17, 2013, 10:14:10 am
Resolvido!
Code:
#include <Wire.h>

#define TRUE 1
#define FALSE 0

void setup()
{
  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 = fetch_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];
    }
}
3  International / Portugues / Re: Procura dum conector para PCB que me está a deixar louco... on: April 04, 2013, 10:19:55 am
o nome é "female header double row"
http://pt.rs-online.com/web/c/?searchTerm=female+header++8w+d%2FR&sra=oss&r=t

edit: se o preço for problema...
ão 10 barrinhas de 2 x 40 pinos...
http://www.ebay.com/itm/10Pcs-2-54mm-2-40-Pin-Female-Double-Row-Pin-Header-Strip-New-GOOD-QUALITY-/290804176073?pt=LH_DefaultDomain_0&hash=item43b54794c9
4  International / Portugues / Re: RFID | ETHERNET | RTC on: April 03, 2013, 01:49:40 pm
aqui foi de boa, só tive que comentar uma linha referente ao serial do 16u2...
Tô usando a versão 1.0, coloquei a pasta sdfat dentro de meusdocumentos/arduino/libraries, abri a IDE
fui em examples, no segundo separador que fica as bibliotecas instalados do usuario, abri o RawWrite e pedi para compilar...
5  International / Portugues / Re: RFID | ETHERNET | RTC on: April 03, 2013, 12:51:11 pm
jot4p, você não deve ter falta de flash e sim memoria RAM,
tem Ethernet,RTC, e agora SD, você tem que optimizar e/ou reescrever seu codigo/bibliotecas E talvez pegar UM ARDUINO MEGA!
rsrsr. brincadeirinha...

você está usando a biblioteca SD que vem no arduino?
tenta essa daqui https://code.google.com/p/sdfatlib/
qualquer problema da um toque!


6  International / Portugues / Re: RFID | ETHERNET | RTC on: April 03, 2013, 11:04:00 am
Quanto a soltar a informação por Serial, parece-me errado (sabes lá se a aplicação vai ter porta série?)... no entanto, com defines e instruções de pré-compilação isso seria possível de fazer... no entanto, um standard teria de ser adoptado para que toda a gente fizesse exactamente a mesma coisa com a biblioteca. Nota também que algumas bibliotecas permitem a definição dos pinos pelo utilizador, o que iria contra tudo isto.

citei apenas o texto acima porque o resto são pontos de vista diferentes... então o que acho necessário talvez não o seja para você.
Comentando acima citei a serial como forma de debug, poderiam ser utilizados outras formas/metodos para a solução do conflito de pinos...

Eu vejo problemas na plataforma (hardware então é de bradar aos céus), mas sinceramente o objectivo dela não é agradar a pessoas como tu ou eu que podem facilmente escrever o código de raíz sem sequer se aproximarem dum Arduino, né?
O problema não é estar ao meu agrado, Eu me "coloco a usar o arduino" como um iniciante que não conhece os atributos da programação/eletronica. Não receber informações suficientes para que o meu objetivo seja realizado, não sabendo que por traz do pino existe um mosfet que não aguenta tudo, deveria sim obrigatoriamente constar uma proteção aos pinos, OU então a informação na wiki do digitalWrite que a conexão de um pino configurado com saida ao GND/VCC, mesmo que por acidente pode queimar a saida...
http://arduino.cc/en/Reference/digitalWrite

 
7  International / Portugues / Re: Sensor Indutivo de Proximidade on: April 03, 2013, 10:08:12 am
lá fala com 6 a 30 mas acho que 5 vai sim!
8  International / Portugues / Re: Sensor Indutivo de Proximidade on: April 03, 2013, 09:06:02 am
esse não serve?
http://www.ebay.com/itm/LJ12A3-4-Z-BY-Inductive-Proximity-Sensor-Detection-Switch-PNP-DC6-36V-/140907575134?pt=LH_DefaultDomain_0&hash=item20cebef75e
9  International / Portugues / Re: RFID | ETHERNET | RTC on: April 03, 2013, 09:02:12 am
Não é preciso ser assim. Arrisco dizer que a maioria das bibliotecas do Arduino têm uma boa implementação. A classe String a meu ver é um caso à parte porque tenta implementar algo que só funciona bem numa máquina com imensos recursos. E o AVR não tem imensos recursos... É esse a meu ver o problema aqui.
Eu quando (muito raramente) tenho de programar algo para um computador ainda tomo os cuidados que costumo ter com microcontroladores... apesar de ter muito mais recursos para utilizar, mas isso depende da experiência de cada um talvez.
Como o Mortis disse, o objectivo do digitalWrite read e afins é ser fail proof para os utilizadores que mal sabem de electrónica e programação. Nada te impede de usar o PORTx para aceder aos pinos de saída do microcontrolador. Mas para quem não sabe mais, são funções que cumprem o que é suposto fazerem.

Uma dúvida, no Android, isso são apps da Google ou de outros fabricantes?
Sou muito grato ao staff do arduino por ter disponibilizar a interface como um todo, iniciei quando a interface estava em 0015, mas EU não acho que o arduino seja um produto ready-to-market, não adianta digitalWrite ser fail proof se o cara não sabe que se colocar o pino como saida e high e na hora de fazer a conexão dos "fiozinhos" por engano tocar no GND é pino queimado na certa... cadê os resistores de >270 ohm para garantir que o erro não acabe com a brincadeira, quantos aqui no forum vem com  codigo que funciona mas o chip ta com portas queimadas, o cara desiste porque não fez funcionar.
 outro é o clock que foi comentado anteriormente... ainda se usa 16MHz porque o primeiro arduino idealizado usava os atmega8-16 cujo clock maximo é 16MHz, manteve-se na mesma frequencia por uma "retro-compatibilidade"?! mas como se existe o lillypad(8MHz)?
Na minha opinião o Ruggeduino é o  ideal pra alguem que nunca mexeu, junto a programação...
Ninguem aqui usa só o computador com apenas produtos Microsoft, ou android com apenas softwares da google ou linux com programas desenvolvidos pelo staff responsavel pelo kernel.

Se vamos falar nisto assim... porque não apontar o facto que a comunicação é feita em ASCII (ou UTF)? Os computadores não "falam" inglês... e no entanto a maior parte das nossas comunicações obriga os computadores a "falar" assim.
O problema não é comunicação em ASCII; que unifica o alfabeto americano junto a codigos de controle de dados/conexão/periféricos,
nem UTF creio eu é a abrangência em uma tabela de todos os simbolos e letras do mundo; é como a informação é trocada,
o cabeçalho do pacote  de dados do protocolo TCP/IP é perfeito, feito para o computador entender... o cabeçalho do http não!
o javascript tambem segue a mesma linha, na definição de uma class, chamando a class pelo nome, gasta-pse muito recurso.

Começei a o hobby de programar com clipper, um dinossauro, mas na hora de compilar o programa,
eu tinha uma opção "verbose" que praticamente incluia o codigo fonte junto ao assembly gerado, na hora de debugar ele restaurava nomes de variaveis, etc...
ou podia compilar sem esses dados, que tornava o codigo mais leve...
Sabe quem faz isso de comprimir os pacotes de dados, o Opera mini, você navega por um proxy deles que comprime os dados, eu acho muito mais rapido...   

como vão vender o arduino mega se tornarem o codigo muito eficiente à ponto de caber tudo no uno, todos tem que "comer".
veja esse link:http://arduino.cc/forum/index.php/topic,153160.0.html de 14k de flash para 1,5k?!?!
A facilidade da biblioteca com buffer incrostados consumindo memoria em dobro, e OOP eu não quero...
Se os criadores do arduino implementassem  um array indicando quais pinos estão em uso pelas bibliotecas e na hora que elas fossem carregadas se desse "conflito" soltasse  essa informação por serial, acabaria com grande parte dos posts desse forum, e supostamente quem usa o digitalWrite não teria que perder tempo pesquisando(qual era o objetivo do digitalWrite?) porque o codigo não funciona.

Peço desculpas ao criador do tópico pelo desvio...
10  International / Portugues / Re: Velocidade de execução de calculo on: April 02, 2013, 09:25:15 am
      Eu esperava algo em torno de 300ms.
Querer nem sempre é poder...



      Queria saber mais profundamente como funciona clock de processadores, e como os 16Mhz dava de desempenho em relação a cálculos, ou seja , entender melhor o funcionamento, porque sou noob nisso  smiley-cry ,porem quero aprender smiley-grin.
Que tal começar lendo o manual de instruções do ATMEGA328?
http://www.atmel.com/Images/doc8161.pdf
 
11  International / Portugues / Re: RFID | ETHERNET | RTC on: April 02, 2013, 09:12:57 am
Cara, porque em vez de ficar usando bibliotecas furadas, mal implementadas, não vai direto à fonte?
http://www.nongnu.org/avr-libc/user-manual/group__avr__string.html

Eu fico pensando o quanto a falta de eficiência nos códigos gastam recursos(tempo,alimentação)... nos arduinos, nos PCs, nos celulares, nos pacotes de dados da internet...
-Arduino: usando digitalWrite gasta 5000ns, enquanto o acesso direto ao PORTx gasta 62,5 ns. Quase 20x diferença...
-android: já acessou o logcat de um android com meia duzia de apps instalados, são dezenas de acessos à  arquivos, à rede e aplicativos que se corrompem e são recarregados novamente para a memória...
-PC: nem precisao falar nada né??!
-pacotes de internet:Antigamente não haviam "packet analyzers", wireshark... só o tal d tcpdump, então a comunicação tinha que ser bem explicativa, para que ao se observar os pacotes "crus" você pudesse diagnosticar problemas... só que hoje ainda não foi simplificada, imagina todo mundo acessando webpages e a cada uma delas um monte de texto que poderia ser compactado, imagina a sobrecarga do sistema:

requisição:
GET http://pt.kioskea.net HTTP/1.0 
Accept : text/html 
If-Modified-Since : Saturday, 15-January-2000 14:37:11 GMT 
User-Agent : Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)

resposta:
HTTP/1.0 200 OK 
Date : Sat, 15 Jan 2000 14:37:12 GMT 
Server : Microsoft-IIS/2.0 
Content-Type : text/HTML 
Content-Length : 1245 
Last-Modified : Fri, 14 Jan 2000 08:25:13 GMT     
*conteudo da pagina*



12  International / Portugues / Re: Controle por RF on: March 19, 2013, 03:48:48 pm
Eu não resisto a carregar em botões... se carregasse num botão quando estivesse longe do receptor, perdia-se a sincronização. O emissor tinha incrementado o contador, mas o receptor não.
Não é simples, né?
Isso é uma limitação de alguma implementação meia boca... li em algum canto da internet que vem desativada em alguns alarmes, e se você for fazer este projeto, é só deixar esta feature de fora...
Desencanem de fazer uma implementação bullet proof, não é porque o mercado usa algo deste jeito que vocês tem que seguir
Se for para ser roubado, um 38 proximo à janela do carro abre qualquer portão...
Se fosse para meu uso, faria um contador simples, mas com ofuscação(talvez um xor junto um vetor randomico de dezenas de bytes...)
e tripla confirmação, isto é, precisaria de 3 codigos validos em sequencia para abrir o portão, evita o bruteforce...




@ffrizzo: procura por keeloq, que já foi citado na minha mensagem anterior.


13  International / Portugues / Re: Controle por RF on: March 18, 2013, 03:55:53 pm
Será que isso aqui resolve?
http://perhof.wordpress.com/2012/10/14/arduino-based-remote-control-for-electric-door/

O cara implementou um tipo de keeloq usando dois arduinos, parece bem seguro. Ninguem conhece a virtualwire, não tem nem forma de onda na internet... smiley
14  Using Arduino / Networking, Protocols, and Devices / Re: Lightweight Ethernet on: March 11, 2013, 08:15:21 am
Have you looked at this: http://www.ermicro.com/blog/?p=1773
It´s exactly what you want, the Wiznet functions naked(without arduino), see the total program bytes: around 7KB.
15  International / Portugues / Re: Dúvida - ServoMotor - Luva para Cegos on: January 10, 2013, 02:47:25 pm
lendo o texto com mais atenção do site que você passou, tem a fonte do projeto www.grathio.com, mais especificamente aqui http://grathio.com/2011/08/meet-the-tacit-project-its-sonar-for-the-blind/ tem foto real, video, e o codigo-fonte do arduino. O servo utilizado são os de 5g.
Pages: [1] 2 3 ... 6