Nano Sensor Shield
Описание
Контроллеры Arduinо Nano и их аналоги имеют компактные размеры и нашли широкое применение в проектах, где важны размеры. Однако, подключение периферии к таким контроллерам всегда затруднительно. На помощь приходит Nano Sensor Shield.
Nano Sensor Shield имеет функционал, аналогичный классическим Sensor Shield для контроллеров Arduino Uno и Arduino Mega и позволяет подключать большое количество датчиков и модулей с помощью трехпроводных шлейфов (S, +, -). С помощью платы можно одновременно подключить до 8 аналоговых и до 12 цифровых устройств. Также дополнительные выводы на плате позволяют подключать устройства, работающие по интерфейсам I2C, UART и SPI.
Nano Sensor Shield полностью совместим с контроллерами Arduino Nano и Smart Nano. Также шилд можно ограниченно использовать с контроллерами Arduino Pro Mini (только 5 В, 16 мГц), при этом данной плате будут соответствовать только цифровые выводы D2-D9 включительно и вывод шины UART. Также Arduino Pro Mini использует выводы D10-D13 и A0-A3.
Для крепления Nano Sensor Shield по углам платы предусмотрены 4 отверстия под винт М3.
Технические характеристики
- Количество цифровых выводов: 12 (D2 - D13)
- Количество аналоговых выводов: 8 (A0 - A7)
- Интерфейсные выводы «папа»: SPI, I2C
- Интерфейсные выводы «мама»: UART
- Выводы входного питания: 1 (клеммная колодка, питание от 7 до 12 В)
Физические размеры
- Габаритные размеры Д х Ш х В: 60 х 46 х 12 (мм)
Примеры подключения и использования
Шумомер
Шаг 0. Описание задачи
Сделаем шумомер на основе датчика звука и модуля адресных светодиодов. Чем громче звук, тем больше загорается светодиодов (от 1 до 4), причем цвета светодиодов будут меняться: первый - зелёный, второй - жёлто-зелёный, третий - жёлтый, четвертый - красный.
Для этого нам потребуется следующее:
Что нужно | Кол-во, шт |
---|---|
Контроллер Smart Nano | 1 |
Nano Sensor Shield | 1 |
Модуль адресных светодиодов (х4) | 1 |
Датчик звука | 1 |
Шлейф x3 | 2 |
Шаг 1. Соберите комплектующие по схеме
Схема сборки:
Шаг 2. Загрузите на контроллер код
Не забывайте выбирать в Arduino IDE контроллер Nano.
#include <Adafruit_NeoPixel.h> //библиотека для работы со светодиодами #define SOUND_PIN A3 //вывод, к которому подключен датчик звука #define PIN 6 //вывод, к которому подключен модуль адресных светодиодов //объявление переменной pixels типа Adafruit_NeoPixel для //работы с модулем и светодиодами Adafruit_NeoPixel pixels(4, PIN); //цвета светодиодов int pix_colors[4][3] = { {0, 255, 0}, //зелёный {50, 200, 0}, //жёлто-зелёный {150, 150, 0}, //жёлтый {255, 0, 0} //красный }; int data = 0; //переменная для хранения значения громкости void setup() { pixels.begin(); //инициализация светодиодов } void loop() { int leds = 0; //переменная для хранения количества светодиодов data = analogRead(SOUND_PIN); //получение значения громкости if (data > 0) { //определение количества зажигаемых светодиодов if (data > 100) { leds = 4; } else if (data > 50) { leds = 3; } else if (data > 25) { leds = 2; } else { leds = 1; } } //нумерация светодиодов начинается с 0 for(int i=0; i<leds; i++) { pixels.setPixelColor(i, pixels.Color(pix_colors[i][0], pix_colors[i][1], pix_colors[i][2])); //установка цвета свечения для очередного светодиода pixels.show(); //показать цвет светодиода } pixels.clear(); //выключение всех цветов светодиодов pixels.show(); //отобразить "пустое" состояние светодиодов - они выключены */ }
Шаг 3. Результат
Производите звук (хлопайте в ладоши, шумите) и наблюдайте как изменяется шкала интенсивности звука в виде зажигания адресных светодиодов.
Подсчёт количества хлопков
Шаг 0. Описание задачи
Реализуем устройство, которое подсчитывает количество хлопков в ладоши. После подсчёта количество хлопков выводится на дисплей. Каждый последующий хлопок нужно сделать не позже чем через секунду от предыдущего (это время можно изменить если нужно).
Для этого нам потребуется следующее:
Что нужно | Кол-во, шт |
---|---|
Контроллер Smart Nano | 1 |
Nano Sensor Shield | 1 |
Модуль 4-разрядного индикатора | 1 |
Датчик звука | 1 |
Шлейф x3 | 2 |
Провод мама-мама | 1 |
Шаг 1. Соберите комплектующие по схеме
Схема сборки:
Шаг 2. Загрузите на контроллер код
Не забывайте выбирать в Arduino IDE контроллер Nano.
#include <SevenSegmentTM1637.h> //Подключение библиотеки для работы с дисплеем. const int PIN_SOUND = A3; //Вывод для подключения датчика температуры int clap_q = 0; //Переменная для хранения количества хлопков unsigned long time_long = 1000; //Время, в течении которого будет слушаться звук SevenSegmentTM1637 display(12, 13); //Создание объекта дисплея. (CLK, DIO) //Вычисление количества хлопков void claps_quantity() { if (analogRead(PIN_SOUND) > 100) //если значение шума больше 100 { delay(150); //подождать пока пройдёт звуковая волна clap_q += 1; //увеличить количество хлопков unsigned long new_time = millis() + time_long; //увеличить время ожидания очередного хлопка while (millis() < new_time) //слушать 1 секунду { claps_quantity(); //учесть хлопки, если они есть } } } void setup() { display.begin(); //Инициализация дисплея. display.setBacklight(100); //Установка яркости 100%. display.print("INIT"); //Вывод надписи INIT на дисплей. delay(1000); //Задержка величиной 1 с. display.clear(); //Очистка дисплея. } void loop() { clap_q = 0; //сбросить количество хлопков claps_quantity(); //посчитать количество хлопков if (clap_q > 0) //если хлопков больше 0 { display.clear(); //очистить дисплей display.print(clap_q); //вывести количество хлопков на дисплей display.blink(); //помигать, обозначив что это новое значение } }
Шаг 3. Результат
Производите хлопки (хлопайте в ладоши) и наблюдайте как подсчитанное количество хлопков выводится на дисплей.