Содержание
Урок 1. Первый проект
Урок 2. Управление кнопками
Урок 3. Подключение LCD
Урок 4. Использование ШИМ
Урок 5. Таймеры
Урок 6.1. Статическая индикация
Урок 6.2. Динамическая индикация
Урок 7.1. Генерация звука
Урок 7.2. Генерация звука. Продолжение
Урок 8.1. Передача данных через UART
Урок 8.2. Передача данных через UART. Продолжение»
Урок 9. Передача данных через SPI
Урок 10. Изучение АЦП. Простой вольтметр
Урок 11. Получение синуса при помощи ШИМ
Урок 12. Измерение температуры
Урок 13. Внешние прерывания.
Урок 14. Использование отладчика
Урок 15.1. Управление инкрементальным энкодером
Урок 15.2. Управление громкостью, при помощи энкодера
Урок 16. Управление RGB светодиодом
Урок 17. Использование ИК
Урок 18.1. Знакомство с графическим дисплеем
Урок 18.2 Вывод изображения на графический дисплей
Урок 18.3 Вывод русскоязычного текста
Урок 19. Формирование сигнала, при помощи ЦАП (R2R)
Урок 20. Опрос матричной клавиатуры
Урок 21. Сторожевой таймер
Урок 22.1 Воспроизведение wav. Введение.
Урок 22.2 Воспроизведение wav. Продолжение.
Урок 23.1 Работа с внешней памятью
Урок 23.2 Работа с файловой системой Fat

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

Во время тестирования ногодрыга, столкнулся с проблемой, так как пока не использую кросс компиляцию, а компилирую и проверяю проекты сразу на малине. Нужно сказать, что производительность платы не впечатляет, когда дело касается браузера. В общем на десктопе оно в разы удобнее, держать под рукой 2 клавы и 2 мышки — не удобно. Хорошее решение этой проблемы — подключение через SSH.

Если в кратце, то можно сидеть за любимым шиндоус и подключиться напрямую к малине и делать все тоже самое, что бы вы могли сделать в терминале. Короче это мегаудобно. Чтобы это заработало, нужно чтобы десктоп и малина были в одной локальной сети и SSH был разрешен на малине (у меня по дефолту был включен). Далее скачиваем Putty указываем IP локальный адрес rpi для подключения.
putty

вводим логин, пароль и вуаля у нас полный доступ
putty_rpi

На самом деле, есть и второй вариант удаленного подключения, просто втыкаем обычный USB-UART в десктоп подключаем пины UART к малине.
rpi_40uart

Запускаем любой шиндоус терминал на скорости 115200 и снова можно работать.
serial

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

#include 
#include 
#include 

void gpio_write(int gpio_pin, int state)
{
  FILE *fp;

  char buf[50];
  sprintf (buf, "/sys/class/gpio/gpio%d/value", gpio_pin);
  fp = fopen (buf, "w");
  if(state == 0) {
    fprintf(fp, "0");
  }
  else {
    fprintf(fp, "1");
  }
  fclose(fp);
}

void gpio_conf_output(int gpio_pin)
{
  FILE *fp;

  char buf[50];

  fp = fopen ("/sys/class/gpio/export", "w");
  fprintf(fp, "%d", gpio_pin);
  fclose(fp);

  sprintf (buf, "/sys/class/gpio/gpio%d/direction", gpio_pin);
  fp = fopen (buf, "w");
  fprintf(fp, "out");
  fclose(fp);
}

void main(int argc, char *argv[])
{
  printf("hello!!!\n");

  gpio_conf_output(17);

  while(1){
    gpio_write(17, 1);
    usleep(200000);
    gpio_write(17, 0);
    usleep(200000);
  }
  return;
}

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

Полезняшка:
копируем файл hello.c с малины на linux desktop в папку home/user используя терминал десктопа:
scp pi@192.168.0.41:/home/pi/hello.c /home/user

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Счетчик
Яндекс.Метрика