Senzor koji je Instructables predložio pod nadimkom AdnanA61 omogućava vam otkrivanje kratkovalnog infracrvenog zračenja iz izvora kao što su daljinski upravljači, vatra, žarulje sa žarnom niti i sunce. Ne reagira na drugi oblik infracrvenog zračenja - dugovalni, čiji su izvori svi objekti zagrijani na uobičajene temperature. domaći proizvod proizvodi dvije vrste signala: analogni i diskretni, a drugi od njih tvori usporednik, čiji se prag podesivo. Oba se signala mogu primijeniti na oba Težak, i na druge uređaje sa ili bez mikrokontrolera. Slijedi drugi dizajn ploče, krug se ne razlikuje:
Senzor je napravljen na jednom od dva komparatora mikro mikrokontrole LM393, a drugi se po potrebi može koristiti za rješavanje drugog problema. Ako ga ne upotrebljavate, bolje je da oba njegova ulaza povežete zajedničkom žicom, a izlaz ostavite nepovezanim.
Shema je dizajnirana tako da joj čitanje nije baš prikladno. Tri točke označene kao A0 moraju biti povezane. Dvije točke označene kao D0 - previše. Tako postaje jasno što je povezano i kako to funkcionira. Nema zagonetki. Ako senzor sastavite od dizajnera, izvlačenje češlja na ploči uključeno u komplet bit će sljedeće:
Naravno, na improviziranoj ploči, štampanom ili priručnom pločici, ovaj klip može se izraditi kao prikladan za vas. Možete provjeriti ploču na djelu i podesiti prag komparatora odmah nakon sastavljanja, jednostavnim napajanjem, zahvaljujući LED-u na ploči. Drugi LED indikator svijetli neprekidno kada je napajanje uključeno. Zatim možete spojiti senzor na Arduino i testirati analogni izlaz pomoću ove skice:
// kopirajte ovaj kôd u ideju arduinoa iz ove linije
// napomena: - ovaj kod je za analognu vrijednost
int senzor = A0; // inicijalizacija analognog pina
int zvuk = 3; // inicijalizacija zujalice
int vrijednost;
poništavanje postave () {
Serijski počet (9600);
pinMode (senzor, ULAZ); // prihvaćanje vrste pin načina PIN-a kao ulaza ili izlaza
pinMode (zujanje, IZLAZ);
}
void petlja () {
vrijednost = analogRead (senzor); // čitanje valusa sa senzora
vrijednost = karta (vrijednost, 0.1023.0.255); // mapiranje vrijednosti od 0 do 1023 b / w 0 do 255
digitalWrite (zujanje, vrijednost); // uključivanje ili isključivanje zvučnika pomoću mapirane vrijednosti
}
I digitalno - s drugom skicom:
// kopirajte ovaj kôd u ideju arduinoa iz ove linije
// napomena: - ovaj kod je za digitalnu vrijednost
int sensor_digital = 2; // inicijalizacija digitalnog pina
int zvuk = 3;
int vrijednost;
poništavanje postave () {
Serijski počet (9600);
pinMode (senzor_digital, ULAZ);
pinMode (zujanje, IZLAZ);
}
void petlja () {
vrijednost = digitalno čitanje (sensor_digital); // čitanje digitalnog datuma sa senzora
digitalWrite (zujanje, vrijednost); // uključivanje ili isključivanje zvučnika
}
Kad sve uspije, možete pisati programe koji implementiraju algoritme veće složenosti. Na primjer, za robota koji se "boji" pristupiti plamenu ili snažnoj žarulji sa žarnom niti kako se ne bi pokvarili. I čini ispravne stvari, jer držanje senzorske ploče na izvorima jakog grijanja na udaljenosti manjoj od 100 mm može je oštetiti.