По воздуху то будет работать, а в воду не засунете!
Лучшие сообщения pi
-
Подключение по HDMI_0
Купил я себе сей аппарат, но с ходу начались проблемы. Сначала думал вообще не исправный. Подключил малинку на первый порт HDMI_0 к телевизору - нет видеосигнала. Переставил систему на флешке, покопался в конфиге, задал сейфмоде, и усилил сигнал. После перезагрузки и включение в HDMI_1 порт телевизор малинку увидел. Но в разбиан под второй порт нельзя было выбрать HD разрешения. Покопавшись еще в конфиге смог таки задать нужное мне разрешение и частоту развертки, но вылезла другая проблема - проигрыватель VLC показывает только черный экран в полноэкранном режиме если шнур включен во второй порт HDMI_1. Переключился на первый HDMI_0, о чудо, все работает, но до первой перезагрузки, то есть телевизор работает от порта номер 0 если перегрузиться на первом и на горячую переключиться на нулевой. Если включить малинку сразу подключенную на нулевой HDMI то на телевизоре нет видеосигнала. Что же делать как же быть, куда копать?
-
RE: Ввод ключевого слова для выхода из цикла
@Sailwork#6598 Есть у кого какие-нибудь идеи реализации такого алгоритма
Да какие тут идеи?! Ситуация обсосанная тысячу раз. Без привязки к языку программирования:
- Создаём переменную, управляющую повторением цикла и присваиваем ей значение TRUE
- Создаём нить, которая висит на ожидании ввода с клавиатуры. По нажатию Enter проверяется, что введено. Если это команда остановки, то переменной цикла присваиваем FALSE и завершаем нить.
- Запускаем основной цикл, который крутится пока управляющая переменная TRUE
-
Подключение DC электромоторов к Raspberry Pi через драйвер L298N
Если вы захотите собрать робота на колёсах, то столкнётесь с необходимостью изучения принципов работы управляющего электромоторами драйвера. Самый простой, недорогой и распространённый драйвер - L298N . Он может управлять скоростью и направлением вращения электромоторов
Управление DC электромоторами
Управление электромотором подразумевает под собой управление скоростью и направлением его вращения. Это достигается сочетанием двух методов:
ШИМ (широтно-импульсная модуляция) для управления скоростью вращения
H-Bridge - для управления направлением вращенияУправление скоростью вращения при помощи ШИМ
Скорость вращения мотора регулируется через изменение уровня подаваемого на него напряжения.
ШИМ это методика, суть которой состоит в том, что среднее значение напряжение на входе регулируется серией импульсов ВКЛ-ВЫКЛ, т.е быстрыми включениями и выключениями подачи напряжения питания к двигателю.
Средняя величина напряжения будет пропорциональна коэффициенту заполнения (ширине) импульса - чем больше коэффициент, тем выше напряжение, и наоборот.
Эта картинка иллюстрирует данную зависимость:
H-Bridge
Направление вращения регулируется сменой полярности входного напряжения. Стандартным способом реализации такой смены является H-Bridge
В электрической цепи (которая визуально напоминает букву Н) H-Bridge присутствуют 4 ключа с мотором в центре этой цепи.
Полярность входного напряжения на моторе будет зависить от того, какая пара ключей замыкает цепь в настоящий момент. Вот так это выглядит:
L298N - драйвер электромотора
Основой этого модуля является чёрный чип с радиатором. L298N является двухканальным драйвером, и следовательно может независимо управлять двумя электромоторами. Поэтому данный драйвер хорошо подходит для использования в двухколёсных роботах, поворот которых осуществляется за счёт разницы в скорости вращения правого и левого колеса.
Питание драйвера
Питание к L298N подаётся через трёхконтактный зажимной терминальный разъём (провода вставляются в разъём и зажимаются вращением винта на разъёме).
- 1 контакт Vs - питание, которое будет подаваться через драйвер на моторы;
- 2 контакт GND - земля;
- 3 контакт Vss - питание 5V для управляющего драйвером устройства, в качестве которого может выступать микроконтролер или Raspberry Pi)
L298N имеет также встроенный стабилизатор (78M05) напряжения до 5V. Когда установлен джампер, то этот стабилизатор работает и с контакта Vss можно снимать 5V 0.5А для питания управляющего драйвером устройства. Когда джампер снят, то стабилизатор выключен, а значит нам нужно питатьуправляющее драйвером устройство от независимого источника питания.
Использование джампера запрещено, при подаче на 1-ый контакт (Vs) напряжения, превышающего 12В. Это может привести к выходу из строя стабилизатора78M05 .
Если джампер установлен, то контакт Vss работает как выход . Подавать на него напряжение извне в этом случае запрещено
Падение напряжения на L298N
Падение напряжение на драйвере может достигать 2В, за счёт падения напряжения на транзисторах Н-Моста. Таким образом, при подаче на контакт Vs 12В до электромоторов дойдёт только 10В, а значит они не смогут выйти на максимум своих оборотов (естественно речь идёт о 12-ти вольтовых DC электромоторах). Таким образом напряжение, подаваемое на контакт Vss должно быть на 2V выше напряжения работы электромотора (14В для 12-ти вольтовых моторов, 7В для пятивольтовых соответственно)
Подключение DC электромоторов к драйверу
Электромоторы подключаются к зажимным контактам по краям платы.
Можно подключать электромоторы, рассчитанные на напряжение 5-35V. Максимальный ток от драйвера к каждому мотору - 2А (если источник питания драйвера умеет отдавать столько тока)Контакты контроля направления вращения
Используя контакты IN1-IN4, можно менять направление вращения электромоторов (различные уровни напряжения на этих контактах приводят к замыканию нужных пар ключей Н-Моста драйвера L298N) - по часовой стрелке или в обратном направлении.
Контакты IN1 IN2 управляют направлением вращение первого электоромотора (А), IN3 IN4 - второго электромотора (В) Направление вращения моторов зависит от того, какой уровень напряжения (высокий или низкий) подаётся на эти контакты.
Возможно 4 варианта:
- Низкий уровень напряжения на обоих контактах - мотор выключен
- Высокий уровень напряжения на обоих контактах - мотор выключен
- In1 высокий уровень, In2 низкий уровень - мотор вращается вперёд
- Ln1 низкий уровень, In 2 высокий уровень - мотор вращается назад
Контакты контроля скорости
Для управления скоростью вращения моторов используется контакты ENA (мотор А), ENB(мотор В)
Низкий уровень - мотор отключен, высокий уровень - мотор работает на максимальных оборотах, ШИМ - различная скорость вращения в зависимости от коэффициента заполнения импульсов. По умолчанию на этих контактах установлены джамперы, их следует снять, если вы хотите управлять оборотами.
Подключение L298N к Raspberry Pi
Теперь, когда мы хорошо знакомы с драйвером L298N, можно подключить к нему питание, моторы и Raspberry Pi
Raspberry Pi я запитал через 5V внешний аккумулятор PowerBank. Поскольку у меня не было аккумулятора на 12V драйвер L298N я запитал от того же внешнего аккумулятора, вставив в него повышающий DC/DC преобразователь
В следующей статье рассмотрим программирование двухколёсного робота с драйвером L298N
-
Обновление форума
Форум обновился.
Старые сообщения удалось перенести, но информация об авторах сообщений утеряна.
Поэтому у всех старых сообщений один и тот же автор -
RE: Из Питера кто сможет помочь со сборкой малины? Не бесплатно
Как понять "сборка" малины? Блок питания воткнул - вся сборка.
Или вы работников ищите для сборки ягод в садах?
-
Использование Raspberry Pi как беспроводной точки доступа
Raspberry Pi внутри Ethernet сети может выступать как беспроводная точка доступа для беспроводных устройств.Существует два режима работы такой точки доступа - обычный и мост. В обычном режиме Raspberry Pi создаёт дополнительную сеть, которая изолирована от Ethernet сети. Схема сети для этого режима:
Если вам нужно раздать существующее Ethernet соединение беспроводным устройствам, то на Raspberry Pi нужно настраивать как точку доступа, работающую в режиме моста:
В этой статье сначала рассмотрим обычный режим, а потом мостПодготовка
Для настройки необходим администраторский (root) доступ к Raspberry Pi.
Подключите Raspberry Pi к Ethernet сети кабелем и загрузите его.
В этой статье предполагается, что сеть с IP адресами 10.10.0.0/24 основная, а Raspberry Pi управляет сетью для беспроводных клиентов 192.168.4.0/24
Также для тестирования точки доступа необходим клиент беспроводной сети(ноутбук, смартфон, и т.д)
Установка необходимого ПО
Чтобы Raspberry Pi мог работать как точка доступа необходимо установить пакет hostapd
sudo apt install hostapd
Активируйте службу беспроводной точки доступа и включите для неё автозапуск после загрузки:
sudo systemctl unmask hostapd sudo systemctl enable hostapd
Чтобы предоставить беспроводным клиентам службы управления сетью (DNS, DHCP) установите пакет dnsmasq
sudo apt install dnsmasq
Чтобы настройки файервола не сбрасывались после перезагрузки, установим пакет netfilter-persistent и плагин к нему iptables-persistent.
sudo DEBIAN_FRONTEND=noninteractive apt install -y netfilter-persistent iptables-persistent
Установка ПО закончена и далее нам предстоит его настроить
Настройка маршрутизатора
Raspberry Pi поднимет отдельную одиночную беспроводную сеть и будет управлять ей. А также маршрутизировать трафик между клиентами беспроводной сети и клиентами основной Ethernet сети и роутером.
Для беспроводной сети на Raspberry Pi запущен DHCP сервер, для работы которого требуется присвоить беспроводному интерфейсу (wlan0) статический IP адрес
Присваиваем статический IP адрес (192.168.4.1) точке доступа:
sudo nano /etc/dhcpcd.conf
В конец файла добавьте следующие строки:
interface wlan0 static ip_address=192.168.4.1/24 nohook wpa_supplicant
Настройка маршрутизации и IP маскарадинга
В этом разделе рассмотрим вопрос доступа беспроводных устройств из вспомогательной сети, организованной Raspberry Pi, к компьютерам основной Ethernet-сети и интернету.Для включения маршрутизации добавим в конфиг /etc/sysctl.d/routed-ap.conf строку:
# Enable IPv4 routing net.ipv4.ip_forward=1
Активация маршрутизации откроет участникам сети 192.168.4.0/24 доступ к основной сети и доступ в Интернет через основной роутер. Raspberry Pi может подменять IP адреса участников беспроводной сети своим IP адресом в основной сети, используя правило "маскарада" в своём файерволе, чтобы разрешить сетевой трафик между участниками беспроводной сети и Интернетом без изменения настроек роутера.
Основной роутер будет воспринимать весь трафик от клиентов беспроводной сети, как трафик от Raspberry Pi
Весь входящий трафик будет поступать на Raspberry Pi и перенаправляться клиенту беспроводной сети
Добавляем новое правило в файервол Raspberry Pi:sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Сохраняем правило при помощи netfilter-persistent, чтобы оно не сбросилось при перезагрузке.
sudo netfilter-persistent save
Настройки файервола хранятся здесь - /etc/iptables/. Не забывайте использовать netfilter-persistent при внесении изменений в правила файервола.
Настройка DHCP и DNS для беспроводной сети
Службы DHCP и DNS предоставляются пакетом dnsmasq. В стандартном конфиге dnsmasq содержатся примеры всех возможных настроек, нам нужны только некоторые, поэтому проще создать конфиг с нуля. На всякий случай сохраняем старый конфиг и создаём новый с таким же именем:
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig sudo nano /etc/dnsmasq.conf
Прописываем настройки в конфиг:
interface=wlan0 # Listening interface dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h # Pool of IP addresses served via DHCP domain=wlan # Local wireless DNS domain address=/gw.wlan/192.168.4.1 # Alias for this router
Raspberry Pi будет выделять клиентам IP-адреса в диапазоне 192.168.4.2-192.168.4.20
Клиенты могут обращаться к RaspberryPi по доменному имени gw.wlan
В разных странах действуют свои телекоммуникационные правила и разрешённые для радиопередачи диапазоны. Операционная система Linux помогает пользователям выполнять эти правила
В операционной системе Raspberry Pi OS работа беспроводной сети в диапазоне 5GHz запрещена до тех пор, пока пользователь не внесёт в настройках двухбуквенный код страны (RU для России).
Настройка ПО
Чтобы убедиться, что работа Wi-Fi не заблокирована выполните команду
sudo rfkill unblock wlan
Далее создадим конфиг hostpad ( /etc/hostapd/hostapd.conf) и пропишем в него настройки:
country_code=RU interface=wlan0 ssid=NameOfNetwork hw_mode=g channel=7 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=AardvarkBadgerHedgehog wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
Обратите внимание, что имя сети (параметр ssid) и пароль (параметр wpa_passphrase) не должны содержать кавычек. Пароль должен иметь длину от 6 до 64 символов
Указание кода страны позволяет Raspberry Pi использовать для передачи данных разрешённые в этой стране частоты.
Чтобы использовать для передачи данных диапазон 5 GHz, нужно поменять параметр hw_mode=g на hw_mode=a. Возможные значения параметра hw_mode:
a = IEEE 802.11a (5 GHz) (доступно начиная с модели Raspberry Pi 3B+) b = IEEE 802.11b (2.4 GHz) g = IEEE 802.11b (2.4 GHz)
После смены режима hw_mode, возможно потребуется и смена номера канала (параметр channel)
Завершение
Теперь осталось только перезагрузиться.
В следующей статье рассмотрим организацию точки доступа на Raspberry Pi в режиме моста