Ola pessoal se alguem puder me ajudar,segui um tutorial para ligar led atravez do touch osc,tudo ok,agora queria adicionar ao codigo a funçao de trocar o canal da tv,so que concigo so pelo serial monitor,nada pelo touchosc,alguem saberia o que tenho que colocar no codigo?

‪#‎include‬ <IRremote.h>
#include <IRremoteInt.h>

#include <ArdOSC.h>
#include<SPI.h>
#include<Ethernet.h>

byte myMac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };//define mac
byte myIp[] = {192,168,25,20};//ip arduino
byte destIP[] = {192,168,25,186};//ip android
int serverPort = 8000;//porta recepçao
int destPort = 9000;//porta de envio
int led1Pin = 53;//porta led 1
int led2Pin = 52;//porta led 2
int sw1Pin = 43;//porta botao 1
int sw2Pin = 42;//porta botao 2
OSCServer server;//inicializa servidor Osc
OSCClient client;//inicializa cliente Osc
IRsend irsend;

void setup (){
Ethernet.begin(myMac,myIp);//iniciliza interface ethernet
Serial.begin(9600);
server.begin(serverPort);//inicializa servidor
server.addCallback("/ard/led1",&func1);//rotina funcao1
server.addCallback("/ard/led2",&func2);//rotina funçao 2

pinMode(led1Pin, OUTPUT);//define porta digital como saida
pinMode(led2Pin, OUTPUT);
digitalWrite(sw1Pin, HIGH);//ativa Pull-up 
digitalWrite(sw2Pin, HIGH);
pinMode(9,OUTPUT); // A biblioteca inicializa com pino 3 como uma saída
digitalWrite(9, LOW);

}
void loop (){

if(server.aviableCheck()>0){//verifica msg osc
}
char c = Serial.read();
if (c=='/1'){
irsend.sendRC6(0xC8070260CLL, 36);
delay(100); 
}

if(digitalRead(sw1Pin)==LOW){//verifica se o botao foi precionado
int state = digitalRead(led1Pin);//armasena estado do btao
OSCMessage txMes;//cria uma nova msg
txMes.setAddress(destIP,destPort);//dfine endereço e porta de destino
txMes.beginMessage("/ard/led1");//define comando
txMes.addArgFloat(!state);//define novo estado do led
client.send(&txMes);//envia msg de atualizaçao
digitalWrite(led1Pin, !state);//modifica estado da porta

}
if(digitalRead(sw2Pin)==LOW){
int state = digitalRead(led2Pin);
OSCMessage txMes;
txMes.setAddress(destIP,destPort);
txMes.beginMessage("/ard/led2");
txMes.addArgFloat(!state);
client.send(&txMes);
digitalWrite(led2Pin, !state);

}

}
void func1(OSCMessage *_mes){//rotina do comando osc
int value = (int)_mes->getArgFloat(0);//armasena o argumento
digitalWrite(led1Pin, value);//muda estado porta
}
void func2(OSCMessage *_mes){
int value = (int)_mes->getArgFloat(0);
digitalWrite(led2Pin, value);
}

Exibições: 553

Responder esta

Respostas a este tópico

Boa noite pessoal

Sei que o tópico é antigo, mas estou tentando executar o mesmo projeto e tbm estou com dificuldades

Se alguém souber me ajudar, agradeço

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço