Уроки Ардуино "Для баранов". Т.е. очень просто и понятно.

Поддержка деталями и оборудованием: АмперКот.Ру интернет-магазин Arduino, Raspberry Pi, датчики и модули.
Самовывоз: Москва, С-Петербург. Доставка: Россия.

  1. Что такое Ардуино, как можно использовать.
  2. Датчики для Ардуино. Какие и для чего нужны.
  3. Что может быть датчиком. Что на выходе.
  4. Используем потенциометр вместо датчика.

Урок: Используем потенциометр вместо датчика.

Видео версия урока

Рассмотрим ситуацию, когда у вас
- нет нужного датчика в наличии
- вы не в состоянии создать или быстро менять условия, при которых вы будите снимать нужные показания датчика

В этом случае удобно заменить датчик потенциометром.
Подкручивая потенциометр можно имитировать показания датчика и настраивать систему.
Это просто, дешево, а главное - наглядно.

Суть работы любого датчика:
Любой датчик в зависимости от воздействия на него выдает один из двух вариантов сигнала: изменят собственное сопротивление или генерирует ток.
Разумеется, будет это ток или напряжение зависит от чувствительного элемента датчика.

Затем, сигнал, полученный с датчика усиливается усилителем или компаратором.
В результате на выходе мы будем иметь либо цифровой сигнал (0 или 1. А по напряжению: 0 или 5в.), либо аналоговый сигнал от 0 до 5в.

Набор деталей для урока

Скетч скачать :

//******Sponsor: Arduino Detali https://amperkot.ru *********//

#include <MIDI.h>
#include <midi_Defs.h>
#include <midi_Message.h>
#include <midi_Namespace.h>
#include <midi_Settings.h>
MIDI_CREATE_DEFAULT_INSTANCE();

int analogValue0 = 0;
int lastAnalogValue0 = 127;
int analogValue1 = 0;
int lastAnalogValue1 = 127;

void setup() {

Serial.begin(31250);
MIDI.begin();
}

void loop() {

int analogValue0 = analogRead(A0)/8;
if ((analogValue0-lastAnalogValue0) > 1 || (analogValue0-lastAnalogValue0) < -1) {
if (analogValue0 != lastAnalogValue0) {
MIDI.sendControlChange(102, analogValue0, 1);
lastAnalogValue0 = analogValue0;
}
}
int analogValue1 = analogRead(A1)/8;
if ((analogValue1-lastAnalogValue1) > 1 || (analogValue1-lastAnalogValue1) < -1) {
if (analogValue1 != lastAnalogValue1) {
MIDI.sendControlChange(103, analogValue1, 1);
lastAnalogValue1 = analogValue1;
}
}

delay(100);
}