Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Сообщество arduino

995 постов сначала свежее
roser66
1 час назад
Лига идей

Осушитель воздуха - кондиционер⁠⁠

Осушитель воздуха, можно превратить в кондиционер. Для этого достаточно добавить в цепь управления включения мотором компрессора холодильного агрегата реле ( твердотельное реле) и управлять им с помощью недорогого термостата с АлиЭкспресс или даже простого таймера или собрать схему на Ардуино. Логика управления - как только радиатор охладителя воздуха достигнет рабочей точки ( то есть самой низкой температуры ), отключаем компрессор при этом вентилятор осуществляющий циркуляцию воздуха продолжает работать и снова его включаем как только радиатор охладителя нагреется за счёт охлаждаемого воздуха и так далее. В принципе такую функцию могли бы и производители осушителей воздуха сделать, получилось бы двойная выгода и экономия электроэнергии ( за счёт периодического отключения компрессора) и охлаждение воздуха в помещении и при этом осушение этого же воздуха будет идти не зависимо в каком режиме работает осушитель.

[моё] Arduino Бытовая техника Электроника Алиэкспресс распродажа Текст
6
12
ardublock
ardublock
23 часа назад
ArduBlock

ArduBlock - Адресная лента + переключение программ на 2x Arduino⁠⁠

ArduBlock - Адресная лента + переключение программ на 2x Arduino Видео ВК, Arduino, YouTube, Вертикальное видео, Ardublock, Новинки, RUTUBE, YouTube (ссылка), Разработка, Видео, Короткие видео, Длиннопост
ArduBlock - Адресная лента + переключение программ на 2x Arduino Видео ВК, Arduino, YouTube, Вертикальное видео, Ardublock, Новинки, RUTUBE, YouTube (ссылка), Разработка, Видео, Короткие видео, Длиннопост
ArduBlock - Адресная лента + переключение программ на 2x Arduino Видео ВК, Arduino, YouTube, Вертикальное видео, Ardublock, Новинки, RUTUBE, YouTube (ссылка), Разработка, Видео, Короткие видео, Длиннопост
Показать полностью 3 1
[моё] Видео ВК Arduino YouTube Вертикальное видео Ardublock Новинки RUTUBE YouTube (ссылка) Разработка Видео Короткие видео Длиннопост
0
27
sergsv1
1 день назад
Arduino & Pi

Двухканальный цифровой вольтметр с графиком и шкалой на Arduino⁠⁠

🧾 Описание проекта

Этот проект представляет собой двухканальный цифровой вольтметр на базе Arduino, предназначенный для одновременного измерения входного и выходного напряжения, а также отображения максимального зафиксированного значения и реального графика изменения напряжения во времени.

Двухканальный цифровой вольтметр с графиком и шкалой на Arduino Arduino, Радиолюбители, Электроника, Вольтметр, Амперметр, Мультиметр, Радиоэлектроника, Радиотехника, Хобби, Видео, YouTube, Длиннопост

Вольтметр отображает:

🟢 Входное напряжение (V In)

🔵 Выходное напряжение (V Out)

🔺 Максимальное выходное напряжение (V Max)

📉 График изменения выходного напряжения

📊 Вертикальную шкалу напряжения справа

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

🔧 Используемые компоненты

Двухканальный цифровой вольтметр с графиком и шкалой на Arduino Arduino, Радиолюбители, Электроника, Вольтметр, Амперметр, Мультиметр, Радиоэлектроника, Радиотехника, Хобби, Видео, YouTube, Длиннопост

⚙️ Схема подключения

Двухканальный цифровой вольтметр с графиком и шкалой на Arduino Arduino, Радиолюбители, Электроника, Вольтметр, Амперметр, Мультиметр, Радиоэлектроника, Радиотехника, Хобби, Видео, YouTube, Длиннопост

🔌 Подключение компонентов

🖥️ OLED-дисплей:

GND → GND

VCC → 5V

SCL → A5

SDA → A4

🎛️ Измерение напряжений:

Arduino измеряет напряжения через аналоговые входы A0 и A1. Но напрямую подавать на них более 5 В опасно. Поэтому используются резистивные делители напряжения.

📥 Делитель для входного напряжения (V In → A0):

Верхний резистор: 40 кОм

Нижний резистор: 10 кОм

Входной сигнал подаётся на верхний резистор

Средняя точка подключается к A0

Позволяет измерять до 25 В

📤 Делитель для выходного напряжения (V Out → A1):

Верхний резистор: 40 кОм

Нижний резистор: 10 кОм

Средняя точка подключается к A1

Такой делитель даёт коэффициент ≈ 1/5, что позволяет измерять до 25 В

⚠️ Подбирайте резисторы с учётом нужного диапазона. Программа изначально рассчитана на вход 0–5 В, поэтому при использовании делителей нужно изменить формулу расчёта напряжения.

⚙️ Как работает программа

Программа построена на основе двух объектов класса VoltMeter, каждый из которых отвечает за измерение напряжения по одному из входов.

А также один экземпляр класса Oscilloscope (осциллограф)

📦 Смотри раздел "Скетч Arduino"

Основные этапы работы:

Измерение напряжений:

Выполняется analogRead() на пинах A0 и A1.

Полученные значения преобразуются в вольты: voltage = raw * (5.0 / 1023.0);

При необходимости можно умножать результат на коэффициент делителя, например voltage *= 2.0;

Отображение данных:

Все показания (V In, V Out, V Max) отображаются в верхней части дисплея крупным текстом.

Используется шрифт TextSize(1) для чёткости и экономии места.

Фиксация максимума:

В каждом измерении программа сравнивает текущее значение с предыдущим максимумом.

При нажатии на кнопку (подключенную к D2) максимум сбрасывается.

График напряжения:

Отдельный класс Oscilloscope сохраняет последние измерения в буфере.

В нижней части дисплея рисуется линия, отображающая изменение напряжения во времени.

График занимает 110 пикселей по горизонтали и не наезжает на шкалу.

Вертикальная шкала справа:

Сегментная шкала (10 делений) показывает текущий уровень выходного напряжения.

Обновляется при каждом цикле измерения.

🧠 Дисплей

Размещение основных блоков отображения на экране OLED дисплея

Отображение на дисплее

Программа строит интерфейс в несколько этапов:

Верхняя часть дисплея — отображает входное и максимальные значения напряжения

Средняя часть — напряжение на выходе блока питания.

Нижняя часть — график напряжения во времени, построенный с использованием массива graphBuffer[], в котором хранятся последние 128 измерений. Этот массив сдвигается каждый раз и отображается как ломаная линия, повторяя форму изменения напряжения.

Правая часть — визуальный уровень напряжения в виде сегментной шкалы, где каждый сегмент активен в зависимости от уровня сигнала.

Такой подход позволяет использовать OLED-дисплей максимально эффективно: информативно и красиво.

📜 Скетч Arduino

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

const int inputPin = A0; // Входное напряжение
const int outputPin = A1; // Выходное напряжение
const int resetButtonPin = 2; // Кнопка сброса максимума

#define GRAPH_HEIGHT 20
#define GRAPH_WIDTH 110 // Оставляем место справа под шкалу
uint8_t graphBuffer[GRAPH_WIDTH];

// Класс вольтметра
class VoltMeter {
private:
int pin;
float voltage;
float maxVoltage;

public:
VoltMeter(int analogInputPin) { // Кнструктор класса
pin = analogInputPin;
voltage = 0.0;
maxVoltage = 0.0;
}

void measure() { // Метод -измерение
int raw = analogRead(pin);
voltage = raw * (5.0 / 1023.0);
if (voltage > maxVoltage) {
maxVoltage = voltage;
}
}

void resetMax() { // Метод - сброс максимального значения
maxVoltage = voltage;
}

float getVoltage() { // Метод - получить измеренное напряжение
return voltage;
}

float getMax() { // Метод - получить максимальное напряжение
return maxVoltage;
}
};

// Класс осциллограф
class Oscilloscope {

public:
Oscilloscope() { // Кнструктор класса
// pin = analogInputPin;
}


void updateGraph(float voltage) {
for (int i = 0; i < GRAPH_WIDTH - 1; i++) {
graphBuffer[i] = graphBuffer[i + 1];
}
uint8_t newY = map(voltage * 100, 0, 500, 0, GRAPH_HEIGHT);
graphBuffer[GRAPH_WIDTH - 1] = newY;
}

void drawGraph() {
int baseY = SCREEN_HEIGHT - 1;
for (int x = 0; x < GRAPH_WIDTH - 1; x++) {
display.drawLine(x, baseY - graphBuffer[x], x + 1, baseY - graphBuffer[x + 1], SSD1306_WHITE);
}
}

void drawScale(float value) {
const int segments = 10;
const int startX = SCREEN_WIDTH - 10; // Правая сторона экрана
const int startY = 58;
const int segWidth = 8;
const int segHeight = 4;
const int gap = 2;

int activeSegments = map(value * 100, 0, 500, 0, segments);

for (int i = 0; i < segments; i++) {
int y = startY - i * (segHeight + gap);
if (i < activeSegments) {
display.fillRect(startX, y, segWidth, segHeight, SSD1306_WHITE);
} else {
display.drawRect(startX, y, segWidth, segHeight, SSD1306_WHITE);
}
}
}
};

VoltMeter vinMeter(inputPin); //Экземпляр класса вольтметр V In
VoltMeter voutMeter(outputPin); // Экземпляр класса вольтметр V Out
Oscilloscope oscill; //Экземпляр класса осциллограф

void setup() {
pinMode(resetButtonPin, INPUT_PULLUP);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(10, 28);
display.println("Digital Voltmeter");
display.display();
delay(1500);
}

void loop() {
vinMeter.measure();
voutMeter.measure();

if (digitalRead(resetButtonPin) == LOW) {
vinMeter.resetMax();
voutMeter.resetMax();
delay(300);
}

float vin = vinMeter.getVoltage();
float vout = voutMeter.getVoltage();
float vmax = voutMeter.getMax();

oscill.updateGraph(vout);
display.clearDisplay();

display.setTextSize(1);
display.setCursor(0, 0);
display.print("V In: ");
display.print(vin, 2);
display.println(" V");

display.setCursor(0, 10);
display.print("V Max: ");
display.print(vmax, 2);
display.println(" V");

display.setCursor(0, 20);
display.print("V Out: ");
display.print(vout, 2);
display.println(" V");

oscill.drawGraph();
oscill.drawScale(vout);

display.display();
delay(200);
}

🧠 Советы и доработки

✅ Добавить коэффициент делителя прямо в класс VoltMeter, чтобы учесть масштабирование.

💾 Сохранять максимум в EEPROM, чтобы он не сбрасывался при перезагрузке.

🧲 Добавить третью строку: ток или мощность, если есть токовый шунт.

📈 Изменить масштаб графика для отображения высокого напряжения.

⚡ Применение

Настройка и тестирование лабораторных блоков питания.

Измерение и контроль напряжения в проектах Arduino.

Демонстрация работы стабилизаторов напряжения.

Учебные и демонстрационные стенды.

Показать полностью 2 1
[моё] Arduino Радиолюбители Электроника Вольтметр Амперметр Мультиметр Радиоэлектроника Радиотехника Хобби Видео YouTube Длиннопост
6
10
EvKi
EvKi
1 день назад

История о том, как я не смог сделать игру за 8 месяцев. Глава первая⁠⁠

Пару лет назад я наткнулся на один крутой проект: ребята взяли легендарную Pong от Atari и сделали её физическую версию.

Всё выглядело максимально весело: реальные "ракетки", мячик, механика — короче, чистый кайф. Раньше они даже продавали наборы для сборки, но как у них дела сейчас — без понятия. Я погряз в собственной попытке воплотить нечто подобное.

Как раз в это время мне пришлось задуматься о проекте для колледжа, так что решение пришло в голову моментально: я сделаю свою версию.

Мне вообще не понравился размер и то, как исключались игроки из игры (натягивание ленты в пазы, они даже не захотели добавить это в превью).

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

Pong² — так я решил назвать сие творение.

С самого начала я решил: никаких готовых решений — только ручная работа, самодельные платы, собственный код и разработка механики с нуля (дурак да и только). Цель была не просто "скопировать игру", а создать своё видение этой игры от первого винтика до последнего байта прошивки.

Провал первый: курсовая за третий семестр

Начали с простого — концепта. Нужно было:

  • чтобы мячик действительно катался по полю, а не просто мигал на экране;

  • игроки управляли платформами с контроллеров;

  • ну и пока можно было не заморачиваться с печатными платами — хватит бредбордов.

Прикинул схему: 8 Ардуин (по 2 на каждый контроллер — одна в руке у игрока, вторая — в “центре управления полётами”). Для движения ракеток - Nema 17, да пару лимит-датчиков, что на 3д принтерах стоят.

Тут подключился один из участников — Саша. Сказал: “Я никогда не моделировал, но хочу попробовать сделать корпус контроллера. Научи.”

А я и не дурак отказываться. Показал ему основы работы в Fusion 360, объяснил как пользоваться скетчами, экструзией, зеркалами и прочими страшными словами — и отпустил в свободное плавание.

Честно? Основу он сделал сам. Да, на финальной стадии я вмешался — сгладил углы, убрал пару «аварийных» мест, но общий дизайн — его заслуга. И, учитывая, что это был его первый опыт в 3D, — респект.

История о том, как я не смог сделать игру за 8 месяцев. Глава первая Проект, Электроника, Проектирование, Дизайн, Своими руками, Arduino, Arkanoid, Atari, Pong, Видео, YouTube, Короткие видео, Без звука, Длиннопост

Угадаешь, каким контроллером он вдохновлялся?

История о том, как я не смог сделать игру за 8 месяцев. Глава первая Проект, Электроника, Проектирование, Дизайн, Своими руками, Arduino, Arkanoid, Atari, Pong, Видео, YouTube, Короткие видео, Без звука, Длиннопост

С дизайном заглядывали наперёд, добавив окошко для ведения счёта. В этой версии счёт показывать не планировалось.

Такое было моё видение игры. Шароуловители должны были появиться позднее, просто было сложно остановиться. Шестерни, натяжители, крепления и тд - всё вычерчено с нуля. За основу взят V-slot 2020, полтора метра в длину (помним, что я хотел побольше, да?), пришлось заказать 20шт.

В качестве толкателей заказаны на алишке соленоиды-толкатели на 20 Ньютонов и ходом сердечника в 10мм.

Связь - пятижильный провод, два провода из которого - питание, два - ШИМ сигнал и ещё один к транзистору, управляющему соленоидом.

История о том, как я не смог сделать игру за 8 месяцев. Глава первая Проект, Электроника, Проектирование, Дизайн, Своими руками, Arduino, Arkanoid, Atari, Pong, Видео, YouTube, Короткие видео, Без звука, Длиннопост

Две основные группы запчастей для игры дались нелегко.

Часы фантазирования, подглядывания и проектирования; многочисленные попытки печати, за которыми обязательно следовали правки дизайна и новые испытания. Уже и не вспомнить, сколько было итераций — процесс оказался долгим, но невероятно увлекательным!

История о том, как я не смог сделать игру за 8 месяцев. Глава первая Проект, Электроника, Проектирование, Дизайн, Своими руками, Arduino, Arkanoid, Atari, Pong, Видео, YouTube, Короткие видео, Без звука, Длиннопост

Вот так выглядит собранная основа

На фото — готовое шасси. Жёсткости конструкции вполне достаточно, а ход кареток получился плавным. Также можно увидеть нарезанную ДСП: два нужных нам куска были покрыты коричневой матовой краской в три слоя для аккуратного внешнего вида, а так же для контраста с белым шариком для софтбола. Шарик для пинг-понга не подошёл - слишком лёгкий и быстро терял бы скорость, не долетая до стороны противника.

Осталось дело за малым - натянуть ремни, собрать бредборды, написать код и убедиться, что нихрена не работает! К сожалению, код и фото бредбордов увидеть не получится, безвозвратно канули в цифровое небытие, вместе со старым ноутбуком...

Поиск ошибок, пот, ненависть, страдания — и всё ради одной цели. И вот, результат перед вами:

Да, можно увидеть, что осталась одна серьёзная проблема: усилия в 20 ньютонов оказалось недостаточно для комфортной игры. Времени на заказ более мощных соленоидов уже не было, поэтому игру демонстрировали в таком виде. К счастью, преподаватели отнеслись с пониманием — всё-таки, создать что-то подобное в отведённые сроки (4 месяца. Ещё про четыре будет в следующей главе) и без единого изъяна почти невозможно. В итоге "провал" был признан успехом, а на будущее заказаны более мощные соленоиды.

Спасибо за внимание! Продолжение следует...

Показать полностью 4 2
[моё] Проект Электроника Проектирование Дизайн Своими руками Arduino Arkanoid Atari Pong Видео YouTube Короткие видео Без звука Длиннопост
2
17
v.azhure
v.azhure
2 дня назад

Замерил сколько потребляет моя самодельная подвижная платформа⁠⁠

Решил замерить потребление моей самодельной подвижной платформы на шаговых серво-двигателях.

Оказалось всё довольно экономно при цене в 5.56 руб за киловатт-час. Выходит около 56 коп. в час. При стоимости ваттметра в 831 руб. за те же деньги можно играть более 1400 часов.

Мой софт: https://github.com/vazhure/vAzhureRacingHub

В последней прошивке добавил возможность работы с SimHub Motion (30$ лицензия). Мой софт абсолютно бесплатен, но меньше настроек...

Скетч для Arduino IDE: https://github.com/vazhure/vAzhureRacingHub/tree/main/Motion...

Замерил сколько потребляет моя самодельная подвижная платформа Своими руками, Симулятор, Arduino, Stm32, Программное обеспечение, Тест, Видеоигра, 2dof, 3D печать, Видео, RUTUBE, YouTube, Длиннопост

Положение кресла (Seat offset) пока не учитывается в расчётах.

Модель для 3д печати линейного актуатора: https://www.printables.com/model/961759-linear-actuator-for-...

✌

Показать полностью 1 1
[моё] Своими руками Симулятор Arduino Stm32 Программное обеспечение Тест Видеоигра 2dof 3D печать Видео RUTUBE YouTube Длиннопост
2
5
ardublock
ardublock
2 дня назад
ArduBlock

ArduBlock - IR Led - Arduino Nano⁠⁠

ArduBlock - IR Led - Arduino Nano Видео ВК, Arduino, YouTube, Вертикальное видео, Ardublock, Видео
Показать полностью 1
[моё] Видео ВК Arduino YouTube Вертикальное видео Ardublock Видео
1
dxxp
dxxp
2 дня назад

Какие номиналы резисторов самые ходовые? Резистор металлаплёночный 1% 0.25Вт 1/4W⁠⁠

Пополняю ассортимент своего магазина. Хотел спросить у более сведущих в этой сфере людей. Какое сопротивление резисторов самое ходовое? Как лучше закупить и каких побольше?

Техника Электроника Электрика Технари Радиокомпоненты Компоненты Радиотехника Самоделки Arduino Stm32 Arduino Nano V3 Радиодетали Резистор Транзистор Сопротивление Физика Запчасти Радио Светодиоды Диоды Текст
10
9
ardublock
ardublock
2 дня назад
ArduBlock

ArduBlock - IR Remote - Arduino Nano⁠⁠

ArduBlock - IR Remote - Arduino Nano Видео ВК, Arduino, YouTube, Вертикальное видео, Ardublock, Новинки, RUTUBE, YouTube (ссылка), Разработка, Видео
Показать полностью 1
[моё] Видео ВК Arduino YouTube Вертикальное видео Ardublock Новинки RUTUBE YouTube (ссылка) Разработка Видео
0
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии