Atcerieties, kāds tas bija
robotsputekļsūcējs "Kibernētika" N.N. Nosova "Dunno saules pilsētā"? Vai viņam vajadzēja atgādināt, ka ir pienācis laiks ķerties pie darba? Tagad, kad šādas ierīces ir kļuvušas par realitāti, izrādījās, ka tas ir nepieciešams. Paņemiet tālvadības pulti un nospiediet uz tā esošo pogu. Pačkola darba varonis Pestrenky, to redzējis, noteikti būtu pamanījis: “Kāda ir šī automātika, ja jums ir jānospiež poga, ja tikai viņš būtu bez pogām.” Arī Instructables autors ar segvārdu ShaperG domāja tā. Un izdarīja
dari pats ierīce robota putekļsūcēja palaišanai pēc grafika.
Pašdarināts sastāv no mehāniskā taimera, lai pēc grafika ieslēgtu dažādas elektriskās ierīces (Ikea vai jebkuru citu), barošanas avotu,
Arduino, maizes dēļa tipa maizes dēlis un duponts džemperi (nav obligāti, jūs varat visu savienot ar lodēšanu), divi gaismas diodes - redzami kvēlojoši un infrasarkanie, divi 330 omu rezistori, Sparkfun korpuss vai jebkurš cits.
Kad ir savākti visi nepieciešamie komponenti, vednis sastāda diagrammu. Un atkal programmā Fritzing līdzīgais, šajā gadījumā, Mekanizmalar tiešsaistes lietojumprogrammā. Ne visiem patīk šāds diagrammu sastādīšanas veids, taču saprotams, kā visu savienot.
Izlemjot par shēmu, vednis sāk programmēšanu:
Ņem bibliotēku
šeitun skice ir
šeit. Vienkāršo skici tā, ka, ieslēdzot strāvu, tā ik pēc piecām sekundēm nepārtraukti sūta komandu “tīrs”. Skice būs jāpabeidz, ja
modeli putekļsūcējs atšķiras no iRobot Roomba 530. Nu, kapteinis izrādās šādi:
# iekļaut
/ *
Super vienkāršs Arduino Powerd Roomba plānotājs
2013-08-03 Izdevums Instructables
Kods pielāgots no: https://gist.github.com/probonopd/5181021
Nosūtiet infrasarkanās komandas no Arduino uz iRobot Roomba
pa probono
2013-03-17 Sākotnējā izlaišana
Autortiesības (c) 2013, autors probono
Visas tiesības paturētas.
Pārdalīšana un izmantošana avota un binārā formā, ar vai bez
modifikācijas, ir atļautas, ja ir izpildīti šādi nosacījumi:
1. Avota koda atkārtotai izplatīšanai jāsaglabā iepriekš minētais paziņojums par autortiesībām
nosacījumu saraksts un šāda atruna.
2. Veicot atkārtotu izplatīšanu binārā formā, jāatkārto iepriekš minētais paziņojums par autortiesībām.
šis nosacījumu saraksts un šāda atruna dokumentācijā
un / vai citi materiāli, kas piegādāti ar izplatīšanu.
ŠO PROGRAMMATŪRU SNIEDZ AUTORTIESĪBU ĪPAŠNIEKI UN IEGULDĪTĀJI "TĀDS, KAS IR"
JEBKĀDAS IZDARĪGAS VAI NETIEŠAS GARANTIJAS, TOSTARP, TIKAI BEZ IEROBEŽOTĀM
TIRDZNIECĪBAS GARANTIJAS UN ATBILSTĪBA ĪPAŠAM MĒRĶAM
ATRUNA. Nekādā gadījumā ATBILD PAR ATBILDĪBU PAR AUTORTIESĪBU ĪPAŠNIEKU UN IEGULDĪTĀJIEM
Jebkurš tiešs, netiešs, netiešs, īpašs, piemērs vai secīgs kaitējums
(IESKAITOT, BET NEAIZĪMĒTU, PAKALPOJUMU PREČU VAI PAKALPOJUMU IEGĀDI;
LIETOŠANAS, DATU VAI PELNU ZAUDĒJUMI; VAI BIZNESA PĀRTRAUKŠANA
PAR JEBKĀDU ATBILDĪBAS TEORIJU LĪGUMĀ, STARPTAUTISKO ATBILDĪBU VAI TORTU
(TOSTARP NEATKARĪGU VAI CITĀDU), KAS PAREDZĒTS ŠĀDĀ LIETOŠANĀ
PROGRAMMATŪRA, JA TIEK PIEŅEMTS ŠĀDAS BOJĀJUMA IESPĒJAMĪBA.
* /
IRsend irsend; // ar vadu piesprausta 3; Izmantojiet tranzistoru, lai vadītu IR LED maksimālajā diapazonā
int LED = 10;
iestatīšana nav spēkā ()
{
Sērijas.begin (9600);
pinMode (LED, OUTPUT);
digitalWrite (LED, HIGH); // ieslēdziet gaismas diodi (AUGSTS ir sprieguma līmenis)
}
tukšs cilpa ()
{
roomba_send (136); // Nosūtīt "Tīrs"
kavēšanās (5000); // Pagaidiet 5 sekundes
}
void roomba_send (int kods)
{
Serial.print ("Sūtot Roomba kodu");
Serial.print (kods);
int garums = 8;
neparakstīts int raw [garums * 2];
neparakstīts int one_pulse = 3000;
neparakstīts int one_break = 1000;
neparakstīts int zero_pulse = one_break;
neparakstīts int zero_break = one_pulse;
int masīvs = 0;
// Serial.println ("");
priekš (int skaitītājs = garums-1; skaitītājs> = 0; - skaitītājs) {
if (kods & (1 << skaitītājs)) {
// Serial.print ("1");
neapstrādāts [masīva izvietojums] = viens_pulss;
neapstrādāts [masīva izvietojums + 1] = one_break;
}
cits {
// Serial.print ("0");
neapstrādāts [masīva izvietojums] = nulle_pulss;
neapstrādāts [masīva izvietojums + 1] = zero_break;
}
masīva izvietojums = masīva izvietojums + 2;
}
priekš (int i = 0; i <3; i ++) {
irsend.sendRaw (neapstrādāts, 15, 38);
kavēšanās (50);
}
Serial.println ("");
Serial.print ("Neapstrādāti laiki:");
priekš (int z = 0; z
Sākotnēji vednis pārbauda skices darbību sērijveida porta izvadīšanai uz monitoru. Tad tas ievieto visu lietu un piegādā Arduino nevis no datora, bet no barošanas avota, kas savienots, izmantojot mehānisku taimeri.
Tagad, novietojot ierīci netālu no uzlādes stacijas, pie kuras vienmēr atgriežas robots putekļsūcējs, jūs varat iestatīt mehāniskā taimera salocīšanas grafiku, lai to iedarbinātu. Vislabākais - reizi dienā. Tikai ne naktī, kā N.N. Nosova.