voor mijn boot heb ik een arduino (arduino mega 2650 met usb host shield 2.0) in een besturingskast, deze stuurt oa zogenaamde dream led verlichting aan. Ik stuur met de ardino de radiografische signalen naar de controller om die met de arduino te besturen (ipv de meegeleverde zender en ontvanger)
De arduino in de boot wil ik op 3 manieren kunnen instellen,
- android telefoon
- radigrafische afstandibediening
- IR tv afstandsbediening
dit heb ik allemaal los van elkaar werkend gekregen maar zodra ik de IRremote bibliotheek opstart werkt de Rcswictch en usb shield bibliotheek niet meer (deze regel : "irrecv.enableIRIn(); // Start the receiver" )
het heeft waarschijnlijk te maken met de timers, bij de rcwitch heb ik timer 1 tm 5 geprobeerd maar dat heeft het probleem niet verholpen.
als ik nu dus de ir tv afstandsbediening gebruiken(bibliotheek opstart) dan werkt de android telefoon en dreamled verlichting niet meer.
wie heeft voor mij een oplossing ?
hier een dropbox link met de complete code Dropbox - Error
hier een dropbox link met mijn arduino software inclusief de door mij gebruikte bibliotheken.
https://www.dropbox.com/sh/w5andch01sfjmyb/Gc0Wx8GKh7
alvast heel erg bedankt
ps ik doe een opleiding industriële automatisering techniek op hbo niveau. maar arduino wordt niet erg grondig behandeld.
#include <avrpins.h>
#include <max3421e.h>
#include <usbhost.h>
#include <usb_ch9.h>
#include <Usb.h>
#include <usbhub.h>
#include <avr/pgmspace.h>
#include <address.h>
#include <adk.h>
#include <printhex.h>
#include <message.h>
#include <hexdump.h>
#include <parsetools.h>
#include <IRremote.h>
USB Usb;
USBHub hub0(&Usb);
USBHub hub1(&Usb);
ADK adk(&Usb,"Google, Inc.",
"DemoKit",
"DemoKit Arduino Board",
"1.0",
"http://www.android.com",
"0000000012345678");
///usb shield////////////////////////////////////
#include <EEPROM.h>
#include <RCSwitch.h> //ontvanger
RCSwitch mySwitch = RCSwitch();
#include <avr/sleep.h>
decode_results results;
//gebruikte pinnen
//12 ir //ir ontvanger
// 11 dreamled //rc switch naar deamled
//pin 2 RF ontvanger // radiografische ontvanger
int RECV_PIN = 12; //ir
IRrecv irrecv(RECV_PIN);
void setup()
{
irrecv.enableIRIn(); // Start the receiver
mySwitch.enableTransmit(11);
mySwitch.enableReceive(0); // Receiver on inerrupt 0 => that is pin #2
mySwitch.setRepeatTransmit(5);
}
void dream_led_aansturen(){
mySwitch.send("010101010101010111001100");
}
void rf_ontvanger(){ // radio grafische ontvanger
if (mySwitch.available()) {
long value = mySwitch.getReceivedValue();
switch(value)
{
case 5592368 :
mySwitch.resetAvailable();
}
void ir ontvanger{
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}
void usb_shield_android () {
uint8_t rcode;
uint8_t msg[3] = {
0x00 };
Usb.Task();
if( adk.isReady() != false ) {
uint16_t len = sizeof(msg);
rcode = adk.RcvData(&len, msg);
}