Az Instructables által az AdnanA61 becenév alatt javasolt érzékelő lehetővé teszi a rövidhullámú infravörös sugárzás észlelését olyan forrásokból, mint a távvezérlők, a tűz, az izzólámpák és a nap. Nem reagál az infravörös sugárzás másik formájára - a hosszú hullámra, amelynek minden forrása a normál hőmérsékletre felmelegített tárgy. Házitermékek Kétféle jelet állít elő: analóg és diszkrét, a második komparátor alkotja, amelynek küszöbértéke állítható. Mindkét jel mindkettőre alkalmazható Arduino, és más eszközökre mikrovezérlővel vagy anélkül. Az alábbiakban bemutatunk egy másik táblát, az áramkör nem különbözik egymástól:
Az érzékelőt az LM393 mikroáramkör két komparátorának egyikén készítik, a második pedig kívánt esetben egy másik probléma megoldására használható. Ha nem használja, akkor jobb, ha mindkét bemenetet közös vezetékkel köti össze, és hagyja a kimenetet csatlakoztatás nélkül.
A séma úgy van megtervezve, hogy az olvasása nem túl kényelmes. A három, A0 jelöléssel ellátott pontot össze kell kapcsolni. Két D0-vel jelölt pont is. Így világossá válik, hogy mihez kapcsolódik, és hogyan működik. Nincs találós kérdések. Ha az érzékelőt a tervezőtől összeállítja, akkor a készletben lévő fésű ábrája a következő:
Természetesen egy gyorsváltó táblán, nyomtatott vagy kenyérvágó táblán ezt a pinout kényelmesebbé teheti az Ön számára. Ellenőrizheti a tábla működését, és közvetlenül az összeszerelés után beállíthatja az összehasonlító küszöböt, egyszerűen az áramellátás révén, a fedélzeten lévő LED-nek köszönhetően. A második LED folyamatosan világít, ha a készülék be van kapcsolva. Ezután csatlakoztathatja az érzékelőt az Arduino-hoz és kipróbálhatja az analóg kimenetet ezzel a vázlattal:
// másolja át ezt a kódot az arduino idejében ebből a sorból
// megjegyzés: - ez a kód analóg értékre vonatkozik
int érzékelő = A0; // az analóg PIN-kód inicializálása
int zümmögés = 3; // hangjelző inicializálása
int érték;
érvénytelen beállítás () {
Serial.begin (9600);
pinMode (érzékelő, INPUT); // a csap pin módjának bemeneti vagy kimeneti formája
pinMode (csengő, OUTPUT);
}
void loop () {
érték = analogRead (érzékelő); // a vér leolvasása az érzékelőről
érték = térkép (érték, 0,1023,0255); // leképezi az értéket 0-tól 1023-ig b / w 0-tól 255-ig
digitalWrite (zümmögő, érték); // a hangjelző be- és kikapcsolása a leképezett érték alapján
}
És digitális - egy másik vázlattal:
// másolja át ezt a kódot az arduino idejében ebből a sorból
// megjegyzés: - ez a kód digitális értékre vonatkozik
int sensor_digital = 2; // a digitális tű inicializálása
int zümmögés = 3;
int érték;
érvénytelen beállítás () {
Serial.begin (9600);
pinMode (sensor_digital, INPUT);
pinMode (csengő, OUTPUT);
}
void loop () {
érték = digitalRead (sensor_digital); // a digitális adat olvasása az érzékelőről
digitalWrite (zümmögő, érték); // zümmögő be- és kikapcsolása
}
Amikor minden működik, akkor olyan programokat is írhat, amelyek nagyobb bonyolultságú algoritmusokat valósítanak meg. Például egy robotnak, aki „fél” megközelíteni lángot vagy erős izzólámpát, hogy ne rongálódjon le. És helyesen cselekszik, mivel az érzékelő kártyát erős hőforrásnak 100 mm-nél kisebb távolságra tartása károsíthatja.