Mit dem von Instructables unter dem Spitznamen AdnanA61 vorgeschlagenen Sensor können Sie kurzwellige Infrarotstrahlung von Quellen wie Fernbedienungen, Feuer, Glühlampen und der Sonne erfassen. Es reagiert nicht auf eine andere Form von Infrarotstrahlung - langwellige Strahlung, deren Quellen alle Objekte sind, die auf normale Temperaturen erhitzt werden. Hausgemacht erzeugt zwei Arten von Signalen: analog und diskret, die zweite wird von einem Komparator gebildet, dessen Schwelle einstellbar gemacht wird. Beide Signale können an beide angelegt werden Arduinound zu anderen Geräten mit oder ohne Mikrocontroller. Das Folgende ist ein anderes Platinendesign, die Schaltung ist nicht anders:
Der Sensor wird an einem der beiden Komparatoren der LM393-Mikroschaltung hergestellt, der zweite kann verwendet werden, um ein anderes Problem zu lösen, falls dies gewünscht wird. Wenn Sie es nicht verwenden, ist es besser, beide Eingänge mit einem gemeinsamen Kabel zu verbinden und den Ausgang nicht angeschlossen zu lassen.
Das Schema ist so konzipiert, dass das Lesen nicht sehr bequem ist. Die drei als A0 bezeichneten Punkte müssen miteinander verbunden werden. Zwei als D0 bezeichnete Punkte - ebenfalls. So wird klar, was damit verbunden ist und wie es funktioniert. Keine Rätsel. Wenn Sie den Sensor vom Konstrukteur zusammenbauen, lautet die Pinbelegung des Kamms auf der im Kit enthaltenen Platine wie folgt:
Natürlich kann diese Pinbelegung auf einem provisorischen Brett, einem bedruckten Brett oder einem Steckbrett so gestaltet werden, dass sie für Sie bequem ist. Sie können die Karte in Aktion überprüfen und die Komparatorschwelle unmittelbar nach dem Zusammenbau einstellen, indem Sie einfach Strom liefern, dank der LED an Bord. Die zweite LED leuchtet kontinuierlich, wenn die Stromversorgung eingeschaltet ist. Anschließend können Sie den Sensor an das Arduino anschließen und den Analogausgang mit dieser Skizze testen:
// Kopiere diesen Code in die Idee von Arduino aus dieser Zeile
// Hinweis: - Dieser Code ist für den Analogwert
int sensor = A0; // Initialisierung des analogen Pins
int Summer = 3; // Summerstift initialisieren
int value;
void setup () {
Serial.begin (9600);
PinMode (Sensor, INPUT); // den Pin-Modus-Typ des Pins als Eingang oder Ausgang bestimmen
pinMode (Summer, OUTPUT);
}}
void loop () {
value = analogRead (Sensor); // Lesen des Valus vom Sensor
Wert = Karte (Wert 0,1023,0,255); // Zuordnung des Wertes von 0 bis 1023 s / w 0 bis 255
digitalWrite (Summer, Wert); // Ein- oder Ausschalten des Summers durch den zugeordneten Wert
}}
Und digital - mit einer weiteren Skizze:
// Kopiere diesen Code in die Idee von Arduino aus dieser Zeile
// Hinweis: - Dieser Code ist für den digitalen Wert
int sensor_digital = 2; // Initialisierung des digitalen Pins
int Summer = 3;
int value;
void setup () {
Serial.begin (9600);
pinMode (sensor_digital, INPUT);
pinMode (Summer, OUTPUT);
}}
void loop () {
value = digitalRead (sensor_digital); // Lesen der digitalen Daten vom Sensor
digitalWrite (Summer, Wert); // Summer ein- oder ausschalten
}}
Wenn alles funktioniert, können Sie Programme schreiben, die komplexere Algorithmen implementieren. Zum Beispiel für einen Roboter, der „Angst“ hat, sich einer Flamme oder einer starken Glühlampe zu nähern, um sich nicht zu verschlechtern. Und er tut das Richtige, da das Halten der Sensorplatine an Quellen mit starker Erwärmung in einem Abstand von weniger als 100 mm sie beschädigen kann.