![Ljussensor (fotoresistor) med Arduino i Tinkercad: 5 steg (med bilder) Ljussensor (fotoresistor) med Arduino i Tinkercad: 5 steg (med bilder)](https://i.howwhatproduce.com/images/011/image-31555-j.webp)
Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:11
![Ljussensor (fotoresistor) med Arduino i Tinkercad Ljussensor (fotoresistor) med Arduino i Tinkercad](https://i.howwhatproduce.com/images/011/image-31555-1-j.webp)
Tinkercad -projekt »
Låt oss lära oss hur man läser en fotoresistor, en ljuskänslig typ av variabelt motstånd, med Arduinos analoga ingång. Det kallas också ett LDR (ljusberoende motstånd).
Hittills har du redan lärt dig att styra lysdioder med Arduinos analoga utgång och att läsa en potentiometer, som är en annan typ av variabelt motstånd, så vi bygger vidare på dessa färdigheter i den här lektionen. Kom ihåg att Arduinos analoga ingångar (stift markerade A0-A6) kan detektera en gradvis förändrad elektrisk signal och översätter den signalen till ett tal mellan 0 och 1023.
![Bild Bild](https://i.howwhatproduce.com/images/011/image-31555-2-j.webp)
Utforska provkretsen som är inbäddad här i arbetsplanet genom att klicka på Starta simulering och klicka på fotoresistorn (brun oval med snirklig linje ner i mitten) och dra sedan reglaget för ljusstyrka för att justera den simulerade ljusinmatningen.
I den här lektionen kommer du att bygga denna simulerade krets själv längs provet. För att eventuellt bygga den fysiska kretsen, samla ihop ditt Arduino Uno -kort, USB -kabel, lödfritt brödbräda, en LED, motstånd (220 ohm och 4,7k ohm), fotoresistor och brödbrätsledningar.
Du kan följa med praktiskt taget med hjälp av Tinkercad Circuits. Du kan till och med se den här lektionen från Tinkercad (gratis inloggning krävs)! Utforska provkretsen och bygg din egen bredvid den. Tinkercad Circuits är ett gratis webbläsarbaserat program som låter dig bygga och simulera kretsar. Det är perfekt för lärande, undervisning och prototyper.
Steg 1: Bygg kretsen
![Bygg kretsen Bygg kretsen](https://i.howwhatproduce.com/images/011/image-31555-3-j.webp)
![Bygg kretsen Bygg kretsen](https://i.howwhatproduce.com/images/011/image-31555-4-j.webp)
Ta en titt på panelen på bilden. Det kan vara användbart att titta på en gratis trådversion av denna provkrets för jämförelse, på bilden. I det här steget kommer du att bygga din egen version av denna krets längs provet i arbetsplanet.
För att följa med, ladda upp ett nytt Tinkercad Circuits -fönster och bygg din egen version av denna krets längs provet.
Identifiera fotoresistorn, lysdioden, motstånden och ledningarna som är anslutna till Arduino i arbetsplanet för Tinkercad Circuits.
Dra en Arduino Uno och brödbräda från komponentpanelen till arbetsplanet, bredvid den befintliga kretsen.
Anslut brädbräda (+) och mark (-) skenor till Arduino 5V respektive jord (GND) genom att klicka för att skapa trådar.
Förläng kraft- och markskenor till sina respektive bussar på motsatta kanten av brödbrädet (valfritt för denna krets men god vanlig praxis).
Anslut lysdioden till två olika paneler så att katoden (negativt, kortare ben) ansluter till ett ben på ett motstånd (allt från 100-1K ohm är bra). Motståndet kan gå i båda riktningarna eftersom motstånden inte är polariserade, till skillnad från lysdioder, som måste anslutas på ett visst sätt för att fungera.
Anslut det andra motståndsbenet till marken.
Anslut LED -anoden (positivt, längre ben) till Arduino stift 9.
Dra en fotoresistor från komponentpanelen till din brödbräda, så att benen ansluts till två olika rader.
Klicka för att skapa en tråd som ansluter ett fotoresistorben till ström.
Anslut det andra benet till Arduino analoga stift A0.
Dra ett motstånd från komponentpanelen för att ansluta fotoresistorbenet som är anslutet till A0 med jord och justera dess värde till 4,7k ohm.
Steg 2: Kod med block
![Kod med block Kod med block](https://i.howwhatproduce.com/images/011/image-31555-5-j.webp)
Låt oss använda kodblockredigeraren för att lyssna på fotoresistorns tillstånd och ställ sedan in en LED till en relativ ljusstyrka baserat på hur mycket ljus sensorn ser. Du kanske vill uppdatera ditt minne om LED -analog utgång i lektionen Fading LED.
Klicka på knappen "Kod" för att öppna kodredigeraren. De gråa noteringsblocken är kommentarer för att notera vad du tänker att din kod ska göra, men den här texten körs inte som en del av programmet.
Klicka på kategorin Variabler i kodredigeraren.
För att lagra motståndsvärdet för fotoresistorn, skapa en variabel med namnet "sensorValue".
Dra ut ett "set" -block. Vi lagrar tillståndet för vår fotoresistor i variabeln
sensorvärde
Klicka på inmatningskategorin och dra ut ett "analog lässtift" -block och placera det i "set" -blocket efter ordet "till"
Eftersom vår potentiometer är ansluten till Arduino på stift A0, ändra rullgardinsmenyn till A0.
Klicka på kategorin Utmatning och dra ut ett "skriv ut till seriell bildskärm" -block.
Navigera till kategorin Variabler och dra din variabel sensorValue till blocket "skriv ut till seriell bildskärm" och se till att rullgardinsmenyn är inställd på att skriva ut med en ny rad. Du kan också starta simuleringen och öppna den seriella bildskärmen för att kontrollera att avläsningar kommer in och ändras när du justerar sensorn. Analoga ingångsvärden sträcker sig från 0-1023.
Eftersom vi vill skriva till lysdioden med ett tal mellan 0 (av) och 255 (full ljusstyrka), kommer vi att använda "karta" -blocket för att göra lite korsmultiplikation för oss. Navigera till kategorin Matematik och dra ut ett "kart" -block.
I den första platsen drar du in ett sensorValue -variabelblock och anger sedan intervallet från 0 till 255.
Tillbaka i kategorin Output drar du ut ett analogt "set pin" -block, som som standard säger "set pin 3 to 0." Justera den för att ställa in stift 9.
Dra kartblocket du gjorde tidigare till fältet "set pin" blockets "to" för att skriva det justerade numret till LED -stiftet med PWM.
Klicka på kategorin Kontroll och dra ut ett väntblock och justera det för att fördröja programmet i.1 sekunder.
Steg 3: Fotoresistor Arduino -kod förklarad
När kodredigeraren är öppen kan du klicka på rullgardinsmenyn till vänster och välja "Block + Text" för att avslöja Arduino -koden som genereras av kodblocken. Följ med när vi utforskar koden mer detaljerat.
int sensorValue = 0;
Innan
uppstart()
skapar vi en variabel för att lagra det aktuella värdet avläst från potentiometern. Det heter
int
eftersom det är ett heltal eller ett heltal.
void setup ()
{pinMode (A0, INPUT); pinMode (9, OUTPUT); Serial.begin (9600); }
Inuti installationen konfigureras stiften med hjälp av
pinMode ()
fungera. Stift A0 är konfigurerat som en ingång, så vi kan "lyssna" på potentiometerns elektriska tillstånd. Stift 9 är konfigurerat som en utgång för att styra lysdioden. För att kunna skicka meddelanden öppnar Arduino en ny seriell kommunikationskanal med
Serial.begin ()
som tar ett överföringshastighetsargument (vilken hastighet att kommunicera), i detta fall 9600 bitar per sekund.
void loop ()
{// läs värdet från sensorn sensorValue = analogRead (A0); // skriv ut sensoravläsningen så att du känner till dess intervall Serial.println (sensorValue);
Allt efter en uppsättning snedstreck
//
är en kommentar som hjälper människor att förstå på ett enkelt språk vad programmet är avsett att göra, men ingår inte i programmet som din Arduino kör. I huvudslingan kallas en funktion
analogRead ();
kontrollerar tillståndet för stift A0 (som kommer att vara ett heltal från 0-1023) och lagrar det värdet i variabeln
sensorvärde
// mappa sensoravläsningen till ett område för lysdioden
analogWrite (9, map (sensorValue, 0, 1023, 0, 255)); fördröjning (100); // Vänta i 100 millisekunder
Raden efter nästa kommentar gör mycket på en gång. Kom ihåg
analogWrite ()
tar två argument, pin -numret (9 i vårt fall) och värdet som ska skrivas, som ska vara mellan 0 och 255. Inline -funktionen
Karta()
tar fem argument: antalet att utvärdera (den ständigt föränderliga sensorvariabeln), förväntat minimum och förväntat maximalt, och önskad min och max. Så det
Karta()
funktionen i vårt fall är att utvärdera den inkommande sensorValue, och göra lite korsmultiplikation för att skala ner utmatningen från 0-1023 till 0-255. Resultatet returneras till det andra argumentet av
analogWrite ();
inställning av ljusstyrkan för lysdioden ansluten till stift 9.
Steg 4: Bygg en fysisk Arduino -krets (tillval)
![Bygg en fysisk Arduino -krets (tillval) Bygg en fysisk Arduino -krets (tillval)](https://i.howwhatproduce.com/images/011/image-31555-6-j.webp)
För att programmera din fysiska Arduino Uno måste du installera den kostnadsfria programvaran (eller plugin för webbredigeraren) och sedan öppna den. Olika fotoceller har olika värden, så om din fysiska krets inte fungerar kan du behöva byta motståndet som är parat med det. Läs mer om spänningsdelare i lektionen Instructables Electronics Class om motstånd.
Koppla upp Arduino Uno -kretsen genom att ansluta komponenter och ledningar för att matcha anslutningarna som visas här i Tinkercad Circuits. För en mer ingående genomgång av arbetet med ditt fysiska Arduino Uno-kort, kolla in den kostnadsfria Instructables Arduino-klassen.
Kopiera koden från kodfönstret för Tinkercad Circuits och klistra in den i en tom skiss i din Arduino -programvara, eller klicka på nedladdningsknappen (pil nedåt) och öppna
den resulterande filen med Arduino. Du kan också hitta detta exempel i Arduino -programvaran genom att navigera till Arkiv -> Exempel -> 03. Analog -> AnalogInOutSerial.
Anslut din USB -kabel och välj ditt kort och port i programvarans meny Verktyg.
Ladda upp koden och använd din hand för att täcka sensorn från att ta emot ljus, och/eller tända ett ljus på din sensor!
Öppna den seriella bildskärmen för att observera dina sensorvärden. Det är troligt att verkliga värden inte kommer att sträcka sig hela vägen till 0 eller ända till 1023, beroende på dina ljusförhållanden. Justera gärna 0-1023-intervallet till ditt observerade minimum och observerade maximalt för att få maximalt ljusstyrkauttrycksområde på lysdioden.
Steg 5: Testa sedan …
Nu när du har lärt dig att läsa en fotoresistor och kartlägga dess utgång för att styra ljusstyrkan på en LED, är du redo att tillämpa de och andra färdigheter du har lärt dig hittills.
Kan du byta ut lysdioden för en annan typ av utgång, som en servomotor, och skapa lite kod för att reflektera sensorns nuvarande ljusnivå som en viss position längs en mätare?
Prova att byta ut din fotoresistor för andra analoga ingångar, till exempel en ultraljudsavståndssensor eller potentiometer.
Lär dig mer om hur du övervakar din Arduinos digitala och analoga ingångar via datorn med hjälp av Serial Monitor.
Rekommenderad:
Darkness Sensor Circuit on Breadboard + Ljussensor med LDR: 6 steg
![Darkness Sensor Circuit on Breadboard + Ljussensor med LDR: 6 steg Darkness Sensor Circuit on Breadboard + Ljussensor med LDR: 6 steg](https://i.howwhatproduce.com/images/001/image-920-33-j.webp)
Mörkhetssensorkrets på brödbräda + Ljuddetektor med LDR: I denna handledning lär jag dig hur du gör ett enkelt ljus & Darkness Detector Circuit med en transistor & en LDR. Denna krets kan användas för att automatiskt släcka lampor eller apparater genom att lägga till ett relä vid utgången Du kan också rep
Enkel ljussensor med en LED (analog): 3 steg
![Enkel ljussensor med en LED (analog): 3 steg Enkel ljussensor med en LED (analog): 3 steg](https://i.howwhatproduce.com/images/009/image-26177-j.webp)
Enkel ljussensor med en lysdiod (analog): Hej! I den här instruktören ska jag visa dig hur du gör en enkel ljussensor med en lysdiod. För mig är den här kretsen lite värdelös eftersom du inte kan göra så mycket med det här, men jag tror
MAX44009 Ljussensor med OLED: 7 steg
![MAX44009 Ljussensor med OLED: 7 steg MAX44009 Ljussensor med OLED: 7 steg](https://i.howwhatproduce.com/images/004/image-9980-4-j.webp)
MAX44009 Ljussensor med OLED: Hej kompisar! Igår bestämde jag mig för att lägga upp en annan enkel pryl som jag gjorde till min vän. Han bad mig att göra en enkel ljusmätare för att styra en fläkt och ett relä i sitt gröna hus dagtid. Tyvärr kan jag inte lägga upp bilder på det projektet
Digital ljussensor med LM358: 5 steg
![Digital ljussensor med LM358: 5 steg Digital ljussensor med LM358: 5 steg](https://i.howwhatproduce.com/images/006/image-17758-11-j.webp)
Digital ljussensor med LM358: Sensorer gör att arbetet med alla projekt är roligt och enkelt att göra, det finns tusentals sensorer och vi får välja att välja rätt sensor för våra projekt eller behov. Men ingenting är bättre än att designa dina egna DIY -sensorer för att arbeta med ett brett utbud
Rörelseaktiverad ljusbrytare med ljussensor: 5 steg
![Rörelseaktiverad ljusbrytare med ljussensor: 5 steg Rörelseaktiverad ljusbrytare med ljussensor: 5 steg](https://i.howwhatproduce.com/images/002/image-5387-24-j.webp)
Rörelseaktiverad ljusomkopplare med ljussensor: Rörelseaktiverad ljusomkopplare har många tillämpningar både hemma och på kontoret. Detta har dock ytterligare en fördel med att införliva en ljussensor, så att det här ljuset bara kan aktiveras på natten