Pamatujte, jaké to bylo
robotvysavač "Cybernetics" v knize N.N. Nosova "Dunno ve slunečním městě"? Připomněl mu, že je čas začít pracovat? Nyní, když se taková zařízení stala skutečností, ukázalo se, že je to nutné. Vezměte dálkový ovladač a stiskněte na něm tlačítko. Hrdina Pachkulova díla Pestrenky, který to viděl, by si jistě všiml: „Jaký je tento druh automatiky, pokud musíte stisknout tlačítko, kdyby byl bez tlačítek?“ Autor Instructables pod přezdívkou ShaperG také myslel. A udělal
udělej to sám zařízení pro spouštění robotického vysavače podle plánu.
Domácí sestává z mechanického časovače pro zapnutí různých elektrických spotřebičů podle plánu (Ikea nebo jakýkoli jiný), napájení,
Arduino, prkénko na prkénko na prkénko a dupontové propojky (volitelné, můžete připojit vše pájením), dvě LED diody - viditelná záře a infračervené záření, dva odpory 330 Ohm, pouzdro Sparkfun nebo jakékoli jiné.
Po načtení všech potřebných součástí průvodce vytvoří schéma. A opět v programu typu Fritzing, v tomto případě, v online aplikaci Mekanizmalar. Ne každý má rád tento způsob vytváření diagramů, ale jak propojit vše, je pochopitelné.
Po rozhodnutí o schématu průvodce zahájí programování:
Vezme knihovnu
zdea skica je
zde. Zjednodušuje náčrt tak, že když je napájení zapnuto, každých pět sekund neustále vysílá „čistý“ příkaz. Skica bude muset být dokončena, pokud
model vysavač se liší od iRobot Roomba 530. Master to dopadne takto:
#include
/ *
Super jednoduchý Arduino Powerd Roomba Plánovač
2013-08-03 Vydání Instructables
Kód byl upraven na: https://gist.github.com/probonopd/5181021
Pošlete infračervené příkazy z Arduina do iRobot Roomba
probonem
2013-03-17 Počáteční vydání
Copyright (c) 2013 by probono
Všechna práva vyhrazena.
Redistribuce a použití ve zdrojových a binárních formách, s nebo bez
modifikace jsou povoleny za předpokladu, že jsou splněny následující podmínky:
1. Redistribuce zdrojového kódu si musí zachovat výše uvedené upozornění o autorských právech
seznam podmínek a následující vyloučení odpovědnosti.
2. Redistribuce v binární podobě musí reprodukovat výše uvedené oznámení o autorských právech,
tento seznam podmínek a následující vyloučení odpovědnosti v dokumentaci
a / nebo jiné materiály dodávané s distribucí.
TENTO SOFTWARE POSKYTUJÍ DRŽITELÉ AUTORSKÝCH PRÁV A DODAVATELÉ „JAK JSOU“ A
JAKÉKOLI VÝSLOVNÉ NEBO IMPLIKOVANÉ ZÁRUKY, VČETNĚ IMPLIKOVANÝCH, ALE NEMEZENÝCH OMEZENÝCH
ZÁRUKY PRODEJNOSTI A VHODNOSTI PRO URČITÝ ÚČEL JSOU
PROHLÁŠENÍ. V ŽÁDNÉM PŘÍPADĚ NESMÍ BÝT ZODPOVĚDNÝM MAJITELEM AUTORSKÝCH PRÁV NEBO SMLOUVATELI
JAKÉKOLI PŘÍMÉ, NEPŘÍMÉ, NÁHODNÉ, ZVLÁŠTNÍ, EXEMPLÁRNÍ NEBO NÁSLEDNÉ ŠKODY
(VČETNĚ, OBJEDNÁVKY, KTERÉ NEJSOU OMEZENY, ZAKÁZKY NA NÁHRADNÍ ZBOŽÍ NEBO SLUŽBY;
ZTRÁTY POUŽITÍ, ÚDAJE NEBO ZISKŮ; NEBO PŘERUŠENÍ PODNIKŮ) JAK PŘÍČINY A
O JAKÉKOLIV TEORII ODPOVĚDNOSTI, TAK, ŽE SE SMLOUVA, STRUČNÁ ODPOVĚDNOST NEBO TORT
(VČETNĚ NEGLIGENCE NEBO OSTATNÍCH) VYPLÝVAJÍCÍCH JAKÝKOLI ZPŮSOBEM POUŽITÍ TOHOTO
SOFTWARE, KDYŽ JSOU PORADENY O MOŽNOSTI TAKÉHO ŠKODY.
* /
IRsend irsend; // pevně zapojený na pin 3; použijte tranzistor k pohonu IR LED pro maximální dosah
int LED = 10;
neplatné nastavení ()
{
Serial.egegin (9600);
pinMode (LED, OUTPUT);
digitalWrite (LED, HIGH); // zapnout LED (HIGH je úroveň napětí)
}
prázdná smyčka ()
{
roomba_send (136); // Odeslat "Vyčistit"
zpoždění (5000); // Počkejte 5 sekund
}
void roomba_send (int kód)
{
Serial.print („Odeslání Roomba code“);
Serial.print (kód);
int délka = 8;
unsigned int raw [délka * 2];
unsigned int one_pulse = 3000;
unsigned int one_break = 1000;
unsigned int zero_pulse = one_break;
unsigned int zero_break = one_pulse;
int arrayposition = 0;
// Serial.println ("");
for (int counter = length-1; counter> = 0; --counter) {
if (code & (1 << counter)) {
// Serial.print ("1");
raw [arrayposition] = one_pulse;
raw [arrayposition + 1] = one_break;
}
jinde {
// Serial.print ("0");
raw [arrayposition] = zero_pulse;
raw [arrayposition + 1] = zero_break;
}
arrayposition = arrayposition + 2;
}
pro (int i = 0; i <3; i ++) {
irsend.sendRaw (raw, 15, 38);
zpoždění (50);
}
Serial.println ("");
Serial.print („Raw timings:“);
pro (int z = 0; z
Průvodce zpočátku zkontroluje činnost náčrtu pro výstup sériového portu na monitor. Pak vloží vše do pouzdra a napájí Arduino ne z počítače, ale ze zdroje připojeného pomocí mechanického časovače.
Nyní, když jste zařízení umístili poblíž nabíjecí stanice, do které se robotický vysavač vždy vrací, můžete nastavit rozvrhnutí mechanického časovače pro jeho spuštění. Nejlepší ze všech - jednou denně. Pouze ne v noci, jako v práci N. N. Nosova.