LDR - mcworkshop

MC        WORKSHOP
Vai ai contenuti

Menu principale:

LDR

Projects



//marzo 2019 by M.C.
//This example code is in the public domain.
//LDR and input voltage

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define DS1307_I2C_ADDRESS 0x27 // attenzione all'indirizzo dell'LCD
LiquidCrystal_I2C lcd(0x27, 16, 2);
int analogInPin = A0;
int sensorValue = 0;
void setup()
{
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.begin (16, 2);
}
void loop()
{
lcd.setCursor(0, 0);
int sensorValue = analogRead(A0);
float voltage = sensorValue * (5.00 / 1023.00);
lcd.print ("Volt: ");
lcd.print (voltage);
delay (500);
}


LDR
Project #2
n°1 resistor 2Mohm
n° 1 LDR
Serial monitor

Re-maps a number from one range to another. That is, a value of fromLow would get mapped to toLow, a value of fromHigh to toHigh, values in-between to values in-between, etc.
I valori che possiamo ottenere dalla lettura di un segnale applicato ad un pin analogico di Arduino sono compresi tra 0 e 1023, se vogliamo ottenere un intervallo diverso, ma equivalente, utilizziamo "map". Possiamo farci restituire dei valori che sono più vicini alla realtà del nostro progetto. Ad esempio: se utilizzo una LDR il valore restituito da Arduino sarà sempre compreso tra 0 e 1023. Rimappando il valore, cioé scrivendo 0, 1023, 0 ,10 Arduino scriverà su LCD o monitor seriale un valore compreso tra 1 e 10. In breve Arduino non fa altro che fare dei calcoli proporzionali. Potremmo allora dire, ad esempio che 0 è buio, 5 che c'è una luce di media intensità e che 10 siamo in pieno sole.

Syntax
map(value, fromLow, fromHigh, toLow, toHigh)

Parameters
value: the number to map
fromLow: the lower bound of the value’s current range
fromHigh: the upper bound of the value’s current range
toLow: the lower bound of the value’s target range
toHigh: the upper bound of the value’s target range

In this sketch you can delete the line containing "map".
In questo sketch potete eliminare la linea contenente "map".






int analogInPin = A0;
int sensorValue = 0;

void setup() {
Serial.begin(9600);
pinMode( analogInPin, INPUT);
}

void loop() {

sensorValue = analogRead(analogInPin);
sensorValue = map(sensorValue, 850, 1023, 0, 10);
Serial.print("sensor = " );
Serial.println(sensorValue);

delay(1000);
}
 
Copyright 2015. All rights reserved.
Torna ai contenuti | Torna al menu