Pessoal, boa noite!

Eu fiz um receptor IR com arduino, porém queria tranferir

esse projeto para um Attiny 85, minha dúvida é se ele

tem todos os recursos que o Arduino tem pra esse projeto.

Acredito que memória não vai ser problema devido ser apenas

3 dispositivos a ser controlados. Alguém pode tirar essa dúvida?

Exibições: 1889

Responder esta

Respostas a este tópico

Tens que ver a questão do "funcionamento" das bibliotecas no Attiny, Posta teu código ai pro pessoal estudar.

Galera segue o código.

Na compilação está dando os seguintes erros:

sketch_nov05a.cpp: In function ‘void setup()’:
sketch_nov05a.cpp:20:3: error: ‘Serial’ was not declared in this scope
sketch_nov05a.cpp: In function ‘void loop()’:
sketch_nov05a.cpp:30:5: error: ‘Serial’ was not declared in this scope

Código Fonte:

#include "WProgram.h"
#include <NECIRrcv.h>
#define InfraVermelho 2
#define bw 3843714561
#define video 4027543041
#define vh 4244794881

int lampada = 8 ; //pino que sai 5v para acender lampada.
int ventilador = 12 ; //pino que sai 5v para ligar ventilador.
int portao = 13 ; //pino que sai 5v para abrir po
unsigned long int capturaCodigo = 0;

NECIRrcv ir(InfraVermelho) ;

void setup() {
  Serial.begin(9600);
  pinMode(lampada, OUTPUT);
  pinMode(ventilador, OUTPUT);
  pinMode(portao, OUTPUT);
  ir.begin();
}

void loop() {
  while (ir.available())  {
    capturaCodigo = ir.read();
    Serial.println(capturaCodigo);
    
    if(capturaCodigo == bw) {
      int estadoLed = digitalRead(lampada);
         if(estadoLed == LOW)
         {
           digitalWrite(lampada, HIGH);
              Serial.println("ligada");
         }
         else {
         digitalWrite(lampada, LOW);
         Serial.println("Desligada");
         }
         }
    
    if(capturaCodigo == video) {
      int estadoLed2 = digitalRead(ventilador);
         if (estadoLed2 == LOW)
         {
           digitalWrite(ventilador, HIGH);
              Serial.println("ligada");
         }
         else {
         digitalWrite(ventilador, LOW);
         Serial.println("Desligada");
         }
         }
    
    if(capturaCodigo == vh) {
      
      int estadoLed3 = digitalRead(portao);
         if(estadoLed3 == LOW)
         {
           digitalWrite(portao, HIGH);
           delay(10);
           digitalWrite(portao, LOW);
         }
         else {
         digitalWrite(portao, LOW);
         Serial.println("Desligada");
         }
         }
}
    }
 


    
   

A Attiny  não tem porta serial UART por hardware, apenas SPI. Se você precisar mesmo de uma UART, terá que emular por software. Existe uma lib. pra isso.

Consegue colocar essa lib aqui? tbm preciso dela

Anderson

de cara tem um erro no código, que vc está definindo pinos como 8, 12 e 13. O attiny85 não tem estas portas. ele tem só 8 pinos.

Outra coisa, acho que para vc poder usar função de serial, na IDE 1.0.1 vc consegue gravar bootloader em attiny e usar funções como serial.print. Dá uma olhada, eu não tentei ainda.

Boa sorte, de maneira geral eu não me saio bem com este attiny85. Principalmente quando se trata de bibliotecas. A maioria é feita para atmega328...

se conseguir, posta ai.

Serial?! Consegue, mas é com emulação. Tem a biblioteca SoftwareSerial especifica pro Attiny, assim como tem  TinyWire pra I²C.

Ja usei alguns Attiny principalmente como Driver ou processador secundário, interligando a um microcontrolador mestre por I²C, o "problema" do attiny é o numero limitado de comandos:

Reference

The following Arduino commands should be supported:

References

Fonte:http://hlt.media.mit.edu/?p=1695

Isso Jonatas, não é serial,  e sim estava falando de softwareSerial. Como não entendo direito, coloquei uma definição que pode confundir. 

Valeu

Mas são somente esses comandos?

Você pode passar mais detalhes do seu projeto ? Estou querendo montar um receptor de IR mas não consigo encontrar o decodificador de IR (PNA4602, TSOP382 e TSOP1838 foram os que procurei). Você usou um CI decodificador ou projetou um circuito ?

[]'s

Renato.

Renato, eu retirei o IR de um dvd queimado e fiz o esquema no arduino. No próprio arduino vc faz um circuito para capturar o código das teclas que vc vai usar. Aí é montar o esquema e programar. Aí vc vai fazer um circuito para excitar os relés com as saidas do arduino. Eu queria usar o CI para fazer isso, pois num queria "gastar" minha arduino pra isso, mas estou encontrando dificuldades. Mas no arduino é simples.  Os esquemas não estão aki nesnte pc quando chegar em casa eu posto.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço