Видеоуроки по Arduino #4: Аналоговые входы (Jeremy Blum)

05.10.2016 18:47

genaonyx



Введение

В данном вводном видео уроке Джереми Блум расскажет Вам:

  • Как работать с аналоговыми портами.
  • Как подключить фоторезистор, термистор, ИК дальномер.
  • Пройдетесь по функциям для управления аналоговыми портами.
  • Создадите свой первый ночник.
  • И многое другое.

Приятного просмотра!


Понадобиться

  1. Arduino UNO
  2. Кабель USB-AB
  3. Breadboard (Доска для прототипирования)
  4. Фоторезистор
  5. Резистор 10 кОм
  6. Резистор 1 кОм
  7. Светодиод
  8. Резистор 150 Ом
  9. Термистор
  10. ИК дальномер


Видеоурок


Схемы


Скетч №1

int sensePin = 0;

void setup()
{
  // Устанавливаем значение по умолчанию для аналогового порта
  analogReference(DEFAULT); // 5В для UNO
  Serial.begin(9600); 
}

void loop()
{
  Serial.println(analogRead(sensePin)); 
  delay(500);
}


Скетч №2

int sensePin = 0;
int ledPin = 9;

void setup()
{
  // Настраиваем порт светодиода как выход
  pinMode(ledPin, OUTPUT);
  analogReference(DEFAULT);
}

void loop()
{
  // Чтение сенсора
  int val = analogRead(sensePin);
  val = constrain(val, 750, 900);
  int ledLevel = map(val, 750, 900, 255, 0);
  analogWrite(ledPin, ledLevel);
}


Скетч №3

int sensePin = 0;
int ledPin = 9;

void setup()
{
  pinMode(ledPin, OUTPUT);
  analogReference(DEFAULT);
}

void loop()
{
  // Чтение сенсора
  int val = analogRead(sensePin);
  
  if(val < 800)
  {
    digitalWrite(ledPin, HIGH);
  }
  else
  {
    digitalWrite(ledPin, LOW);
  }
}


Скетч №4

int motionPin = 0;
int lightPin = 1;
int ledPin = 9;

// Настройки дистанции
int lastDist = 0;
int currentDist = 0;

int thresh = 200;

void setup()
{
  pinMode(ledPin, OUTPUT);
}

void loop()
{
  int lightVal = analogRead(lightPin);
  currentDist = analogRead(motionPin);
  
  if ((currentDist > lastDist + thresh || currentDist < lastDist - thresh) && lightVal < 800)
  {
    digitalWrite(ledPin, HIGH);
    delay(1000);
  }
  else
  {
    digitalWrite(ledPin, LOW);
  }
  
  lastDist = currentDist;
}


Расскажи о нас

Сообщение

Если у Вас есть опыт в работе с Arduino и собственно есть время для творчества, мы приглашаем всех желающих стать авторами статей публикуемых на нашем портале. Это могут быть как уроки, так и рассказы о ваших экспериментах с Arduino. Описание различных датчиков и модулей. Советы и наставления начинающим. Пишите и размещайте свои статьи в соответсвующей ветке форума.