Arduino Nano - Lichtsensor

Deze tutorial legt uit hoe u een lichtsensor gebruikt met Arduino Nano. In detail:

Hardware Benodigd

1×Official Arduino Nano
1×Alternatief: DIYables ATMEGA328P Nano Development Board
1×USB A naar Mini-B USB-kabel
1×Lichtsensor
1×10 kΩ weerstand
1×Breadboard (experimenteerprint)
1×Jumper wires (verbindingsdraden)
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Breakout Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Stromsplitter voor Arduino Nano

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

De LDR lichtsensor is erg betaalbaar, maar vereist een weerstand voor de bedrading, wat de opstelling iets complexer kan maken. Ter vereenvoudiging kunt u ook een LDR lichtsensor module gebruiken als alternatief.

Over de Lichtsensor

De lichtsensor die in deze tutorial wordt gebruikt is een photoresistor, ook wel bekend als photocell, lichtafhankelijke weerstand of LDR (Light Dependent Resistor).

Hij wordt niet alleen gebruikt om licht te detecteren, maar ook om de sterkte of helderheid van het omgevingslicht te meten.

Pinout van de Lichtsensor

Een photoresistor heeft twee pennen die niet onderscheiden hoeven te worden, omdat het een soort weerstand is en ze symmetrisch zijn.

Light Sensor pinout

Werking

De hoeveelheid licht waaraan het oppervlak van de photoresistor wordt blootgesteld bepaalt de weerstand ervan. Door deze weerstand te meten, kunnen we de helderheid van het omgevingslicht bepalen.

Hoe Lichtsensor Werkt

WARNING

De waarde van de lichtsensor geeft slechts een indicatie van de lichtintensiteit en is geen exacte maat voor de lichtstroom (luminous flux). Gebruik deze sensor daarom alleen in toepassingen waar een hoge mate van precisie niet vereist is.

Arduino Nano - Lichtsensor

De Arduino Nano-pinnen A0 tot en met A7 kunnen als analoge ingangen worden gebruikt. Deze analoge ingangen zetten de spanning (van 0 volt tot VCC) om in gehele getallen (van 0 tot 1023), die worden aangeduid als ADC-waarde of analoge waarde.

Verbind één pin van de photoresistor met een analoge ingangspin. Met behulp van de functie analogRead() leest u de analoge waarde van die pin. Hiermee kunt u relatief de lichtniveaus bepalen.

Verbindingsschema

Arduino Nano Lichtsensor bedradingsschema

This image is created using Fritzing. Click to enlarge image

Arduino Nano Code

De onderstaande code leest de waarde van een photocell en bepaalt kwalitatief het lichtniveau.

/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-nano/arduino-nano-light-sensor */ void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); } void loop() { // reads the input on analog pin A0 (value between 0 and 1023) int analog_value = analogRead(A0); Serial.print("Analog reading: "); Serial.print(analog_value); // The raw analog reading // We'll have a few threshholds, qualitatively determined if (analog_value < 10) { Serial.println(" - Dark"); } else if (analog_value < 200) { Serial.println(" - Dim"); } else if (analog_value < 500) { Serial.println(" - Light"); } else if (analog_value < 800) { Serial.println(" - Bright"); } else { Serial.println(" - Very bright"); } delay(500); }

Snelle stappen

  • Kopieer de code en open deze met de Arduino IDE.
  • Klik op de Upload-knop in de IDE om de code naar de Arduino Nano te uploaden.
  • Open de Seriële Monitor.
  • Schijn licht op de sensor.
  • Bekijk het resultaat in de Seriële Monitor.
COM6
Send
Analog reading: 163 - Dim Analog reading: 152 - Dim Analog reading: 187 - Dim Analog reading: 188 - Dim Analog reading: 957 - Very bright Analog reading: 972 - Very bright Analog reading: 981 - Very bright
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Lichtsensor en LED

  • Wanneer het donker is, zal onderstaande code de LED AAN zetten. Anders zal de LED UITgeschakeld worden.
/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-nano/arduino-nano-light-sensor */ const int LIGHT_SENSOR_PIN = A0; // The Arduino Nano pin connected to light sensor's pin const int LED_PIN = 2; // The Arduino Nano pin connected to LED's pin const int ANALOG_THRESHOLD = 500; int analog_value; void setup() { pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode } void loop() { analog_value = analogRead(LIGHT_SENSOR_PIN); // read the input on analog pin if(analog_value < ANALOG_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED }
  • Het aansluitingsschema voor bovenstaande code:
Arduino Nano Lichtsensor LED bedradingsschema

This image is created using Fritzing. Click to enlarge image

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u stap voor stap met de installatie en programmering van de lichtsensor met Arduino Nano.

Daag uzelf uit

  • Activeer automatisch licht wanneer het in uw kamer donker is.
  • Raadpleeg Arduino Nano - Relay voor meer informatie.

Opmerkingen

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!