Raspberry Pi сайт

Русский сайт по микрокомпьютеру




Вход








Регистрация | Забыли пароль?

Поиск



По всему сайту
По тэгам
По тэгам и заголовкам

Рубрики

  • Проекты и статьи
  • Модели
  • Новости
  • Мысли
  • Рейтинг

  • 1. Хакеры могут атаковать устройства Apple через Bluetooth и Raspberry Pi
  • 2. Новая операционная система для государства Российского!
  • 3. Настройка приёма цифрового телевещания dvb-t2 на компьютере Raspberry PI
  • 4. Собираем ваш новый роутер с тотальной защитой в интернете на Raspberry Pi.
  • 5. Используем старую кассету в качестве корпуса под Raspberry Pi
  • Облако тэгов

    windows, raspberry pi 3, raspbian, умный дом, gpio, ubuntu, osmc, windows 10, linux, игры, python, установка ос, raspberry pi 2, raspberry pi zero, raspberry pi zero w, слежение, самолёт, http, diy, 1c-битрикс, нейросеть, сеть, кластер, бесперебойник, акустика

    Боковое меню

  • RSS-канал
  • Карта сайта
  • Обратная связь
  • Пользователи
  • Статистика посещений

  • Соединяем Raspberry Pi с Arduino через Serial GPIO

    Одним из способов соединения Raspberry Pi и Arduino является их связь по линиям GPIO с функцией последовательного порта.



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


    Для начала нужно настроить Raspberry Pi для последовательной передачи данных.


    Во-первых, чтобы использовать серийный порт Raspberry Pi, нужно деактивировать getty (программу, которая отображает экран для логина). Для этого находим в файле /etc/inittab строчку:


    T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100


    И комментируем ее:


    #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100


    Во-вторых, чтобы предотвратить отправку данных в последовательный порт при загрузке Raspberry Pi, открываем файл /boot/cmdline.txt и находим, а затем удаляем следующую строчку:


    console=ttyAMA0,115200 kgdboc=ttyAMA0,115200


    Затем перезагружаем Raspberry Pi с помощью команды sudo reboot. После этого устанавливаем minicom:


    sudo apt-get install minicom


    Загружаем в Arduino следующий скетч:


    byte number = 0;

    void setup(){
    Serial.begin(9600);
    }

    void loop(){
    if (Serial.available()) {
    number = Serial.read();
    Serial.print("character recieved: ");
    Serial.println(number, DEC);
    }
    }


    Теперь соединяем линии GPIO миникомпьютера и линии последовательного порта Raspberry Pi через конвертер логических уровней.




    Удостоверьтесь, что подключение Raspberry Pi произведено в соответствии с распиновкой разъема GPIO:



    Теперь протестируем Minicom. Чтобы соединиться с Arduino через последовательный порт, введем в терминале:


    minicom -b 9600 -o -D /dev/ttyAMA0


    Если вы введете какой-нибудь символ, он будет отправлен в Arduino и послан назад в виде соответствующего ASCII-кода. Вот так просто Raspberry Pi может общаться с Arduino.



    Чтобы выйти, нажмите CTRL + A, а затем Q.


    Теперь попробуем сделать более сложные вещи, написав программу на Python. Для начала нужно установить Py-Serial:


    sudo apt-get install python-serial


    Ниже приведен небольшой код, который отправляет строчку «testing» через последовательный интерфейс GPIO:

    import serial
    ser = serial.Serial(`/dev/ttyAMA0`, 9600, timeout=1)
    ser.open()

    ser.write("testing")
    try:
    while 1:
    response = ser.readline()
    print response
    except KeyboardInterrupt:
    ser.close()




    Чтобы выйти, нажмите CTRL + C.
    Источник

    03.11.2022 в 00:21, Просмотров: 303
    Опубликовал: ak167

    gpio, arduino

    ID: 91