» trådar » tips »IR-sensor för Arduino och mer

IR-sensor för Arduino och inte bara



Sensorn, som föreslagits av Instructables under smeknamnet AdnanA61, låter dig upptäcka kortvågs infraröd strålning från källor som fjärrkontroller, eld, glödlampor och solen. Den svarar inte på någon annan form av infraröd strålning - långvåg, vars källor alla är föremål uppvärmda till vanliga temperaturer. hemgjorda produkt producerar två typer av signaler: analog och diskret, den andra av dem bildas av en komparator, vars tröskel görs justerbar. Båda signalerna kan appliceras båda på Arduino, och till andra enheter med eller utan mikrokontroller. Följande är en annan kortdesign, kretsen är inte annorlunda:

IR-sensor för Arduino och inte bara


Sensorn är tillverkad på en av de två komparatorerna i LM393-mikrokretsen, den andra kan användas för att lösa ett annat problem om så önskas. Om du inte använder den är det bättre att ansluta båda ingångarna till en gemensam tråd och lämna utgången utan anslutning.



Schemat är utformat så att läsning av det inte är särskilt bekvämt. De tre punkterna som anges som A0 måste vara anslutna tillsammans. Två poäng betecknade D0 - också. Så det blir tydligt vad som är kopplat till och hur det fungerar. Inga gåtor. Om du monterar sensorn från konstruktören kommer kammen på brädet som ingår i satsen att vara följande:



Naturligtvis, på ett provisoriskt bräde, tryckt eller brödskiva, kan denna utspänning göras så att den är bekväm för dig. Du kan kontrollera kortet i aktion och justera komparatorns tröskel omedelbart efter montering, helt enkelt genom att tillhandahålla ström, tack vare lysdioden ombord. Den andra lysdioden tänds kontinuerligt när strömmen är på. Sedan kan du ansluta sensorn till Arduino och testa den analoga utgången med denna skiss:

// kopiera den här koden i ide of arduino från den här raden

// note: - den här koden är för analogt värde

int-sensor = A0; // initialisera den analoga stiftet

int summer = 3; // initiera summerstiftet

int-värde;

ogiltig installation () {

Serial.begin (9600);

pinMode (sensor, INPUT); // fastställa stiftets typ av stift som ingång eller utgång

pinMode (summer, OUTPUT);

}

void loop () {

värde = analogRead (sensor); // läsa valus från sensorn

värde = karta (värde, 0,1023,0255); // kartlägga värdet från 0 till 1023 b / w 0 till 255

digitalWrite (summer, värde); // slå på eller stänga av summern med det mappade värdet

}


Och digitalt - med en annan skiss:

// kopiera den här koden i ide of arduino från den här raden

// Obs: - den här koden är för digitalt värde

int sensor_digital = 2; // initiera den digitala stiftet

int summer = 3;

int-värde;

ogiltig installation () {

Serial.begin (9600);

pinMode (sensor_digital, INPUT);

pinMode (summer, OUTPUT);

}

void loop () {

värde = digitalRead (sensor_digital); // läsa den digitala datan från sensorn

digitalWrite (summer, värde); // slå på eller stänga av summern

}


När allt fungerar kan du skriva program som implementerar algoritmer med större komplexitet. Till exempel för en robot som är "rädd" för att närma sig en låga eller en kraftfull glödlampa för att inte försämras. Och han gör rätt sak, eftersom det kan skada det att hålla sensorkortet vid källor för stark uppvärmning på mindre än 100 mm.

Lämplig för ämne

Relaterade ämnen

Lägg till en kommentar

    • lelerxaxaOKdontknowyahoonea
      bossscratchluraJaja-jaaggressivhemlighet
      ledsendansdance2dance3benådningHjälpdrycker
      stoppvännerbragoodgoodvisselpipasvimningsanfalltunga
      rökklapparcraydeclarehånfulldon-t_mentionnedladdning
      hettaRASANDElaugh1mdamötemoskingnegativ
      not_ipopcornstraffalässkrämmalarmrapportersök
      hånthank_youdettato_clueumnikakutöverens
      illabeeeblack_eyeblum3rougeskrytaledan
      censureradepleasantrysecret2hotasegeryusun_bespectacled
      shokrespektlolprevedvälkommenkrutoyya_za
      ya_dobryihjälparene_huliganne_othodiFLUDförbudstänga

Vi rekommenderar att du läser:

Räcka den till smarttelefonen ...