Принцип работы такого осциллографа прост: он использует один из аналоговых входов «Ардуино» для измерения сигнала быстрым образом. Измеренные значения затем посылаются к компьютеру с помощью последовательного порта. Программное обеспечение будет получать показания и переносить их на график.
Проект осциллографа с «Ардуино» является открытым.
Для его работы вам также необходим Processing, платформа, используемая для создания графики в Java. Processing также является открытой программой, которую можно скачать по адресу: http://www.processing.org.
Для установки вам прежде всего необходимо загрузить скетч «Ардуино» на плату, после чего можно закрыть «Ардуино» IDE. Скетч минимален. Достаточно прочитать значения, которые содержатся на аналоговом контакте (А0), и записать их в последовательный порт с помощью команды Serial.write(). В setup скетча скорость передачи данных установлена на 9600 бод; попробуем изменить ее для лучшего чтения. Важно установить такую же скорость в скетче Processing.
#define ANALOG_IN А0
void setup() {
Serial.begin(9600);
//Serial, begin(115200);
}
void loop() {
int val = analogRead(ANALOG_IN);
Serial.write(0xff);
Serial.write((val >> 8) & 0xff);
Serial.write(val & 0xff);
}
После загрузки прошивки оставим плату подключенной к компьютеру. Следующий шаг заключается в загрузке файла pmscope_display.pde в Processing, который написал Софиан Одри.
Открываем новое окно в Processing и вставляем код, который можно скачать по адресу http://bit.ly/elmaker_oscilloscopio. Processing должен быть хорошо знаком, поскольку это та же платформа, используемая для «Ардуино». Для выполнения скетча жмем на кнопку с треугольником, которую мы находим на панели инструментов. Однако перед запуском мы должны изменить настройки последовательного порта. Processing также содержит скетч с разделом setup(). В setup(). мы найдем следующую команду:
// Open the port that the board is connected to and use the
// same speed (9600 bps)
port = new Seria(this, Serial.list()[0], 9600);
Программа принимает список последовательных портов на компьютере и подключается к первому из списка… который, конечно, может быть не от «Ардуино»! Если вы видите какие-либо сообщения об ошибках или вообще ничего не видите, попробуйте изменить число в квадратных скобках. С 0 мы нацелены на первый порт из списка, попробуйте написать один или два и посмотреть, работает ли порт.
Для чтения показаний подключим Землю (GND) «Ардуино» с Землей испытываемой цепи, затем вставим перемычку в АО и подадим на нее исследуемый сигнал.
Рис. В1.
Синусоидальный сигналРис. В2.
Треугольный сигналНачиная с первоначального проекта были разработаны другие, среди которых я отмечу: https://code.google.eom/p/arduinoscope/.
Этот вариант немного сложнее, потому что он требует установки двух библиотек в Processing, а также патча для «Ардуино». Интерфейс в Processing более полный, он может заморозить отображение сигналов, может считывать контакты, а также отображает напряжения в вольтах.
Ссылки в интернете
Краткий перечень производителей и дистрибьюторов электронных компонентов:
• Adafruit (http://www.adafruit.com/)
• Arduino (http://arduino.cc/) (http://arduino.ru/)
• BeagleBone (http://beagleboard.org/)
• DigiKey (http://www.digikey.ru/)
• Farnell (http://ru.farnell.com/)
• Mouser (https://ru.mouser.com/)
• OpenPicus (http://www.openpicus.com/)
• Raspberry Pi (http://www.raspberrypi.org/)
• Robot Italy (http://www.robot-italy.com/)
• RS component (http://ru.rs-online.com/web/)
• SeedStudio (http://www.seeedstudio.com/)
• Sparkfun (http://www.sparkfun.com/)
• Waveshare (https://www.waveshare.com/)
• Wiring (http://wiring.org.co/)
• Амперка (http://amperka.ru/)
• Чип и Дип (https://www.chipdip.ru/)
Полезные ссылки
• Документация по программированию ATtiny на highlowtech.org.
• www.zeppelinmaker.it – указываю также мой сайт, на котором я публикую интересные статьи, связанные с Digital Fabrication. Сайт содержит раздел, посвященный этой книге, где вы найдете дополнительную информацию и проекты.
• StackExchange – сайт, где вы можете публиковать вопросы и делиться сомнениями для получения ответов от других пользователей – http://electronics.stackexchange.com/.
• На сайте Instructables (http://www.instructables.com/) вы найдете полное описание электронных проектов, с подробными инструкциями для их реализации.
Техническое описание
Для поиска технических описаний я использую сайты RS Components или Farnell. На странице каждого компонента прикрепляются технические файлы с размерами и спецификацией. Вам не нужно регистрироваться для доступа к файлам.
Приложение для смартфона