Optiska sensorer. Fotoresistorer i MK-kretsar. Hur man använder fotoresistorer, fotodioder och fototransistorer Gatubelysning fotoresistor på Arduino

  1. Fotoresist: http://ali.ski/5GDvP7
  2. Dioder och motstånd: http://fas.st/KK7DwjyF
  3. Utvecklingstavla: http://ali.ski/rq8wz8
  4. Arduino uno: http://ali.ski/gC_mOa

I denna handledning kommer vi att ansluta ett fotomotstånd till Arduino. som kommer att styra den inbyggda lysdioden.

Fotoresistor: Motståndet hos fotoresistorer minskar när de utsätts för ljus och ökar i mörker. Fotoresistorer är lätta att använda, men reagerar ganska långsamt på förändringar i ljusnivåer och har en mycket låg verkningsgrad. noggrannhet. Vanligtvis kan motståndet hos fotoresistorer variera från 50 ohm i dagsljus till mer än 10 megaohm i mörker.

Vi kommer att ansluta själva fotomotståndet till jord genom ett 10 kOhm motstånd och vi kommer att ansluta samma ben till Arduino analoga stift A0, det andra benet på fotomotståndet kommer att kopplas till 5 volt Arduino. Allt detta visas tydligt i diagrammet i början av artikeln.

Efter att ha anslutit fotomotståndet korrekt till Arduino, måste du kopiera koden nedan, klistra in den i Arduino ide-programmet och ladda all denna programkod i Arduino.

Int PhotosensorPin = A0; //Ange stiftet till vilket fotoresistorn är ansluten osignerad int sensorValue = 0; //Deklarera en variabel för att lagra värden. void setup() ( pinMode(13, OUTPUT); Serial.begin(9600); ) void loop() ( sensorValue = analogRead(PhotosensorPin); // Läs värden från fotoresistorn if(sensorValue<700) digitalWrite(13, HIGH); //Включаем else digitalWrite(13, LOW); // Выключаем Serial.print(sensorValue, DEC); //Вывод данных с фоторезистора (0-1024) Serial.println(""); delay(500); }

Efter att ha laddat in programkoden i Arduino måste du öppna portmonitorn.

Nu, om ljus faller på fotomotståndet och den inbyggda lysdioden släcks, täck över fotomotståndet med handen och du kommer att se att vid någon tidpunkt tänds lysdioden! Du kan också se förändringar i värdet från fotomotståndet i portmonitorn.

En demonstration av hur fotoresistorn fungerar kan ses i videon nedan.

Video:

En ljussensor är en enhet som gör att vår enhet kan utvärdera ljusnivån. Varför behövs en sådan sensor? Till exempel för att ett gatubelysningssystem ska tända lamporna endast när natten faller på staden. En annan tillämpning av ljussensorer är att upptäcka hinder för en robot som färdas genom en labyrint. Eller linjedetektering av en robotspårare (LineFollower). Men i dessa två fall används en speciell ljuskälla i samband med en ljussensor. Vi börjar med ett enkelt exempel och kopplar en av de vanligaste sensorerna - en fotoresistor - till Arduino Uno-mikrokontrollern. Som namnet antyder är en fotoresistor ett motstånd som ändrar sitt motstånd beroende på ljuset som faller på det. Detta radioelement ser ut så här: Fotoresistorer skiljer sig i motståndsområde. Till exempel:

  • VT83N1 - 12-100 kOhm;
  • VT93N2 - 48-500 kOhm.
Det betyder att i mörker är fotoresistorns resistans 12 kOhm och under en viss testbelysning är den 100 kOhm. Specifikt när det gäller dessa lysdioder hade testbelysningen följande parametrar: belysning -10 Lux och färgvärme - 2856K. Förutom fotoresistorn använder ljussensorer ofta en fotodiod och en fototransistor. Båda ser ut som typiska lysdioder:

1. Anslutning

För att kunna ansluta vår fotoresistor till Arduino Uno måste du komma ihåg. När allt kommer omkring, vid utgången av fotoresistorkretsen kommer vi att få en viss spänning, i intervallet från 0 till 5 volt, som vi kommer att behöva förvandla till ett mycket specifikt nummer som mikrokontrollerprogrammet redan kommer att fungera med. Med tanke på att Arduino Uno har 6 analoga ingångar på benen A0-A5, ansluter vi fotomotståndet enligt följande diagram:

Layout utseende


Titta vad som hände. Vi byggde helt enkelt en vanlig spänningsdelare, vars överarm kommer att ändras beroende på nivån av ljus som faller in på fotoresistorn. Vi applicerar spänningen från undersidan till den analoga ingången, som omvandlar den till ett tal från 0 till 1024.

2. Program

Efter att ha anslutit fotoresistorn enligt en enkel krets börjar vi skriva ett program. Det första vi kommer att göra är att mata ut råsignalen från den analoga ingången till serieporten, för att helt enkelt förstå hur värdet på A0-ingången ändras. Motsvarande program ser ut som: const int pinPhoto = A0; int rå = 0; void setup() ( Serial.begin(9600); pinMode(pinPhoto, INPUT); ) void loop() ( raw = analogRead(pinPhoto); Serial.println(raw); delay(200); ) Kör det här programmet med oss i hackspace fick vi följande värden från sensorn:
Låt oss nu täcka sensorn med vår hand:
Det kan ses att värdet förändras mycket. Från 830 vid direkt ljus, upp till 500 vid skuggning (uppkomsten av ett hinder i ljusets väg). Genom att känna till detta beteende kan vi numeriskt bestämma utlösningströskeln. Låt det vara lika med, säg, 600. Inte precis 500, för vi vill skydda oss från oavsiktlig aktivering. Plötsligt flyger en fluga över sensorn - den kommer att vara lätt skuggad och visa 530. Slutligen kommer vi att lägga till en åtgärd i programmet som kommer att utföras om ljusnivån faller under en given tröskel. Det enklaste vi kan göra är att tända standard LED #13 på Arduino. Resultatet är ett program som detta: const int pinPhoto = A0; const int led = 13; int raw = 0; void setup() ( pinMode(pinPhoto, INPUT); pinMode(led, OUTPUT); ) void loop() ( raw = analogRead(pinPhoto); if(rå< 600) digitalWrite(led, HIGH); else digitalWrite(led, LOW); delay(200); } Накрываем датчик рукой (или выключаем свет в комнате) — светодиод зажигается. Убираем руку — гаснет. Работает, однако. А теперь представьте, что вы зажигаете не светодиод, а подаете сигнал на реле, которое включает лампу в подъезде вашего дома. Получаеся готовый прибор для экономии электроэнергии. Или ставите такой датчик на робота, и он при наступлении ночи ложится спать вместе с вами 🙂 В общем, как говорил профессор Фарнсворт, у датчика света тысяча и одно применение!

Automatisering av belysningsförsörjning i en lägenhet, hus eller gata uppnås genom användning av fotoreläer. Om den är korrekt konfigurerad kommer den att tända ljuset när det blir mörkt och släckas under dagtid. Moderna enheter innehåller en inställning som låter dig ställa in triggern beroende på ljusnivån. De är en integrerad del av "smarta hem"-systemet och tar på sig en betydande del av ägarnas ansvar. Fotoreläkretsen innehåller först och främst ett motstånd som ändrar motståndet under påverkan av ljus. Det är lätt att montera och konfigurera med dina egna händer.

Funktionsprincip

Anslutningsschemat för ett fotorelä inkluderar en sensor, en förstärkare och en fotoledare PR1 ändrar motstånd under påverkan av ljus. Samtidigt ändras storleken på den elektriska ström som passerar genom den. Signalen förstärks av en sammansatt transistor VT1, VT2 (Darlington-krets), och går från den till ställdonet, som är K1.

I mörker är fotosensorns resistans flera mOhm. Under påverkan av ljus minskar den till flera kOhm. I det här fallet öppnar transistorerna VT1, VT2 och slår på reläet K1, som styr belastningskretsen genom kontakt K1.1. Diod VD1 tillåter inte självinduktionsström att passera när reläet är avstängt.

Trots sin enkelhet är fotoreläkretsen mycket känslig. För att ställa in den på önskad nivå används motstånd R1.

Matningsspänningen väljs enligt reläparametrarna och är 5-15 V. Lindningsströmmen överstiger inte 50 mA. Om det är nödvändigt att öka det kan kraftfullare transistorer och reläer användas. Fotoreläets känslighet ökar med ökande matningsspänning.

Istället för ett fotomotstånd kan du installera en fotodiod. Om en sensor med ökad känslighet behövs används kretsar med fototransistorer. Deras användning är tillrådlig för att spara elektricitet, eftersom den lägsta svarsgränsen för en konventionell enhet är 5 lux, när omgivande föremål fortfarande är urskiljbara. Tröskeln på 2 lux motsvarar djup skymning, varefter mörkret sätter in 10 minuter senare.

Det är tillrådligt att använda ett fotorelä även med manuell ljusstyrning, eftersom du kan glömma att stänga av ljuset, och sensorn kommer att "ta hand om" detta på egen hand. Det är lätt att installera och priset är ganska överkomligt.

Egenskaper för fotoceller

Valet av fotorelä bestäms av följande faktorer:

  • fotocellkänslighet;
  • matningsspänning;
  • strömbrytare;
  • yttre miljön.

Känslighet karakteriseras som förhållandet mellan den resulterande fotoströmmen och det externa ljusflödet och mäts i μA/lm. Det beror på frekvens (spektral) och ljusintensitet (integral). För att styra belysningen i vardagen är den sista egenskapen viktig, beroende på det totala ljusflödet.

Märkspänningen finns på enhetens kropp eller i det medföljande dokumentet. Utländska enheter kan ha olika matningsspänningsstandarder.

Belastningen på dess kontakter beror på effekten av lamporna som fotoreläet är anslutet till. Belysningsfotoreläkretsar kan ge direkt omkoppling av lampor genom sensorkontakter eller genom startanordningar när belastningen är hög.

Utomhus placeras skymningsbrytaren under ett förseglat transparent lock. Det ger skydd mot fukt och nederbörd. Vid arbete i kalla perioder används värme.

Fabrikstillverkade modeller

Tidigare monterades fotoreläkretsen för hand. Nu är detta inte nödvändigt, eftersom enheterna har blivit billigare och funktionaliteten har utökats. De används inte bara för extern eller intern belysning, utan också för att kontrollera växtvattning, ventilationssystem etc.

1. Fotorelä FR-2

Fabrikstillverkade modeller används ofta i automationsanordningar, till exempel för att styra gatubelysning. Du kan ofta se lampor brinna under dagen som du glömt att släcka. Med fotosensorer behövs ingen manuell ljusstyrning.

Den industriellt tillverkade fotoreläkretsen fr-2 används för automatisk styrning av gatubelysning. Relä K1 är också här. FSK-G1 fotomotstånd med motstånd R4 och R5 är anslutna till basen av transistor VT1.

Strömförsörjning sker från ett enfasnät på 220 V. När belysningen är låg är motståndet hos FSK-G1 stort och signalen baserad på VT1 räcker inte för att öppna den. Följaktligen är transistorn VT2 också stängd. Relä K1 är spänningssatt och dess manöverkontakter är slutna, så att lamporna hålls tända.

När belysningen ökar till drifttröskeln minskar fotoresistorns resistans och öppnas, varefter reläet K1 stängs av och öppnar strömförsörjningskretsen för lamporna.

2. Typer av fotorelä

Valet av modeller är tillräckligt stort så att du kan välja rätt:

  • med en fjärrsensor placerad utanför produktkroppen, till vilken 2 ledningar är anslutna;
  • Lux 2 - en enhet med hög tillförlitlighet och kvalitetsnivå;
  • fotorelä med 12 V strömförsörjning och belastning inte högre;
  • modul med en timer monterad på en DIN-skena;
  • IEC-enheter från en inhemsk tillverkare med hög kvalitet och funktionalitet;
  • AZ 112 - automatisk maskin med hög känslighet;
  • ABB, LPX är pålitliga tillverkare av europeiska kvalitetsenheter.

Metoder för att ansluta ett fotorelä

Innan du köper en sensor måste du beräkna den effekt som förbrukas av lamporna och ta den med en marginal på 20%. Med en betydande belastning tillhandahåller kretsen för ett gatufotorelä ytterligare installation av en elektromagnetisk startmotor, vars lindning måste slås på genom fotoreläets kontakter och byta belastningen med kraftkontakter.

Denna metod används sällan hemma.

Före installation kontrolleras matningsspänningen ~220 V. Anslutningen görs från en strömbrytare. Fotosensorn är installerad på ett sådant sätt att ljuset från ficklampan inte faller på den.

Enheten använder terminaler för att ansluta ledningar, vilket gör installationen enklare. Om de saknas används en kopplingsdosa.

Tack vare användningen av mikroprocessorer har anslutningsschemat för fotoreläet med andra element fått nya funktioner. En timer och en rörelsesensor lades till åtgärdsalgoritmen.

Det är bekvämt när lamporna tänds automatiskt när en person passerar längs en avsats eller längs en trädgårdsgång. Dessutom sker operation endast i mörker. På grund av användningen av en timer reagerar fotoreläet inte på strålkastare från förbipasserande bilar.

Det enklaste anslutningsschemat för en timer med rörelsesensor är seriellt. För dyra modeller har speciella programmerbara kretsar utvecklats som tar hänsyn till olika driftsförhållanden.

Fotorelä för gatubelysning

För att ansluta fotoreläet appliceras kretsen på sin kropp. Det finns i dokumentationen för enheten.

Tre ledningar kommer ut ur enheten.

  1. Neutral ledare - gemensam för lampor och fotoreläer (röd).
  2. Fas - ansluten till enhetens ingång (brun).
  3. Potentiell ledare för att mata spänning från fotoreläet till lamporna (blå).

Enheten fungerar enligt principen om fasavbrott eller fasomkoppling. Färgmarkeringarna kan variera från tillverkare till tillverkare. Om det finns en jordledare i nätverket är den inte ansluten till enheten.

I modeller med en inbyggd sensor, som är placerad inuti ett transparent hölje, fungerar gatubelysningen autonomt. Du behöver bara förse den med ström.

Alternativ med fjärrsensorer används i de fall där det elektroniska innehållet i fotoreläet bekvämt placeras i kontrollpanelen med andra enheter. Då behövs ingen fristående installation, strömledningar och underhåll på höjden. Den elektroniska enheten placeras inomhus och sensorn tas ut.

Funktioner för fotorelä för gatubelysning: diagram

När du installerar ett fotorelä utomhus måste du ta hänsyn till några faktorer.

  1. Tillgång till matningsspänning och matchande effekt av kontakter och last.
  2. Installation av enheter nära brandfarliga material och i en aggressiv miljö är inte tillåten.
  3. Enhetens bas är placerad längst ner.
  4. Det får inte finnas några rörliga föremål framför sensorn, såsom trädgrenar.

Ledningarna är anslutna genom en kopplingsdosa utomhus. Den sitter fast bredvid fotoreläet.

Välja ett fotorelä

  1. Möjligheten att justera responströskeln gör att du kan justera sensorns känslighet beroende på årstid eller i molnigt väder. Resultatet är energibesparingar.
  2. Ett minimum av arbetskostnader krävs vid installation av ett fotorelä med ett inbyggt känsligt element. Detta kräver inga speciella färdigheter.
  3. Timerreläet är väl programmerbart för dess behov och drift i inställt läge. Du kan ställa in enheten så att den stängs av på natten. Indikering på enhetens kropp och tryckknappskontroll gör inställningarna enkla.

Slutsats

Användningen av ett fotorelä gör att du automatiskt kan kontrollera hur länge lampan tänds. Nu finns det inte längre något behov av att bli en lamptändare. Fotoreläkretsen, utan mänsklig inblandning, tänder belysningen på gatorna på kvällarna och släcker dem på morgonen. Enheterna kan styra belysningssystemet, vilket ökar dess resurser och gör driften enklare.

Ljussensorer (belysning), byggda på basis av fotoresistorer, används ganska ofta i riktiga Arduino-projekt. De är relativt enkla, inte dyra och lätta att hitta och köpa i vilken nätbutik som helst. Arduino-fotoresistorn låter dig kontrollera ljusnivån och svara på dess förändringar. I den här artikeln kommer vi att titta på vad en fotoresistor är, hur en ljussensor baserad på den fungerar och hur man korrekt ansluter sensorn till Arduino-kort.

En fotoresistor, som namnet antyder, är direkt relaterad till motstånd, som ofta finns i nästan alla elektroniska kretsar. Det huvudsakliga kännetecknet för ett konventionellt motstånd är värdet på dess motstånd. Spänning och ström beror på det; med hjälp av ett motstånd ställer vi in ​​de nödvändiga driftslägena för andra komponenter. Som regel förändras resistansvärdet för ett motstånd praktiskt taget inte under samma driftsförhållanden.

Till skillnad från ett konventionellt motstånd, fotoresistor kan ändra sitt motstånd beroende på nivån av omgivande ljus. Detta innebär att parametrarna i den elektroniska kretsen ständigt kommer att förändras; först och främst är vi intresserade av att spänningen faller över fotomotståndet. Genom att registrera dessa spänningsförändringar på de analoga stiften på Arduino kan vi ändra kretsens logik och därigenom skapa enheter som anpassar sig till yttre förhållanden.

Fotoresistorer används ganska aktivt i en mängd olika system. Den vanligaste applikationen är gatubelysning. Om natten faller på staden eller det blir molnigt tänds lamporna automatiskt. Du kan göra en ekonomisk glödlampa för hemmet från en fotoresistor som tänds inte enligt ett schema, utan beroende på belysningen. Du kan till och med göra ett säkerhetssystem baserat på en ljussensor, som utlöses direkt efter att ett stängt skåp eller kassaskåp har öppnats och belysts. Som alltid begränsas tillämpningsområdet för alla Arduino-sensorer endast av vår fantasi.

Vilka fotoresistorer kan köpas i onlinebutiker

Det mest populära och prisvärda sensoralternativet på marknaden är massproducerade modeller från kinesiska företag, kloner av produkter från tillverkaren VT. Det är inte alltid möjligt att ta reda på vem och vad exakt den eller den leverantören producerar, men för att komma igång med fotoresistorer är det enklaste alternativet ganska lämpligt.

En nybörjare av Arduino kan rekommenderas att köpa en färdig fotomodul som ser ut så här:


Denna modul har redan alla nödvändiga element för att enkelt kunna ansluta ett fotomotstånd till Arduino-kortet. Vissa moduler implementerar en komparatorkrets och tillhandahåller en digital utgång och ett trimmotstånd för styrning.

En rysk radioamatör kan rekommenderas att vända sig till den ryska PA-sensorn. Tillgängliga på rea är FR1-3, FR1-4, etc. - producerades redan i sovjettiden. Men trots detta är FR1-3 en mer exakt detalj. Av detta följer skillnaden i pris. För FR begär de inte mer än 400 rubel. FR1-3 kommer att kosta mer än tusen rubel per styck.

Fotoresistormärkning

Modern märkning av modeller producerade i Ryssland är ganska enkel. De två första bokstäverna är PhotoResistor, siffrorna efter bindestrecket anger framkallningsnumret. FR -765 - fotoresistor, framkallning 765. Vanligtvis märkt direkt på delens kropp

VT-sensorn har ett motståndsområde som anges i märkningsdiagrammet. Till exempel:

  • VT83N1 - 12-100kOhm (12K – upplyst, 100K – i mörker)
  • VT93N2 - 48-500kOhm (48K – upplyst, 100K – i mörker).

Ibland, för att förtydliga information om modeller, tillhandahåller säljaren ett speciellt dokument från tillverkaren. Förutom driftsparametrarna indikeras även delens noggrannhet där. Alla modeller har ett känslighetsområde i den synliga delen av spektrumet. Samlar ljussensor Du måste förstå att driftens noggrannhet är ett relativt begrepp. Även för modeller från samma tillverkare, samma parti eller samma köp kan det skilja sig med 50 % eller mer.

På fabriken är delarna avstämda till våglängder som sträcker sig från rött till grönt ljus. De flesta människor "ser" också infraröd strålning. Särskilt exakta delar kan till och med upptäcka ultraviolett ljus.

Fördelar och nackdelar med sensorn

Den största nackdelen med fotoresistorer är spektrumkänslighet. Beroende på typen av infallande ljus kan motståndet variera med flera storleksordningar. Nackdelarna inkluderar också den låga reaktionshastigheten på förändringar i belysningen. Om lampan blinkar hinner inte sensorn reagera. Om ändringsfrekvensen är ganska hög kommer motståndet i allmänhet att sluta "se" att belysningen förändras.

Fördelarna är enkelhet och tillgänglighet. Direkt förändring i motstånd beroende på ljuset som faller på det gör att du kan förenkla den elektriska anslutningskretsen. Själva fotomotståndet är väldigt billigt, det ingår i många Arduino-kit och konstruktörer, och är därför tillgängligt för nästan alla nybörjare Arduino-tillverkare.

Ansluter ett fotomotstånd till Arduino

I projekt arduino Fotoresistorn används som ljussensor. Genom att ta emot information från den kan kortet slå på eller av reläer, starta motorer och skicka meddelanden. Naturligtvis måste vi ansluta sensorn korrekt.

Anslutningsschemat för ljussensorn till Arduino är ganska enkelt. Om vi ​​använder en fotoresistor, är sensorn i anslutningsdiagrammet implementerad som en spänningsdelare. En arm ändras beroende på belysningsnivån, den andra ger spänning till den analoga ingången. I styrchippet omvandlas denna spänning till digital data via en ADC. Därför att När sensorns motstånd minskar när ljus träffar den, kommer även värdet på spänningen som faller över den att minska.

Beroende på vilken arm av delaren vi placerade fotomotståndet i, kommer antingen ökad eller minskad spänning att matas till den analoga ingången. Om ett ben på fotomotståndet är anslutet till jord, kommer det maximala spänningsvärdet att motsvara mörker (motståndets resistans är maximal, nästan all spänning faller över den), och minimivärdet kommer att motsvara bra belysning (motståndet är nära noll, spänningen är minimal). Om vi ​​kopplar fotomotståndsarmen till strömförsörjningen blir beteendet det motsatta.

Att installera själva brädan bör inte orsaka några svårigheter. Eftersom fotoresistorn inte har någon polaritet kan den anslutas från båda sidor, den kan lödas till kortet, kopplas ihop med ledningar med hjälp av ett kretskort eller användas med vanliga clips (krokodilklämmor) för anslutning. Strömkällan i kretsen är Arduino själv. Fotomotstånd ett ben är anslutet till marken, det andra är anslutet till ADC-kortet (i vårt exempel - AO). Vi ansluter ett 10 kOhm motstånd till samma ben. Naturligtvis kan du ansluta en fotoresistor inte bara till det analoga stiftet A0, utan också till vilket annat.

Några ord om det extra 10 K-motståndet Den har två funktioner i vår krets: att begränsa strömmen i kretsen och generera den erforderliga spänningen i kretsen med en delare. Strömbegränsning är nödvändig i en situation där en fullt upplyst fotoresistor kraftigt minskar dess motstånd. Och spänningsgenerering är för förutsägbara värden på den analoga porten. Faktum är att för normal drift med våra fotoresistorer räcker ett motstånd på 1K.

Genom att ändra resistorvärdet kan vi "skifta" känslighetsnivån till de "mörka" och "ljusa" sidorna. Så, 10 K kommer att ge en snabb växling av ljusets början. I fallet med 1K kommer ljussensorn mer exakt att upptäcka höga ljusnivåer.

Om du använder en färdig ljussensormodul blir anslutningen ännu enklare. Vi ansluter VCC-modulens utgång till 5V-kontakten på kortet, GND till jord. Vi ansluter de återstående stiften till Arduino-kontakterna.

Om kortet har en digital utgång skickar vi den till digitala stift. Om det är analogt, gå till analogt. I det första fallet kommer vi att få en triggersignal - belysningsnivån har överskridits (triggertröskeln kan justeras med hjälp av ett justeringsmotstånd). Från de analoga stiften kommer vi att kunna erhålla ett spänningsvärde som är proportionellt mot den faktiska belysningsnivån.

En exempelskiss av en ljussensor på en fotoresistor

Vi kopplade kretsen med fotoresistorn till Arduino och såg till att allt gjordes korrekt. Nu återstår bara att programmera regulatorn.

Att skriva en skiss för en ljussensor är ganska enkelt. Vi behöver bara ta bort det aktuella spänningsvärdet från det analoga stiftet som sensorn är ansluten till. Detta görs med funktionen analogRead() som vi alla känner till. Vi kan sedan utföra några åtgärder beroende på ljusnivån.

Låt oss skriva en skiss för en ljussensor som slår på eller av en lysdiod ansluten enligt följande krets.

Driftalgoritmen är som följer:

  • Bestäm signalnivån från det analoga stiftet.
  • Vi jämför nivån med tröskelvärdet. Det maximala värdet kommer att motsvara mörker, det lägsta värdet kommer att motsvara maximal belysning. Låt oss välja ett tröskelvärde lika med 300.
  • Om nivån är lägre än tröskeln är det mörkt, du måste slå på lysdioden.
  • Annars, stäng av lysdioden.
#define PIN_LED 13 #define PIN_PHOTO_SENSOR A0 void setup() ( Serial.begin(9600); pinMode(PIN_LED, OUTPUT); ) void loop() ( int val = analogRead(PIN_PHOTO_SENSOR); Serial.println(val); if ( val< 300) { digitalWrite(PIN_LED, LOW); } else { digitalWrite(PIN_LED, HIGH); } }

Genom att täcka över fotomotståndet (med händerna eller ett ljussäkert föremål) kan vi se att lysdioden tänds och släcks. Genom att ändra tröskelparametern i koden kan vi tvinga glödlampan att tändas/släckas vid olika ljusnivåer.

När du installerar, försök att placera fotomotståndet och lysdioden så långt ifrån varandra som möjligt så att mindre ljus från den ljusa lysdioden faller på ljussensorn.

Ljussensor och mjuk förändring av bakgrundsbelysningens ljusstyrka

Du kan modifiera projektet så att ljusstyrkan på lysdioden ändras beroende på belysningsnivån. Vi kommer att lägga till följande ändringar i algoritmen:

  • Vi kommer att ändra ljusstyrkan på glödlampan via PWM och skicka värden från 0 till 255 till stiftet med lysdioden med analogWrite().
  • För att konvertera det digitala värdet för ljusnivån från ljussensorn (från 0 till 1023) till PWM-området för LED-ljusstyrka (från 0 till 255), kommer vi att använda map()-funktionen.

Skissexempel:

#define PIN_LED 10 #define PIN_PHOTO_SENSOR A0 void setup() ( Serial.begin(9600); pinMode(PIN_LED, OUTPUT); ) void loop() ( int val = analogRead(PIN_PHOTO_SENSOR); Serial.println(val); int ledPower = map(val, 0, 1023, 0, 255); // Konvertera det resulterande värdet till PWM-signalnivån. Ju lägre belysningsvärde, desto mindre ström måste vi leverera till lysdioden via PWM. analogWrite(PIN_LED, ledPower) ; // Ändra ljusstyrka)

I fallet med en annan anslutningsmetod, där signalen från den analoga porten är proportionell mot graden av belysning, måste du dessutom "vända" värdet genom att subtrahera det från maximum:

Int val = 1023 – analogRead(PIN_PHOTO_RESISTOR);

Ljussensorkrets med fotoresistor och relä

Exempel på skisser för att arbeta med reläer ges i artikeln om programmering av reläer i Arduino. I det här fallet behöver vi inte göra komplexa rörelser: efter att ha bestämt "mörkret" slår vi helt enkelt på reläet och applicerar motsvarande värde på dess stift.

#define PIN_RELAY 10 #define PIN_PHOTO_SENSOR A0 void setup() ( pinMode(PIN_RELAY, OUTPUT); digitalWrite(PIN_RELAY, HIGH); ) void loop() ( int val = analogRead(PIN_PHOTO_SENSOR); if (val< 300) { // Светло, выключаем реле digitalWrite(PIN_RELAY, HIGH); } else { // Темновато, включаем лампочку digitalWrite(PIN_RELAY, LOW); } }

Slutsats

Projekt som använder en ljussensor baserad på en fotoresistor är ganska enkla och effektiva. Du kan genomföra många intressanta projekt, och kostnaden för utrustning kommer inte att vara hög. Fotoresistorn är ansluten med hjälp av en spänningsdelarkrets med extra resistans. Sensorn är ansluten till en analog port för att mäta olika ljusnivåer eller till en digital om allt vi bryr oss om är mörkret. I skissen läser vi helt enkelt data från en analog (eller digital) port och bestämmer hur vi ska reagera på ändringarna. Låt oss hoppas att nu kommer sådana enkla "ögon" att dyka upp i dina projekt.

För vårt nästa projekt kommer vi att använda en fotoresistor. Och vi kommer att överväga implementeringen av en nattlampa för sovrummet, som automatiskt tänds när det är mörkt och släcks när det blir ljust.

Motståndet hos en fotoresistor beror på ljuset som faller på den. Genom att använda ett fotomotstånd i kombination med ett konventionellt 4,7 kOhm-motstånd får vi en spänningsdelare där spänningen som passerar genom fotomotståndet ändras beroende på ljusnivån.

Vi applicerar spänningen från delaren till ingången på Arduino ADC. Där jämför vi det resulterande värdet med en viss tröskel och tänder eller släcker lampan.

Kopplingsschemat för avdelaren visas nedan. När belysningen ökar sjunker fotoresistorns resistans och följaktligen ökar spänningen vid dividerutgången (och ADC-ingången). När belysningen sjunker är allt tvärtom.

Bilden nedan visar den sammansatta kretsen på en brödbräda. Spänningarna 0V och 5V är hämtade från Arduino. Stift A0 används som en ADC-ingång.

Nedan är en Arduino-skiss. I denna handledning slår vi helt enkelt på och stänger av lysdioden som är inbyggd i Arduino-kortet. Du kan ansluta en ljusare LED till ben 13 (via ett ~220 Ohm motstånd). Om du ansluter en mer kraftfull belastning, till exempel en glödlampa, bör den anslutas via ett relä eller tyristor.

Det finns kommenterade avsnitt i programkoden, de används för felsökning. Det kommer att vara möjligt att styra ADC-värdet (från 0 till 1024). Du måste också ändra värdet 500 (på och av-tröskel) i koden till det du väljer experimentellt genom att ändra belysningen.

/* ** Nattljus ** ** www.hobbytronics.co.uk */ int sensorPin = A0; // ställ in ingångsbenet för ADC:s osignerade int sensorValue = 0; // digitalt värde för fotoresistor void setup() ( pinMode(13, OUTPUT); Serial.begin(9600); // starta seriell datautgång (för testning) void loop() ( sensorValue = analogRead(sensorPin); // avläs värde från fotoresistor if(sensorValue<500) digitalWrite(13, HIGH); // включаем else digitalWrite(13, LOW); // выключаем // Для отладки раскомментируйте нижеследующие строки //Serial.print(sensorValue, DEC); // вывод данных с фоторезистора (0-1024) //Serial.println(""); // возврат каретки //delay(500); }