Sensoren, der er foreslået af Instructables under kaldenavnet AdnanA61, giver dig mulighed for at registrere kortbølget infrarød stråling fra kilder som fjernbetjeninger, brand, glødelamper og solen. Det reagerer ikke på en anden form for infrarød stråling - langbølge, hvis kilder alle er genstande, der opvarmes til almindelige temperaturer. hjemmelavet produkt producerer to typer signaler: analog og diskret, den anden af dem er dannet af en komparator, hvis tærskel gøres justerbar. Begge signaler kan bruges begge til Arduino, og til andre enheder med eller uden en mikrokontroller. Følgende er et andet kortdesign, kredsløbet er ikke anderledes:
Sensoren er lavet på en af de to komparatorer i LM393 mikrokredsløb, den anden kan bruges til at løse et andet problem, hvis det ønskes. Hvis du ikke bruger det, er det bedre at forbinde begge indgange med en fælles ledning og lade udgangen være uden forbindelse.
Skemaet er designet så det ikke er meget praktisk at læse det. De tre punkter, der er betegnet som A0, skal forbindes sammen. To punkter udpeget som D0 - også. Så det bliver klart, hvad der er forbundet med, og hvordan det fungerer. Ingen gåder. Hvis du samler sensoren fra designeren, vil pinout af kammen på brættet, der er inkluderet i sættet, være som følger:
På en provisorisk plade, trykt eller brødbræt kan denne pinout naturligvis gøres til at være praktisk for dig. Du kan kontrollere brættet i aktion og justere komparatorens tærskel umiddelbart efter montering, simpelthen ved at levere strøm takket være LED ombord. Den anden LED lyser konstant, når strømmen er tændt. Derefter kan du forbinde sensoren til Arduino og teste den analoge udgang med denne skitse:
// kopier denne kode i ideen fra arduino fra denne linje
// note: - denne kode er til analog værdi
int-sensor = A0; // initialisering af den analoge pin
int summer = 3; // initialisering af summer-pin
int-værdi;
ugyldig opsætning () {
Serial.begin (9600);
pinMode (sensor, INPUT); // vurdering af pin-tilstandstypen for pin som input eller output
pinMode (summer, OUTPUT);
}
void loop () {
værdi = analog læse (sensor); // læsning af valus fra sensoren
værdi = kort (værdi, 0,1023,0255); // kortlægning af værdien fra 0 til 1023 b / w 0 til 255
digitalWrite (summer, værdi); // tænde eller slukke summeren med den kortlagte værdi
}
Og digital - med en anden skitse:
// kopier denne kode i ideen fra arduino fra denne linje
// note: - denne kode er til digital værdi
int sensor_digital = 2; // initialisering af den digitale pin
int summer = 3;
int-værdi;
ugyldig opsætning () {
Serial.begin (9600);
pinMode (sensor_digital, INPUT);
pinMode (summer, OUTPUT);
}
void loop () {
værdi = digitalRead (sensor_digital); // læse den digitale dat fra sensoren
digitalWrite (summer, værdi); // tænde eller slukke summer
}
Når alt fungerer, kan du skrive programmer, der implementerer algoritmer med større kompleksitet. For eksempel for en robot "bange" for at nærme sig en flamme eller en kraftig glødelampe for ikke at forringes. Og han gør det rigtige, da det kan deaktivere at holde sensorpladen ved kilder til stærk opvarmning i en afstand på mindre end 100 mm.