moją Roombą sterować Via BT lub internet... Ale no właśnie nie chce jej rozbierać
wiec trzeba to wykonać bezinwazyjnie ....

Powodów do nie rozkręcania może być wiele ... np jednym z popularniejszych
-- Gwarancja
W prawdzie mam sheduler i remote kontroler do swojej roomby jednak dobrze by było by
była niejako zintegrowana z resztą domu ...
Niejako Roomba ma dobry zestaw odbiorczy IR ... wiec można łatwo ją kontrolować nawet
jak nie macie do swojej pilota

-----------------------------------------------------------------------------------------------------------------
-- Schemat podłączenia nadawczej IR
-----------------------------------------------------------------------------------------------------------------
Ja u siebie zastosowałem trójkątny board z baterią 4 diód nadawczych na bok
co zapewnia mi możliwość przejęcia kontroli nad Roombą w dowolnym czasie
i niezależnie od jej miejsca pobytu ... no chyba że wjedzie pod mebel

-----------------------------------------------------------------------------------------------------------------
-- Podstawowe KODY IR
-----------------------------------------------------------------------------------------------------------------
129 Left
130 Forward
131 Right
132 Spot
136 Clean
137 Stop
138 Power On/OFF
143 Dock
---------------------------------------------------------------------------------------------------------------
Co można już prosto okiełznać choćby testowo w ARDUINO np:
Kod: Zaznacz cały
#include <IRremote.h>
IRsend irsend; // Dioda IR D3
int LED = 13 // Dioda kontrolna
void setup()
{
Serial.begin(9600);
pinMode(LED, OUTPUT);
digitalWrite(LED, HIGH);
}
void loop()
{
wyslijKod_roomba(136); // Wysyłamy "Clean"
delay(5000); // Czekamy 5s
void wyslijKod_roomba(int Kod)
{
Serial.print("Wysłano kod:");
Serial.print(Kod);
int rozmiar = 8;
unsigned int raw[rozmiar*2];
unsigned int 1_impuls = 3000;
unsigned int 1_przerwa = 1000;
unsigned int 0_impuls = 1_przerwa;
unsigned int 0_przerwa = 1_impuls;
int tabPos = 0; // Tablica pozycji
for (int counter = rozmiar-1; count >= 0; --count)
{
if(Kod & (1<<count))
{
raw[tabPos] = 1_impuls;
raw[tabPos+1] = 1_przerwa;
}
else
{
raw[tabPos] = 0_impuls;
raw[tabPos+1] = 0_przerwa;
}
tabPos = tabPos + 2;
}
for (int i = 0; i < 3; i++)
{
irsend.sendRaw(raw, 15, 38);
delay(50);
}
}
Tym prostym Sposobem możemy uruchomić naszą Roombę ... warto sprawdzić ... nie wszędzie kody działają choć powinny
Oczywiście można sobie rozbudować do woli ... program ... ja bazowałem na przykładzie od IRremote ...
i dodałem wiele kodów ... ponadto używam RTL8710 dzięki czemu mam również WIFI i moge sterować poprzez prosty interfejs
HTTP. Roomba jest skonfigurowana na współpracę z RHSI v2 dzięki czemu jest widoczna w systemie i można ją zawsze
Aktywować z neta

W załączniku dodatkowe materiały do pracy z ROOMBĄ.