Как взять под контроль Raspberry Pi
![Raspberry Pi - Что можно сделать? Готовые проекты. Есть ли смысл? Как научиться?](https://i.ytimg.com/vi/GVrrjG3ezMs/hqdefault.jpg)
Содержание
- этапы
- Часть 1 Установка ОС
- Часть 2 Скачать NOOBS
- Часть 3 Формат SD карты
- Часть 4 Скопируйте NOOBS на SD-карту
- Часть 5 Взять под контроль Raspberry Pi
- Часть 6 Настройка сети
- Настроить проводную сеть
- Настройте беспроводную сеть (SSH / Wi-Fi)
- Часть 7 Установите Geany IDE
- Часть 8 Вождение двигателя постоянного тока в Python (часть проводки)
- Часть 9 Завершите соединения
- Часть 10 Управление двигателем постоянного тока в Python (часть программирования)
- Часть 11 1-й вызов
- Используйте ультразвуковой датчик HC-SR04 (проводка)
- Используйте ультразвуковой датчик HC-SR04 (часть программирования)
- Часть 12 2-й вызов
Raspberry Pi - это компьютер размером с кредитную карту. Он разработан и изготовлен Фондом Raspberry, который является некоммерческой организацией, занимающейся созданием компьютеров и программ максимально доступными. Первоначальной миссией проекта Raspberry было создание максимально дешевого компьютера с хорошими возможностями программирования. Итак, отдайте его в руки студентов. Цель этого руководства - заложить основы использования Raspberry Pi и тем самым облегчить его использование.
Предупреждение. Эта статья для людей с хорошим компьютерным опытом.
этапы
Часть 1 Установка ОС
- Понять, что такое NOOBS (New Out Of Box Stoftware). Это менеджер установки для различных операционных систем, которые могут использоваться с Raspberry Pi, его целью является облегчение установки операционной системы (ОС) по нашему выбору. Это первый контакт с программной частью нашего микрокомпьютера. В NOOBS включены следующие операционные системы:
- Raspbian
- Pidora
- OpenELELC
- RaspBMC
- RISC OS
- Арка Линус
- Оборудование, необходимое для этого урока:
- ПК
- SD-карта класса 4 объемом не менее 8 ГБ
- Оригинальная коробка с Raspberry Pi уже содержит предустановленную карту памяти SD с NOOBS. Следующие шаги полезны только при установке на новую SD-карту.
Часть 2 Скачать NOOBS
-
Вы можете скачать "NOOBS" по следующему адресу: NOOBS
Часть 3 Формат SD карты
- Обязательно иметь SD-карту объемом не менее 4 ГБ. Однако рекомендуется использовать 8 ГБ.
Часть 4 Скопируйте NOOBS на SD-карту
- Распакуйте файлы. Извлеките документы из zip-файла с именем NOOBS, загруженного на первом этапе. Скопируйте извлеченные файлы на вновь отформатированную SD-карту. Однако, будьте осторожны, что в некоторых случаях извлеченные файлы могут перейти в новую папку, и в этом случае лучше скопировать сами файлы, чем папку.
- При первом запуске отобразится список доступных операционных систем.
Часть 5 Взять под контроль Raspberry Pi
- Чтобы использовать Raspberry Pi, выполните следующие действия.
- Вставьте SD-карту в Raspberry, пока не услышите «щелчок».
- Подключите кабель HDMI и подключите его к экрану. Не забудьте подключить и включить
- экран. Питание малины с зарядным устройством Micro USB
- Подключите клавиатуру и мышь к любому USB-порту.
- После выполнения этих шагов вы увидите на своем мониторе, что загружается программное обеспечение NOOBS. После загрузки появится список операционных систем, которые можно установить. Raspbian - рекомендуемая ОС для установки. Выберите Raspbian и нажмите кнопку «Установить», расположенную в верхней части окна.
-
Установка занимает около 20 минут. Когда установка завершится, появится черный командный экран. Затем по запросу программы необходимо будет ввести имя пользователя: «pi» и пароль: «raspberry». Затем введите следующее в командной строке и нажмите клавишу «Ввод»:StartX
- Поздравляем! Вам удалось установить среду, необходимую для использования вашего Raspberry pi :)! Теперь перейдем к настройке сети.
Часть 6 Настройка сети
Подключитесь к интернету. После того, как Raspberry Pi станет функциональным, вам нужно будет настроить подключение к Интернету для Raspberry Pi. После этого вы сможете работать в Интернете, как совершенно другой компьютер. Существует два способа настройки подключения: проводное (с помощью кабеля Ethernet) или беспроводное соединение по Wi-Fi. Выполните следующие действия, чтобы настроить сеть.
Настроить проводную сеть
- Необходимое оборудование:
- функциональный Raspberry Pi (см. Начало работы с Raspberry Pi)
- кабель Ethernet
- Просто подключите одну из кабельных головок Ethernet к предоставленному порту на Raspberry Pi, а другую - к модему или маршрутизатору доступа в Интернет. В результате Raspberry Pi будет автоматически подключен к Интернету.
Настройте беспроводную сеть (SSH / Wi-Fi)
- Необходимое оборудование:
- функциональный Raspberry Pi (см. Начало работы с Raspberry Pi 3)
- Wi-Fi USB-ключ
- Подключите USB-флешку к одному из доступных портов Raspberry Pi.
-
Откройте службу настройки Wi-Fi, нажав значок в меню.- После открытия сервиса вы увидите следующий интерфейс.
- После открытия сервиса вы увидите следующий интерфейс.
-
Нажмите на кнопку сканирования. Новое окно появится. Следовательно, он будет дублировать сеть, которую мы хотим использовать. -
Введите пароль. Введите пароль доступа к сети в поле Pre-Shared Key (PSK), как показано ниже.- Теперь нажмите «Сохранить» и добавьте сеть. После этого вы будете подключены к сети Интернет.
- Теперь нажмите «Сохранить» и добавьте сеть. После этого вы будете подключены к сети Интернет.
Часть 7 Установите Geany IDE
- Geany - легкий электронный издатель, использующий GTK + и Scintilla и включающий в себя основные функции интегрированной среды разработки. Разработанный, чтобы иметь немного зависимостей и запускаться быстро, он поддерживает языки C / C ++, Java, JavaScript, PHP, HTML, CSS, Python, Perl, Ruby, Pascal и Haskell.
-
Откройте командную строку в меню. - Введите командную строку «sudo root», чтобы находиться в корневой папке Raspberry. Затем введите имя пользователя «пи» и пароль «малина».
- Введите следующую командную строку.
apt-get установить python geany xterm
- Установка занимает несколько секунд.
- Откройте Geany IDE в меню.
- Теперь вы можете написать свою первую программу, создав первый файл на вкладке «Файл».
- Как только ваш код написан, все, что вам нужно сделать, это зарегистрироваться и скомпилировать код.
Часть 8 Вождение двигателя постоянного тока в Python (часть проводки)
В этой части мы покажем вам, как подключить двигатель постоянного тока к Raspberry Pi и как создать небольшую программу на python, способную изменять скорость вращения и направление двигателя постоянного тока.
-
Этот небольшой урок, вероятно, поможет вам позже для реализации вашего проекта робота. - Понять принцип. Прежде всего, вы должны знать, что двигатель постоянного тока не подключается напрямую к выводам GPIO Raspberry Pi, Действительно, ток, который будет использоваться для вращения двигателя (-ов), будет достаточно высоким для нашего маленького Raspberry Pi, и он может быть поврежден.
- Вот почему мы собираемся использовать микросхему, предназначенную для управления до двух двигателей постоянного тока. Микросхема L293D.
- Важной особенностью Raspberry Pi является ряд выводов GPIO в углу платы. Любой из выводов GPIO может быть обозначен в программировании как входной или выходной.
- Вот почему мы собираемся использовать микросхему, предназначенную для управления до двух двигателей постоянного тока. Микросхема L293D.
- Провод L293D.
- Контакты 4, 5, 12 и 13 L293D должны быть подключены к GND, как видно на рисунке. Штырек 16 L293D позволяет ему питаться. Мы будем кормить его в 5V. Это напряжение не передается на двигатель, а только на микросхему L293D.
- Для питания двигателя используйте контакт 8 L293D (положительный вывод), подключенный к аккумуляторам или батарее. Отрицательный вывод должен быть подключен к земле (GND). Будьте осторожны, чтобы не превысить предел напряжения для двигателя.
- Контакты 4, 5, 12 и 13 L293D должны быть подключены к GND, как видно на рисунке. Штырек 16 L293D позволяет ему питаться. Мы будем кормить его в 5V. Это напряжение не передается на двигатель, а только на микросхему L293D.
-
Подключите мотор. Чтобы подключить первый двигатель, просто подключите его к контактам 3 и 6 (выход 1A и 1B) микросхемы L293D.
Часть 9 Завершите соединения
- Вывод 1 микросхемы L293D является выводом включения первого двигателя. Когда этот вывод логически «высок», двигатель работает на максимальной скорости, а когда этот вывод логически «низок», двигатель остановлен. Чтобы снизить частоту вращения двигателя, достаточно сыграть в этих двух состояниях, чередуя их очень быстро. Это называется «ШИМ» (широтно-импульсная модуляция). Мы собираемся подключить контакт 1 чипа L293D к контакту 22 Raspberry Pi для контроля скорости.
- Чтобы контролировать направление вращения двигателя, вам нужно повеселиться с контактами 2 и 7 микросхемы L293D. Когда контакт 2 «высокий», а контакт 7 «низкий», двигатель будет вращаться в одном направлении. Если два логических состояния поменялись местами между этими двумя контактами, двигатель будет вращаться в другом направлении. Мы собираемся соединить контакт 2 чипа l293D с контактом 18 Raspberry, а контакт 7 чипа l293D с контактом 16 Raspberry.
- Чтобы контролировать направление вращения двигателя, вам нужно повеселиться с контактами 2 и 7 микросхемы L293D. Когда контакт 2 «высокий», а контакт 7 «низкий», двигатель будет вращаться в одном направлении. Если два логических состояния поменялись местами между этими двумя контактами, двигатель будет вращаться в другом направлении. Мы собираемся соединить контакт 2 чипа l293D с контактом 18 Raspberry, а контакт 7 чипа l293D с контактом 16 Raspberry.
Часть 10 Управление двигателем постоянного тока в Python (часть программирования)
- Этот небольшой код позволяет контролировать направление и скорость вращения двигателя. Сначала он поворачивает в одном направлении с высокой скоростью в течение 3 секунд. Затем на пониженной скорости. Затем направление вращения меняется на противоположное, и двигатель вращается с пониженной скоростью, а затем с высокой скоростью. Теперь мы позволим вам изучить этот код:
импортировать GPIO.setmode (GPIO.BOARD) GPIO из времени импортировать sleep RPi.GPIO
- Теперь мы можем настроить порты GPIO.
Motor1A = 16 ## Выход A первого двигателя, контакт 16 Motor1B = 18 ## Выход B первого двигателя, контакт 18 Motor1E = 22 ## Активация первого двигателя, контакт 22 GPIO.setup (Motor1A, GPIO.OUT) ## 3 вывода выводятся (OUT) GPIO.setup (Engine1B, GPIO.OUT) GPIO.setup (Engine1E, GPIO.OUT)
- Здесь мы настраиваем ШИМ.
pwm = GPIO.PWM (Motor1E, 50) ## Пин 22 в ШИМ с частотой 50 Гц. pwm.start (100) ## мы фиксируем с рабочим циклом 100%
- Состояния портов GPIO активны.
«Прямое направление вращения, максимальная скорость с рабочим циклом 100%» GPIO.output (Motor1A, GPIO.HIGH) GPIO.output (Motor1B, GPIO.LOW) GPIO.output (Motor1E, GPIO.HIGH)
- Теперь дайте двигателю поработать 3 секунды.
сна (3)
- Рабочий цикл изменен на 20% для снижения скорости.
pwm.ChangeDutyCycle (20)
«Вращение в прямом направлении с рабочим циклом 20%». Sleep (3) «Вращение в обратном направлении, с рабочим циклом 20%» GPIO.output (Motor1A, GPIO.LOW) GPIO.output (Motor1B, GPIO.HIGH) sleep (3) pwm.ChangeDutyCycle (100) «Обратное вращение, максимальная скорость (коэффициент заполнения 100%)» sleep (3) «Остановка двигателя» GPIO.output (Engine1E, GPIO.LOW) pwm.stop () ## остановить ШИМ GPIO.cleanup ()
Часть 11 1-й вызов
На этот раз сделайте небольшой код с двумя движками. Это зависит от вас!
Используйте ультразвуковой датчик HC-SR04 (проводка)
- Оборудование, необходимое для этого этапа:
- ультразвуковой модуль HC-SR04,
- сопротивление 1 кОм,
- сопротивление 2 кОм,
- соединительные кабели,
- Хлебоборд
- Ультразвуковой датчик HC-SR04 измеряет расстояние от 2 до 400 см, передавая звуковые сигналы с частотой 40 кГц. В зависимости от времени, которое отделяет излучение от приема ультразвукового сигнала, расстояние определяется расчетным путем.
- HC-SR04 имеет 4 контакта:
- контакт (Gnd), используемый для заземления модуля (0 В),
- выходной контакт (Echo), используемый для информирования об окончании эмиссии поезда дультразона и его возврате после отражения на препятствии,
- входной контакт (Trig for Trigger), используемый для запуска излучения поезда дультразона,
- контакт (Vcc), используемый для питания датчика в 5 В.
- Выходное напряжение, подаваемое контактом Echo, составляет 5 В. Однако входной контакт (GPIO) Rapsberry Pi рассчитан на напряжение до 3,3 В.
- Поэтому, чтобы избежать повреждения Rapsberry Pi, мы будем использовать мост делителя напряжения, состоящий из двух резисторов, чтобы снизить выходное напряжение датчика.
- Просто, как вы можете видеть выше, подключите:
- сосна "Vcc" на 5 В Raspberry Pi (красная нить)
- штифт «Триг» на штырьке GPIO 23 (штырь 16) из малины (желтая нить)
- штырь "Эхо" на штырьке GPIO 24 (штырь 18) из малины (синий провод)
- GND сосна с малиной GND (черный провод)
- Не забывайте свои два маленьких сопротивления!
- Теперь сенсор подключен к Raspberry Pi, он для программирования на питоне!
Используйте ультразвуковой датчик HC-SR04 (часть программирования)
- В качестве первого шага разные библиотеки должны быть импортированы в:
- Управление портами GPIO.
- управление часами
импортировать RPi.GPIO как GPIO время импорта GPIO.setmode (GPIO.BCM)
- Затем мы должны определить различные контакты, которые мы будем использовать. В нашем случае это выходной контакт «GPIO 23» (TRIG: сигнал запуска на ультразвуковой датчик) и входной контакт «GPIO 24» (ECHO: сбор сигнала обратно).
TRIG = 23 ECHO = 24
- Теперь мы можем настроить порты GPIO.
GPIO.setup (TRIG, GPIO.OUT) GPIO.setup (ECHO, GPIO.IN)
- Чтобы гарантировать, что вывод «Trig» изначально низок, мы установим его на «False» и дадим время ожидания, чтобы датчик мог сброситься.
GPIO.output (TRIG, False) «Ожидание установления датчика» time.sleep (2)
- Ультразвуковой датчик нуждается в импульсе 10 мкс для активации своего модуля. Для создания триггера вывод Trig должен быть установлен на высокий уровень в течение 10 мкс, а затем сброшен на низкий уровень:
GPIO.output (TRIG, True) time.sleep (0,00001) GPIO.output (TRIG, False)
- Для отметки времени различных событий, возникающих при изменении состояния вывода, мы будем использовать цикл while и функцию time.time (). Обнаружить изменение состояния сигнала. Первым шагом является обнаружение и отметка времени непосредственно перед сменой состояния из низкого состояния в высокое состояние. Этот момент (pulse_start) будет моментом окончания эмиссии дультразона датчиком.
в то время как GPIO.input (ECHO) == 0: pulse_start = time.time ()
- Как только ультразвуковой поезд испускается, вывод Echo будет оставаться высоким, пока не вернется ультразвук, отраженный препятствием. Затем мы снова пытаемся обнаружить переключение сигнала эха в низкое состояние. Эта отметка времени (pulse_end) будет соответствовать обнаружению возврата ультразвука.
в то время как GPIO.input (ECHO) == 1: pulse_end = time.time ()
- Мы можем узнать длительность импульса (pulse_duration), рассчитав разницу между двумя импульсами:
pulse_duration = pulse_end - pulse_start
- Чтобы узнать расстояние, мы применяем формулу:
расстояние = длительность импульса * 17150
- Мы округлим наше расстояние до двух десятичных знаков:
расстояние = круг (расстояние 2)
- Чтобы отобразить расстояние в «см»:
«Расстояние:», расстояние, «см»
- Для сброса выводов GPIO добавляем:
GPIO.cleanup ()
- Все, что вам нужно сделать, это сохранить код, назвав его «sensor_distance», например, и запустить его в командной строке:
sudo python remote_capteur.py
- Поздравляем! Вы можете управлять двигателем, а также определять расстояние с помощью ультразвукового датчика!
Часть 12 2-й вызов
- Если у вас есть этот трехколесный автомобиль. С тем, что вы узнали, вы должны быть в состоянии управлять этим транспортным средством, чтобы оно могло образовывать букву «Е» при движении. Он также сможет остановиться, если встретит препятствие с помощью ультразвуковых датчиков.
- Это зависит от вас!