User Tools

Site Tools


arduino:arduino_crash_course:analog_input

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
arduino:arduino_crash_course:analog_input [2012/11/06 01:12] mithatarduino:arduino_crash_course:analog_input [2017/12/06 01:17] – [Night light] mithat
Line 1: Line 1:
 ====== Analog Input ====== ====== Analog Input ======
  
-As we have seen, an Arduino digital input is one that have one of two states: HIGH or LOW. Most Arduino implementations also permit you to connect an input whose value can be any value between 0 volts and (by default) the power-supply voltage and then convert the input level to an internal digital value between 0 an 1204. The Arduino literature refers to these as "analog" inputs. The process of converting a real analog signal to a digital number is called **analog to digital conversion** (**ADC**).+As we have seen, an Arduino digital input is one that have one of two states: HIGH or LOW. Most Arduino implementations also permit you to connect an input whose value can be any value between 0 volts and (by default) the power-supply voltageand then convert the input level to an integer value between 0 an 1023. The Arduino literature refers to these as "analog" inputs. The process of converting a physical analog signal to a digital representation is called **analog to digital conversion** (**ADC**).
  
-Consult the documentation for your specific Arduino board to detmine which pins support analog input.+Consult the documentation for your specific Arduino board to determine which pins support analog input. On the Arduino UNO, inputs A0 through A5 can be used as analog inputs.
  
 ===== Night light ===== ===== Night light =====
Line 10: Line 10:
  
 <WRAP center round tip 60%> <WRAP center round tip 60%>
-CdS cells are notoriously tweaky devices. A lot of experimentation with your particular cell will probably be required to see what your circuit is actually doing--quite likely requiring the use of the serial communication to report the ADC values.+CdS cells are notoriously tweaky devices. A lot of experimentation with your particular cell will probably be required to see what your circuit is actually doing---quite likely requiring the use of the serial communication to report the ADC values (see [[light_meter|this]] for an example).
  
-There are more reliable and calibrated light-level sensors available that may be a better (but significanly more expensive!) choice if you wish not to deal with the tweakiness of Cds cells.+There are more reliable and calibrated light-level sensors available that may be a better (but significantly more expensive!) choice if you wish not to deal with the tweakiness of Cds cells.
 </WRAP> </WRAP>
  
 +FIXME We need a circuit diagram
  
-TODO: +<file c NightLight.ino> 
-  - determine default analog Vref +/* 
-  - hook up CdS and find a resistor that gets decent range + NightLight 
-  - program!+ Turn an LED on when the ambient light is below a certain value. 
 + */ 
 + 
 +const int lightThreshold = 800;  // value below which LED turns on 
 +const int inputPin = A0;         // use analog 0 (A0) as input pin 
 +const int ledPin = 13;           // connect the LED to pin 13 
 + 
 +int lightLevel = 0;              // used to store the input value 
 + 
 +void setup() { 
 +  pinMode(ledPin, OUTPUT);       // make LED's pin an output 
 +
 + 
 +void loop() { 
 +  lightLevel = analogRead(inputPin);  // get an analog reading       
 + 
 +  if (lightLevel <= lightThreshold) 
 +    digitalWrite(ledPin, HIGH);       // turn the LED on 
 +  else 
 +    digitalWrite(ledPin, LOW);        // turn the LED off 
 +
 +</file>
arduino/arduino_crash_course/analog_input.txt · Last modified: 2017/12/06 01:27 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki