Рисуем на осциллографе с помощью Arduino


При помощи контроллера Arduino можно выводить простые рисунки на экране осциллографа.
Для этого, нужно задействовать всего два вывода от Arduino Nano для генерации быстрого ШИМ-сигнала. Затем, сигнал нужно отфильтровать при помощи простого фильтра из резистора (1k) и конденсатора (100nF) (RC-фильтр).
И всё — можно рисовать фигуры на осциллографе в режиме XY.
Единственное ограничение — формы должны быть простыми и заканчиваться в том же месте, где они начинаются (без самопересечений).

Схема
Рисуем на осциллографе с помощью Arduino

Скетч для Arduino

//Inputs/Outputs
int X_pin = 6;
int Y_pin = 5;
int Pot = A0;

int point_delay = 1000;         //Delay between loops in us
#define how_many_vertices  19   //Put here the amount of vertices that you ahve
//Coordinates for the X axis (remember, up to 254 coordinates)
byte x_axis[how_many_vertices] = {
  9,9,3,9,4,9,6,9,8,10,12,11,14,11,16,11,17,11,11};
//Coordinates for the Y axis
byte y_axis[how_many_vertices] = {
  3,6,6,10,10,14,14,17,17,19,17,17,14,14,10,10,6,6,3};


void setup() {
  pinMode(X_pin,OUTPUT);      //Define the pin as output
  pinMode(Y_pin,OUTPUT);      //Define the pin as output
  pinMode(Pot,INPUT);         //Define the pin as input for the potentiometer

  //Now we adjust PWM frequency using Prescale_factor
  TCCR0A =  (TCCR0A & B10100011 + TCCR0A | B10100011);  //(1<

Ссылки
Arduino XY plot draw oscilloscope christmas tree

По теме
ШИМ - Широтно-Импульсная Модуляция
Практическое программирование Arduino - Аналоговый ввод – осциллограф

Arduino
Ардуино что это и зачем?
Arduino, термины, начало работы
КМБ для начинающих ардуинщиков
Состав стартера (точка входа для начинающих ардуинщиков)


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Arduino Bluetooth CraftDuino DIY Google IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение