Muista millainen se oli
robottipölynimuri "Cybernetics" N.N. Nosova "Dunno aurinkokaupungissa"? Oliko hänelle muistutettava, että oli aika päästä töihin? Nyt kun tällaisista laitteista on tullut todellisuutta, kävi ilmi, että se on välttämätön. Ota kaukosäädin ja paina sen painiketta. Pachkulin teoksen sankari Pestrenky, nähtyään tämän, olisi varmasti huomannut: "Millainen automaatio tämä on, jos sinun on painettava painiketta, jos vain hänellä olisi se ilman painikkeita." Instructables -kirjailijan ShaperG-lempinimen tekijä myös ajatteli niin. Ja teki
tee se itse laite robottiimurin käynnistämiseksi aikataulussa.
kotitekoinen tuote koostuu mekaanisesta ajastimesta erilaisten sähkölaitteiden kytkemiseksi päälle aikataulussa (Ikea tai mikä tahansa muu), virtalähteestä,
Työläs, leipälautatyyppinen leipälauta ja dupont-hyppääjät (valinnainen, voit liittää kaiken juottamalla), kaksi LEDiä - näkyvä hehku ja infrapuna, kaksi 330 ohmin vastusta, Sparkfun-kotelo tai mikä tahansa muu.
Kun olet valinnut kaikki tarvittavat komponentit, ohjattu toiminto laatii kaavion. Ja taas Fritzingin kaltaisessa ohjelmassa, tässä tapauksessa Mekanizmalar-online-sovelluksessa. Kaikille ei pidä tästä kaavioiden laatimistavasta, mutta kaiken yhdistäminen on ymmärrettävää.
Ohjattu toiminto päättäessään ohjelmasta aloittaa ohjelmoinnin:
Ottaa kirjaston
täälläja luonnos on
täällä. Yksinkertaistaa luonnosta niin, että kun virta on päällä, se lähettää jatkuvasti ”puhdas” -komennon viiden sekunnin välein. Luonnos on viimeistelty, jos
malli pölynimuri eroaa iRobot Roomba 530: sta. Mestari osoittaa tämän:
# sisällytä
/ *
Erittäin yksinkertainen Arduino-tehoinen Roomba-aikataulu
2013-08-03 Instructables julkaisu
Koodi mukautettu osoitteesta: https://gist.github.com/probonopd/5181021
Lähetä infrapunakomentoja Arduinolta iRobot Roombaan
kirjoittanut probono
2013-03-17 Alkuperäinen julkaisu
Tekijänoikeus (c) 2013, probono
Kaikki oikeudet pidätetään.
Jakelu ja käyttö lähde- ja binaarimuodoissa, joko tai ilman
muutokset ovat sallittuja, jos seuraavat ehdot täyttyvät:
1. Lähdekoodien uudelleenjakelussa on säilytettävä yllä oleva tekijänoikeusilmoitus
ehtojen luettelo ja seuraava vastuuvapauslauseke.
2. Binaarimuodossa tapahtuvien uudelleenjakelujen on toistettava yllä oleva tekijänoikeusilmoitus,
tämä ehtojen luettelo ja seuraava vastuuvapauslauseke asiakirjoissa
ja / tai muut jakelun mukana toimitetut materiaalit.
TÄMÄN OHJELMISTON TEKIJÄT TEKIJÄNOIKEUDEN OMISTAJAT JA AVUSTAVAT "SELLAISENAAN" JA
MITÄÄN ILMAINEN TAI implisiittisiä takuita, mukaan lukien, mutta joita ei rajoiteta implisiittisiin
TAVARAT TUOTETTAVUUDESTA JA TIETTYYN TARKOITUKSEEN SOVELTUVUUDESTA
TAKUUN. TEKIJÖN OIKEUDEN OMISTAJA TAI OSAVUOSITTAJAT VASTUULLISESTI EI OLE
MITÄSET SUORAT, Epäsuorat, Satunnaiset, ERITYISET, ESIMERKINEN TAI SEURAAVAT VAHINGOT
(Sisältää, mutta ei rajoitetusti, RAKENNETTUJEN TAVAROIDEN TAI PALVELUJEN HANKINTA;
KÄYTÖN, TIETOJEN TAI TUOTOJEN TAPPIO; TAI LIIKETOIMENPITEEN POISTAMINEN)
MITÄÄN VASTUUNTEORIOSTA, SOPIMUKSESSA, RAJOITTAVASTI TAI KORVAUKSESSA
(MUKAAN LUOTTAMALLA TAI MUUA), MIS TÄTÄ TÄTÄ TÄTÄ KÄYTETÄÄN
OHJELMISTO, JOS JOS TARJOA NIIDEN VAHINGON MAHDOLLISUUTTA.
* /
IRsend irsend; // kiinteästi kiinnitetty 3: een; Käytä transistoria ohjaamaan IR-LEDiä maksimialueelle
int LED = 10;
tyhjä asennus ()
{
Serial.begin (9600);
pinMode (LED, OUTPUT);
digitalWrite (LED, HIGH); // kytke LED päälle (KORKEA on jännitetaso)
}
tyhjä silmukka ()
{
huonekorkeus (136); // Lähetä "Puhdista"
viive (5000); // Odota 5 sekuntia
}
tyhjä roomba_send (int-koodi)
{
Serial.print ("Roomba-koodin lähettäminen");
Serial.print (koodi);
int pituus = 8;
allekirjoittamaton int raaka [pituus * 2];
allekirjoittamaton yksi_pulssi = 3000;
allekirjoittamatta int one_break = 1000;
allekirjoittamaton int nolla_pulssi = yksi_roma;
allekirjoittamaton int zero_break = yksi_pulssi;
int arrayposition = 0;
// Serial.println ("");
varten (int-laskuri = pituus-1; laskuri> = 0; --laskuri) {
if (koodi & (1 << laskuri)) {
// Sarjajälki ("1");
raa'an [ryhmän] = yksi_pulssi;
raa'at [ryhmä + 1] = yksi_rikko;
}
muuten {
// Sarjajälki ("0");
raa'an [arrayposition] = nolla_pulssi;
raa'an [ryhmä + 1] = nolla_rikko;
}
arrayposition = arrayposition +2;
}
varten (int i = 0; i <3; i ++) {
irsend.sendRaw (raa'at, 15, 38);
viive (50);
}
Serial.println ("");
Serial.print ("raa'at ajoitukset:");
varten (int z = 0; z
Aluksi ohjattu toiminto tarkistaa luonnoksen toiminnan sarjaportin tulostamiseksi näytölle. Sitten se laittaa kaiken koteloon ja antaa Arduinolle virran tietokoneesta, mutta mekaanisen ajastimen avulla kytketystä virtalähteestä.
Kun olet nyt asettanut laitteen lähellä latausasemaa, johon robottiimuri palaa aina, voit asettaa mekaanisen ajastimen taittoaikataulun sen käynnistämiseksi. Mikä parasta - kerran päivässä. Vain ei yöllä, kuten N.N. Nosov.