Fórum
- Busca avançada
- Informacoes
- Regras
- PMF
- Glossário
- Dicas e Dúvidas
- Tutoriais
- Tutoriais
- Build Reports
- Desafio RoboCore
- Discussoes
- Arduino
- Albatross
- Técnicas
- Gerais
- Competições
- Iniciantes
- CAD/CAM/CAE
- Classificados
- Compra
- Venda
- Troca
- Vagas de Emprego
- Suporte
- Erros
- Sugestões
Autor
Mensagem
Ola, Interessei-me muito pelo projeto e inclusive pretendo implementa-lo em minha residencia, contudo antes de realizar a compra dos modulos, principalmente do X-bee, estou fazendo uma prova de conceito com um Arduino Uno que tinha perdido aqui em casa. Estive tentando acionar um ar-condicionado (consul linha bem-estar) sem sucesso. OS controles de TV e demais aparelhos IR que tenho aqui em casa nao tive qualquer problema, contudo quanto ao ar-condicionado nem por decreto consigo enviar um comando reconhecivel pelo mesmo. Estive usando a Biblioteca IRemote e a mesma reconhece o codigo como NEC, inclusive ja tentei enviar o codigo bruto (raw) tambem sem sucesso... Alguma sugestao do que poderria estar acontecendo, pesquisando no google percebi que é um problem recorrente, mas não encontrei nenhuma solucao que se adeque a minha situação. So falta definir essa questao para adquirir os modulos x-bee e comecar de fato a automacao.
Códigos que usaste para enviar?
_________________
BeatSlayer Escreveu: Códigos que usaste para enviar? |
Comentário: /*
* IRrecord: record and play back IR signals as a minimal
* An IR detector/demodulator must be connected to the input RECV_PIN.
* An IR LED must be connected to the output PWM pin 3.
* A button must be connected to the input BUTTON_PIN; this is the
* send button.
* A visible LED can be connected to STATUS_PIN to provide status.
*
* The logic is:
* If the button is pressed, send the IR code.
* If an IR code is received, record it.
*
* Version 0.11 September, 2009
* Copyright 2009 Ken Shirriff
* http://arcfn.com
*/
#include <IRremote.h>
int RECV_PIN = 11;
int BUTTON_PIN = 12;
int STATUS_PIN = 13;
IRrecv irrecv(RECV_PIN);
IRsend irsend;
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
pinMode(BUTTON_PIN, INPUT);
pinMode(STATUS_PIN, OUTPUT);
}
// Storage for the recorded code
int codeType = -1; // The type of code
unsigned long codeValue; // The code value if not raw
unsigned int rawCodes[RAWBUF]; // The durations if raw
int codeLen; // The length of the code
int toggle = 0; // The RC5/6 toggle state
// Stores the code for later playback
// Most of this code is just logging
void storeCode(decode_results *results) {
codeType = results->decode_type;
int count = results->rawlen;
if (codeType == UNKNOWN) {
Serial.println("Received unknown code, saving as raw");
codeLen = results->rawlen - 1;
// To store raw codes:
// Drop first value (gap)
// Convert from ticks to microseconds
// Tweak marks shorter, and spaces longer to cancel out IR receiver distortion
for (int i = 1; i <= codeLen; i++) {
if (i % 2) {
// Mark
rawCodes[i - 1] = results->rawbuf[i]*USECPERTICK - MARK_EXCESS;
Serial.print(" m");
}
else {
// Space
rawCodes[i - 1] = results->rawbuf[i]*USECPERTICK + MARK_EXCESS;
Serial.print(" s");
}
Serial.print(rawCodes[i - 1], DEC);
}
Serial.println("");
}
else {
if (codeType == NEC) {
Serial.print("Received NEC: ");
if (results->value == REPEAT) {
// Don't record a NEC repeat value as that's useless.
Serial.println("repeat; ignoring.");
return;
}
}
else if (codeType == SONY) {
Serial.print("Received SONY: ");
}
else if (codeType == RC5) {
Serial.print("Received RC5: ");
}
else if (codeType == RC6) {
Serial.print("Received RC6: ");
}
else {
Serial.print("Unexpected codeType ");
Serial.print(codeType, DEC);
Serial.println("");
}
Serial.println(results->value, HEX);
codeValue = results->value;
codeLen = results->bits;
}
}
void sendCode(int repeat) {
if (codeType == NEC) {
if (repeat) {
irsend.sendNEC(REPEAT, codeLen);
Serial.println("Sent NEC repeat");
}
else {
irsend.sendNEC(codeValue, codeLen);
Serial.print("Sent NEC ");
Serial.println(codeValue, HEX);
}
}
else if (codeType == SONY) {
irsend.sendSony(codeValue, codeLen);
Serial.print("Sent Sony ");
Serial.println(codeValue, HEX);
}
else if (codeType == RC5 || codeType == RC6) {
if (!repeat) {
// Flip the toggle bit for a new button press
toggle = 1 - toggle;
}
// Put the toggle bit into the code to send
codeValue = codeValue & ~(1 << (codeLen - 1));
codeValue = codeValue | (toggle << (codeLen - 1));
if (codeType == RC5) {
Serial.print("Sent RC5 ");
Serial.println(codeValue, HEX);
irsend.sendRC5(codeValue, codeLen);
}
else {
irsend.sendRC6(codeValue, codeLen);
Serial.print("Sent RC6 ");
Serial.println(codeValue, HEX);
}
}
else if (codeType == UNKNOWN /* i.e. raw */) {
// Assume 38 KHz
irsend.sendRaw(rawCodes, codeLen, 3 ![]() |
BeatSlayer Escreveu: |
Funciona sim pelo SD até já fiz algum código para isso tem bastante tempo, e também para ler da PROGMEM.
_________________
O Albatross consegue controlar Ar-Condicionado sem problemas, porém devido ao tamanho do comando IR utilizado pelos ar-condicionados, além das bibliotecas desenvolvidas para o Albatross, é necessário utilizar um Arduino Mega. Lembre que para controle de aparelhos IR, não é necessário utilizar módulos escravos e consequentemente não há necessidade dos XBees, apenas o Albatross Master é necessário.
Pessoal, eu vi que o Albatross disponibilizado pela Robocore consegue controlar ar condicionado como dito na citação abaixo.
Comentário: O Albatross consegue controlar Ar-Condicionado sem problemas, porém devido ao tamanho do comando IR utilizado pelos ar-condicionados, além das bibliotecas desenvolvidas para o Albatross, é necessário utilizar um Arduino Mega. |
Boa tarde Pessoal, Estou usando o Albatross junto ao TouchOsc para controle do ar condicionado via IR. Até aí tudo bem...funciona perfeitamente assim como a tv, o relés Xbee e o home theater. Acrescentei ao código do Albatross um LDR e um LM35, minha ideia é que entre uma faixa de valores de temperatura o código enviasse sinais IR para diminuir ou aumentar a temperatura do ar condicionado. Como faço para que caso uma condição do IF ele mande o sinal IR? Abraços.
|
|
|
Todos os horários são GMT - 3 Horas | Você não tem permissão para escrever novas mensagens v não tem permissão para responder às mensagens Você não tem permissão para editar suas mensagens Você não tem permissão para deletar suas mensagens Você não tem permissão para classificar tópicos Você não tem permissão para classificar mensagens Você não tem permissão para votar em enquetes Anexar downloads : Proibido Fazer Download de Arquivos: Proibido |
Powered by phpBB © 2001 phpBB Group
ROBOCORE TECNOLOGIA
RoboCore was created in 2008 with the aim of encouraging technological development, manufacturing and supplying high quality automation and robotics parts at affordable prices.
RoboCore Tecnologia LTDA
CNPJ 10.383.409/0001-98
D-U-N-S Certified: 89-963-8833
Santana de Parnaiba/SP - Brasil
CNPJ 10.383.409/0001-98
D-U-N-S Certified: 89-963-8833
Santana de Parnaiba/SP - Brasil
OUR SOCIAL NETWORKS
USEFUL LINKS
STORE POLICIES
CONTACT INFORMATION
ROBOCORE® 2023. All rights reserved