Sensors, ko Instructables piedāvā ar segvārdu AdnanA61, ļauj noteikt īsviļņu infrasarkano starojumu no avotiem, piemēram, tālvadības pultīm, uguns, kvēlspuldzēm un saules. Tas nereaģē uz citu infrasarkanā starojuma veidu - garo viļņu, kuru avoti ir visi objekti, kas sasildīti līdz parastajai temperatūrai. Pašdarināts rada divu veidu signālus: analogo un diskrēto, otro no tiem veido salīdzinātājs, kura slieksni padara regulējamu. Abus signālus var piemērot abiem Arduino, un citām ierīcēm ar vai bez mikrokontrollera. Šis ir vēl viens plates dizains, shēma nav atšķirīga:
Sensors ir izgatavots uz viena no diviem LM393 mikroshēmas salīdzinājumiem, otro var izmantot, ja vēlaties, citas problēmas risināšanai. Ja jūs to neizmantojat, labāk ir savienot abas tā ieejas ar kopēju vadu un atstāt izvadi nesaistītu.
Shēma ir izstrādāta tā, ka to lasīt nav īpaši ērti. Trīs punkti, kas apzīmēti kā A0, ir jāsavieno. Arī divi punkti, kas apzīmēti ar D0. Tātad kļūst skaidrs, kas ir saistīts un kā tas darbojas. Nav mīklu. Ja jūs montējat sensoru no projektētāja, ķemmes uzgalis uz tāfeles, kas iekļauts komplektā, būs šāds:
Protams, uz maiņas tāfeles, apdrukātas vai uz maizes dēļa šo pinu var padarīt jums ērtu. Pateicoties LED bortam, jūs varat pārbaudīt plati darbībā un pielāgot salīdzināšanas slieksni tūlīt pēc montāžas, vienkārši piegādājot enerģiju. Otrais LED indikators deg nepārtraukti, kad ir ieslēgts strāvas avots. Tad jūs varat savienot sensoru ar Arduino un pārbaudīt analogo izvadi ar šo skici:
// no šīs rindiņas nokopē šo kodu arduino ide
// piezīme: - šim kodam ir analogā vērtība
int sensors = A0; // analogās tapa inicializēšana
int skaņas signāls = 3; // inicializējošs zvana signāls
int vērtība;
Nederīga iestatīšana () {
Sērijas.begin (9600);
pinMode (sensors, INPUT); // pieņemot, ka pin kontakta veids ir ieeja vai izeja
pinMode (skaņas signāls, OUTPUT);
}
tukšs cilpa () {
value = analogRead (sensors); // sensora vērtības nolasīšana
vērtība = karte (vērtība, 0,1023,0,255); // vērtības kartēšana no 0 līdz 1023 b / w 0 līdz 255
digitalWrite (skaņas signāls, vērtība); // signāla ieslēgšana vai izslēgšana pēc kartētās vērtības
}
Un digitālais - ar citu skici:
// no šīs rindiņas nokopē šo kodu arduino ide
// piezīme: - šis kods ir paredzēts digitālai vērtībai
int sensors_digital = 2; // digitālā konta inicializēšana
int skaņas signāls = 3;
int vērtība;
Nederīga iestatīšana () {
Sērijas.begin (9600);
pinMode (sensora_digitāls, INPUT);
pinMode (skaņas signāls, OUTPUT);
}
tukšs cilpa () {
vērtība = digitalRead (sensora_digitāls); // nolasot digitālo datni no sensora
digitalWrite (skaņas signāls, vērtība); // signāla ieslēgšana vai izslēgšana
}
Kad viss darbojas, varat rakstīt programmas, kas ievieš sarežģītākus algoritmus. Piemēram, robotam, kas “baidās” tuvoties liesmai vai jaudīgai kvēlspuldzei, lai nepasliktinātos. Un viņš rīkojas pareizi, jo, turot sensora plati spēcīgas sildīšanas avotu attālumā, kas mazāks par 100 mm, to var sabojāt.