Сообщество - Arduino & Pi

Arduino & Pi

1 493 поста 20 825 подписчиков

Популярные теги в сообществе:

17

Arduino rf433 + силовое реле

Комрады нид  хелп!

летом видел тут пост о управлении силовым реле с помощью пульта через rf433 + ардуино

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

буду очень признателен

134

Сарепта

Всем приятной пятницы, друзья. В очередной раз пытаюсь поддержать древнюю традицию пятничного тега "моё".

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

И так, летс  шоу гоу он! По времени проект занял около месяца-полтора неспешными свободными вечерами. Начал я с корпуса. Смоделировав его в 3ds MAXе перебросил в Pepakur'у, и вытащил оттуда развертку.

По этой развертке вырезал детали корпуса из гофрокартона и склеил их суперклеем с добавлением пары поперечных шпангоутов (форму в итоге немного повело, но не сильно, можно забить)

Затем куча слоев эпоксидки, газет, кусочков серпянки и еще больше эпоксидки (ушла целая пачка).(Дальше фотки чуть хуже, телефон утопил и начал фоткать на тапок)

Параллельно пока сох корпус - я делал гребной винт из банки от кукурузы и велосипедной спицы (на фото уже после покраски), тестировал электронику и "собирал" пульт (на самом деле за основу был взят готовый пульт от старого вертолетика и мне не пришлось тратиться на джойстики и кнопки, просто перепаял все под свои нужды, поменял батарейки на аккумуляторы 18650 и впихнул туда радиоуправление вместо стокового ИК). 

После высыхания корпуса — шпатлевка - шлифовка - шпатлевка - шлифовка и так пока не выровнил. Шпатлевал автомобильной двухкомпонентной шпатлевкой.

Финишная шлифовка, добавление деталей и пара слоев грунтовки сверху. Вы спросите, что же самое приятное можно нащупать в этой жизни? А я вам отвечу — деталь "отполированная" наждачкой с зернистостью 1200..

Ну и самая приятная часть после которой видно какой-никакой результат — это, конечно же, покраска. Красил модельной краской от Звезды мастер-акрил (некоторые детали, кстати, добавлял обычным акрилом от них же, они немного посмывались от воды в последствии, но база сидит как родная). Так же покрасил руль, который выполнен в виде лодочного мотора. И приклеил тряпочный тент, что бы вода внутрь не попадала и что бы начинка вид не портила. Крышка крепится на магнитах.

Получилось вот так. Затем я начал пихать туда электронику. В этом проекте использованы две Arduino nano, радиомодули nRF24L01 с антенной и без, плюс понижайки напряжения для них (по заветам великого и могучего @AlexGyver ), другие преобразователи напряжения (в пульте у меня 3.7В от одной 18650, а в лодке — от двух 7,4В), сервомоторчик, обычный моторчик на 3-5В, драйвер двигателя (что бы плавно повышать обороты, но из-за трения и густой смазки - толком обороты не регулируются, начинает подхватывать только на второй половине хода джойстика) и то что было в пульте — джойстики да кнопки. Плюс три светодиода с резисторами для ходовых огней.

Вышла модель очень медленной, из-за моторчика в первую очередь, но как говорится, из того что было — первый блин в лес не убежит. А во-вторых: велосипедная спица, которая соединяет мотор и гребной винт немного дрожит в дейдвудной трубе, отчего дополнительная потеря оборотов и мощности. На последок вот видео первых испытаний на большой воде. Всем хороших выходных и до новых встреч. Задавайте вопросы в комментариях, с радостью отвечу. Строго не пинайте, это мой дебют в судомоделизме.

Показать полностью 9 1
53

Точность ICU Atmega16/Atmega328

Всем привет. Я все ещё продолжаю борьбу с декодированием PPM.
кому интересны мои потуги ссылка на предыдущий пост:
https://pikabu.ru/story/kak_ya_spektrum_i_hitec_pyitalsya_po...

С выдачей сигнала вполне успешно справляется Timer2. С дефолтными значениями каналов сервы не дрожат, все просто замечательно. А вот с захватом сигнала все ещё затык :(

Дрейф значений получается +-3 мкс. И это при том, что используется только захват, без прерывания по переполнению. Была идея, что это виноват мой код, который считает длину импульса и вносит этим погрешность, но нет... Была написана программа для анализа данных, все расчеты в ней, а скетч только прерывается по захвату и отправляет значение таймера на ком порт. Дрейф точно такой-же.

Скрин работы декодера. Все остальные таймеры отключены.

Нижние 2 строки - максимальные и минимальные значения по каждому из каналов.

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

Отсюда вывод - либо лыжи не едут, либо точность захвата сигнала у атмеги оставляет желать лучшего :(

Товарищи, кто сталкивался с подобным? Что ещё можно придумать? Как быть дальше?

В принципе все уже вполне функционально, но бесит это дёрганье очень сильно. Начинает казаться, что проще от передатчика оставить только джойстики и работать с аналоговыми входами и все миксы, настройки и доп каналы прописать самому... Оно конечно интересно, но тогда теряется сама суть проекта - дёшево и быстро вдохнуть новую жизнь в старый девайс. Так то за 200$ можно купить Taranis и не париться...

Помогайте, товарищи, а то крыша едет уже...

Показать полностью 2
18

Подключение Raspberry Pi 3b+ через RCA.

Силой Пикабу, прошу помощи.
Для минусов в коментариях.
Итак, краткое изложение истории:

Был приобретён RasPi3b+ для подальший установки на него Retropie со всеми вытекающими. Флешка, тюльпан (rca), бп - все исправное и рабочее.
Проблема на фото ниже.

Подключение Raspberry Pi 3b+ через RCA.

Правки в \boot\config.txt успехом не увенчались.
Помогите, решение проблемы на просторах интернетов так не нашел.

Показать полностью 1
43

Как я Spektrum и Hitec пытался подружить (часть 3)

Продолжение поста https://pikabu.ru/story/kak_ya_spektrum_i_hitec_pyitalsya_po...

С теорией разобрались - вырисовывается примерно такая схема:

В роли микроконтроллера атмега16л. Во-первых их есть у меня и куда-то надо девать, во вторых на 8мгц с прескаллером 1/8 таймеры считают каждую микросекунды и математика становиться немного проще. + С точки зрения кода мало что меняется, ТК есть проекты ардуины почти под все чипы АВР.

Код можно посмотреть у меня на гитхабе:

https://github.com/Shkolik/PPM_converter

Код постепенно допиливается, в частности сейчас в планах перейти на прямое управление портами, ТК с таймингом уже есть проблемы. Главная засада сейчас в том, что ардуина считает микросекунды дискретно по 4 при 16мцг и по 8 при 8ми. Это вызывает дрейф значений +-8мкс при чтении, что в свою очередь завтавляет сервы дрожать. И если для какого планера-тренера ещё не так страшно, то для чего либо побыстрее уже очень критично. Так что в первую очередь надо избавиться от использования функции micros() в расчетах и для этих целей использовать последний свободный таймер...

Пару фоток на закуску:

Стабилитрон и резистор распашные прямо на разъем, питание берём там же.

Самый обычный линейный стаб на 5в для питания Меги.

Вот так пока все на соплях. Плату изобретать не хотелось - все же макет.

ISP разъем - прошивку менять придётся часто. Рядом ещё тх/рх уарта, для отладки.

Можно закрывать и дальше работать над кодом.

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

Показать полностью 6
269

Удалённое управление кондиционером через ИК-Порт

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

В основе всего лежит библиотека arduino-heatpumpir именно она позволяет взаимодействовать с кондиционером, на момент прототипирования проходил YAC2018, и по этому решил попробовать Яндекс. Диалоги, которые позволяют создавать навыки для Алисы (хотел использовать бота Telegram) также поскольку это элемент управления умного дома пришёл к решению использовать OrangePI, дабы все устройства взаимодействовали с этой платой а плата с диалогами. То есть работать это должно так:

Это сугубо моё решение, если хотите по простому то рекомендую использовать Blynk, или Universal-Arduino-Telegram-Bot.

Стоимость компонентов получилась ~4$, (Wemos D1 Mini [RobotDyn], и ИК модуль) БП в расчёт не брал. Соединяться очень просто

IN -> D2,

GND -> GND

VCC -> 5V

Крепление на скотч, держится больше месяца

Больше деталей
Wemos с OrangePI соединяются через websocket, на Wemos'e используется Arduino-Websocket, на OrangePi Workerman. Запросы диалогов нужно ещё и обрабатывать, использовал фреймворк Laravel (проще [мне] писать на PHP, поэтому и использовал его). Все запросы обрабатываются в порядке очереди, добавляться записи в БД, а после на основе времени извлекаются, если говорить проще, пример запроса:

SELECT * FROM `queue` WHERE `device_id` = 1 AND `time` <= 1535357950

После ответа Wemos'a запись удаляется, то есть не будет ответа - запись будет циклично отправляться.
Также, хочу отметить, используются шаблоны запросов, текст подставляется под каждый и при совпадении обрабатывается

В результате будет массив с action, num и в зависимости от шаблона, day и time, класс отвечающий за это выгрузил на gist. И в качестве фичи, реализовал уточнение запроса если что-то получено не верно. (Вкл/выкл по таймеру, вырезал из за не надобности, на скрине пример с розеткой)

Большее спасибо что дочитали до конца. Вот видео как это работает: https://youtu.be/lbdwN-Ki7rU, нету рейтинга чтобы прикрепить прямо в пост

Показать полностью 5
112

Сенсорные панели и что из них можно сделать.

Попали мне в руки давеча две новые сенсорные панели , POS терминалы. Начитавшись умных постов , и насмотревшись ютюба решил что и мне пора что то из них сделать. Была мысль продать..достались то на халяву. Но потом решил что проекту быть ( но это не точно )

Так что из них можно сделать ? Учитывая что работают они на стандартной Винде , и по сути это обычный комп, эдакий тонкий клиент но с сенсорным экраном.
подумал что можно запилить под ЧПУ управление , вмонтировать сенс.панель в ящик ,вывести дополнительные органы управления и готово , или может все таки собрать систему лаунчпада. А может ещё у кого идеи есть ?

Пос терминалы новые ,не очень хочется разбирать их по запчастям. А стоять им тоже не следует )) кто что посоветует ? Напишите пожалуйста что бы хотели видеть, открыт к предложениям. Электроники море, могу сваять что нибудь этакое .
спасибо за прочтение .

Показать полностью 1
273

Раздаем WIFI на Raspberry Pi с USB модема

Поставил себе задачу сделать из Raspberry Pi, WIFI роутер на даче. Интернет берем от USB модема (Yota)

Настраивал голый Raspbian


Обновляем систему

$ sudo apt update
$ sudo apt upgrade

Смотрим где у нас находится USB модем (Yota)

$ ifconfig

У меня это eth1

wlan0 - это интерфейс WIFI


Открываем файл и задаем IP адреса

$ sudo nano /etc/network/interfaces

Копируем в файл, для модема делаем назначение IP с использованием DHCP

auto eth1
allow-hotplug eth1
iface eth1 inet dhcp

allow-hotplug wlan0
iface wlan0 inet static
address 192.168.10.1
netmask 255.255.255.0
broadcast 192.168.10.255
network 192.168.10.0

Для применения создаем скрипт

$ sudo nano dn.sh

Копируем и сохраняем

#!/bin/bash
systemctl stop NetworkManager.service
echo "Network Manager stopped"
systemctl disable NetworkManager.service
echo "Network Manager disabled"
echo "Rebooting...."
reboot

Выполнить скрипт, Raspberry перезагружается

$ sudo sh dn.sh

Устанавливаем Hostapd

$ sudo apt install hostapd
$ sudo service hostapd stop

Создаем файл конфигурации WIFI

$ sudo nano /etc/hostapd/hostapd.conf

Копируем и заменяем имя сети и пароль

nterface=wlan0
ssid=YOUR_WIFI_NAME
wpa_passphrase=WIFI_PASSWORD
hw_mode=g
ieee80211n=1
channel=6
wmm_enabled=1
ignore_broadcast_ssid=0
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

Закрываем сохраняем.



$ sudo nano /etc/default/hostapd

# снимаем комментарий с DAEMON_CONF=”” вписываем /etc/hostapd/hostapd.conf

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Запускаем службу

$ sudo service hostapd start

На данном этапе будет доступна WIFI сеть но не будет интернета.


Устанавливаем DHCP server

$ sudo apt install isc-dhcp-server

$ sudo service isc-dhcp-server stop
$ sudo mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.bak

Настраиваем DHCP

$sudo nano /etc/dhcp/dhcpd.conf

Копируем сохраняем

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.10.255;
option routers 192.168.10.1;
option domain-name-servers 192.168.10.1,8.8.8.8;
option domain-name "home.ru";
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.150;
}
$ sudo nano /etc/default/isc-dhcp-server

Прописываем интерфейс для INTERFACES="wlan0" Для IPv4 и для IPv6


Запускаем DHCP server

$ sudo service isc-dhcp-server start

Выпадает ошибка можно игнорировать. После перезагрузки все будет работать.

Активируем IPv4 forwaring

$ sudo nano /etc/sysctl.conf

# Снять комментарий с net.ipv4.ip_forward=1


$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

Настраиваем Firewall

$ sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
$ sudo iptables -A FORWARD -i eth1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
$ sudo iptables -A FORWARD -i wlan0 -o eth1 -j ACCEPT
$ sudo iptables -L -n -v
$ sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

Открываем

$ sudo nano /etc/rc.local

Удаляем все над "exit 0" и выше копируем iptables-restore < /etc/iptables.ipv4.nat


$ sudo reboot

После перезагрузки можно подключаться к WIFI

Промучился сам долго, статью русскую не нашел. Брал кусками основной источник тут

Для ssh IP будет 192.168.10.1

Показать полностью 1
Отличная работа, все прочитано!