Como calibrar o Insumos com o Arduino

Pense calibrar o circuito como definir o termostato em sua casa. Ao calibrar os sensores em seu projeto Arduino, você pode adaptar o sensor para a sua localização. Neste exemplo, você aprende como calibrar um sensor de luz.

Luz, é claro, é altamente variável, se você está dentro, fora, em uma sala bem iluminada, ou trabalhando à luz de velas. Apesar da grande variação, todas essas gamas de luz pode ser sentida e interpretada pelo seu Arduino, desde que ele conhece o intervalo que você está trabalhando para. O esboço a seguir mostra como calibrar um sensor de luz para seus arredores.

Completar o circuito para calibrar o sensor de luz automaticamente.

Você precisa:

  • Um Arduino Uno

  • A placa de ensaio

  • um LED

  • Um sensor de luz

  • A 10k ohm

  • A 220 ohm resistor

  • fios de salto

    image0.jpg

Construir o circuito e vá em File-Exemplos-03.Analog-calibração e para encontrar o esboço. O código para este exemplo é como se segue:

image1.jpg
/ * CalibrationDemonstrates uma técnica para calibrar a entrada do sensor. Thesensor leituras durante os primeiros cinco segundos da sketchexecution definir o mínimo e máximo de esperada valuesattached ao mínimo Sensor de pin.The e valores iniciais máximas podem parecer backwards.Initially, você define o mínimo elevado e ouvir anythinglower, salvando-o como o novo mínimo. Da mesma forma, você definir themaximum baixo e ouvir para qualquer coisa maior que o novo circuito maximum.The: * sensor analógico (potenciômetro vai fazer) ligado a entrada analógica 0 * LED anexado do pino digital de 9 a 29 de outubro groundcreated 2008By David A Mellismodified 30 de agosto 2011By Tom Igoehttp: //arduino.cc/en/Tutorial/CalibrationThis exemplo de código é de domínio público * /// Essas constantes não vai mudar.:const int sensorPin = a0- // pino que o sensor é ligado aoconst int ledPin = 9- // pino que o LED está ligado para // variáveis:int SensorValue = 0- // o valor do sensorint sensorMin value = 1023- // mínimo de sensorint sensorMax = 0- // máxima configuração do sensor valuevoid () {// ligar LED para sinalizar o início do período de calibração: pinMode (13, OUTPUT) -digitalWrite (13, HIGH) - // calibrar durante os primeiros cinco segundosenquanto (millis() lt; 5000) {= SensorValue analogRead(SensorPin) - // registrar o valor máximo do sensorE se (SensorValue> sensorMax) {sensorMax = SensorValue -} // registrar o valor mínimo do sensorE se (SensorValue lt; sensorMin) {sensorMin = SensorValue -}} // sinalizar o fim da perioddigitalWrite calibração (13, LOW) -} vazio loop () {// lê o sensor: SensorValue = analogRead(SensorPin) - // aplicar a calibragem do sensor readingsensorValue = mapa(SensorValue, sensorMin, sensorMax, 0, 255) - // caso o valor do sensor estiver fora da faixa visto durante calibrationsensorValue = constranger(SensorValue, 0, 255) - // desaparecer o LED usando o valor calibrado:analogWrite(LedPin, SensorValue) -}

Faça o upload do esboço, e deixe o seu Arduino se contentar com os seus níveis de luz ambiente normal por cinco segundos. Em seguida, tente mover sua mão sobre ele. Você deve achar que é muito mais sensível do que quando está apenas lendo o valor analógico normalmente, eo LED deve ter uma gama de totalmente sobre quando é aberta para totalmente desligado quando ele está coberto.

menu