Электронная зимняя удочка JArduino

Описание электронной удочки В открытие сезона подледной рыбалки этого заказали мне электронную зимнюю удочку. Задача совсем не сложная. И, пожалуй, это один из самых простых проектов, которые мне приходилось делать Дальше →

Эксперимент c Arduino №14. ИК пульт дистанционного управления

Введение Давайте теперь научимся управлять электроникой дистанционно. Самый простой и доступный способ – с помощью инфракрасного пульта дистанционного управления. Такой способ дистанционного управления крайне распространен и привычен каждому. Благодаря своей Дальше →

Эксперимент № 14. ИК пульт дистанционного управления

/**
 * (C) jarduino.ru
 * 
 * Эксперимент № 14. ИК пульт дистанционного управления
 *
 * Эксперименты с ардуино.
 * Управление arduino с помощью ИК пульта ДУ
 */
#include <IRremote.h> // подключаем библиотеку для ИК приемника

// Константы программы
const int irPin = A0; // аналоговый порт для ИК приемника
const int ledPin = 13; // порт для светодиода

// Глобальные переменные
bool ledState = false;

IRrecv irRec(irPin); // Инициализируем объект ИК приемника
decode_results irData; // переменная для получения данных от ИК приемника

void setup()
{
	Serial.begin(9600); // Иницилизация последовательного порта, для вывода отладочной информации

	irRec.enableIRIn(); // запускаем прием инфракрасного сигнала

	pinMode(ledPin, OUTPUT);
}


void loop()
{
	if (irRec.decode(&amp;irData)) // Получение данных с ИК приемник
	{
		// Данные пришли - анализируем, выполняем команды с пульта:
		Serial.println(irData.value); // выводим полученные данные на порт

		if (irData.value == 16738455) // соответветствует цифре 1 на пульте
		{
			ledState = !ledState; // переключить состояние светодиода
			digitalWrite(ledPin, ledState); // обновить состояние светодиода
		}

		irRec.resume(); // принимаем следующий сигнал на ИК приемнике
	}

	delay(100); // небольшая пауза, 0,1 сек.
}

Эксперимент №13. Сенсор вибраций

Введение На этот раз мы рассмотрим шариковый сенсор вибраций. Принцип действия Внутри данного устройства находится колба с шариком. Когда устройство наклоняется из стороны в сторону, шарик катается, и то замыкает Дальше →

Скетч. Эксперимент №13. Сенсор вибраций

/**
 * (C) jarduino.ru
 * Эксперимент № 13. Сенсор вибраций. Title switch sensor. 
 *
 * Эксперименты с ардуино.
 */

const int tiltPin = 5;
const int ledPin = 8;

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

void loop()
{
	if (analogRead(tiltPin) > 512) // Если напряжение на пине сенсора больше чем 512 единиц(т.е. 2,5V) ...
	{
		digitalWrite(ledPin, LOW); // включить светодиод
	}
	else // Иначе ...
	{
		digitalWrite(ledPin, HIGH); // вылючить светодиод
	}
}

Эксперимент №12. Датчик температуры LM35.

Простейший термометр на ардуино. Введение LM35 – это широко используемый простейший датчик температуры. Для подключения его к ардуино вам ничего не понадобится, кроме нескольких проводов перемычек. Распиновка Задача Давайте соберем Дальше →

Скетч. Эксперимент №12. Датчик температуры LM35

/**
 * Эксперимент № 12. Датчик температуры LM35
 * Простейший цифровой термометр.

 * Изучение ардуино через опыты.
 */

void setup()
{
	Serial.begin(9600); // Инициализация последовательно порта
}

void loop()
{
	const int val = analogRead(0); // Прочесть текущее значение температуры
	const int dat = (125 * val) >> 8; // Перевести полученное значение в градусы

	// Вывести температуру в последовательный порт:
	Serial.print("Tep:");
	Serial.print(dat);
	Serial.println("C");

	delay(500); // Задержка в 0,5 секунды
}

Эксперимент № 11. Датчик огня

Датчик огня (инфракрасный приемник) часто используется в пожарных сигнализациях, а также в роботах для поиска источника огня. Этот сенсор особенно чувствителен к огню. Подключение сенсора Длинная ножка триода подключается к Дальше →

Скетч. Эксперимент № 11. Датчик огня. Пожарная сигнализация.

/**
 * Эксперимент № 11. Датчик огня
 * Изучение ардуино через опыты.
 *
 * Пожарная сигнализация на базе ардуино и датчика огня
 */

const int pinFlame = 0; // Аналоговый пин для подключения датчика огня
const int pinBuzzer = 9; // Цифровой пин для подключенния зуммера

void setup()
{
	Serial.begin(9600); // Инициализировать последовательный порт

	// Инициализировать порты ввода-вывода:
	pinMode(pinBuzzer, OUTPUT);
	pinMode(pinFlame, INPUT);
}

void loop()
{
	const int flameVal = analogRead(pinFlame); // Считать показания с датчика огня

	Serial.println(flameVal); // Вывести проказания в последовательный порт

	if (flameVal >= 600) // Пусть 600 - это критический уровень показаний с датчика огня
	{
		// Подать сигнал при достижении критического уровня
		digitalWrite(pinBuzzer, HIGH);
	}
	else
	{
		// Отключить сигнал при падении уровня ниже критического
		digitalWrite(pinBuzzer, LOW);
	}

	delay(500);
}

Эксперимент № 10. Фоторезистор

Введение Если вы прошли все предыдущие эксперименты, то вы наверняка уже прибрели базовые знания об ардуино и как это работает. Вы уже знаете о цифровых и аналоговых портах ввода-вывода и Дальше →