Форум программистов, компьютерный форум, киберфорум
Arduino
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
 Аватар для Satansoft
20 / 16 / 7
Регистрация: 27.02.2012
Сообщений: 742

Тестировщик на Arduino Nano

16.04.2015, 18:35. Показов 3537. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени, нужен элементарный скетч на тестировщик, однако по алгоритму и уточнить ряд неясностей:

1) Замеряем тестируемое устройство на наличие питания, либо его отсутствие(на какие пины ардуино можно пустить это замерение?)

2)Нажимаем кнопку, подключенную к ардуино (кнопку лучше всего навесить дополнительную или та, что есть на нано подойдет?)

3)После каждого такта нажатия нужен запуск отдельной функции, которых всего 4 (т.к в проекте всего 4 устройства тестировать)

4) Функция проверяет пины, на которые идут или не идут сигналы, если сигнал есть, генерируется 8-битная комбинация, если нет, но ничего не происходит. Разница функций в генерируемых 8-битных комбинациях. Нажатия кнопки тактуют переход от одной функции к другой по кругу (с 4-й прыгаеи на 1-ю).

Подскажите пожалуйста программный функционал скетча по этому алгоритму.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.04.2015, 18:35
Ответы с готовыми решениями:

Arduino Nano
Всем привет, прикупил себе китайскую ардуино нано и возникли проблемы с установкой драйверов, хотя годом ранее такой проблемы не было все...

Arduino Nano, GPS
Создаю GPS трекэр но данные с gps не могу привести в корректный вид, не начинается расшифровка, help) Использую Arduino Nano (old...

Arduino Nano+ Bluetooth HC-05
Здравствуйте. Есть aрдуино нано и блютуз hc 05. Мало знаю по электронике, но приходится работать одному. Создаю устройство , типа браслета...

4
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
16.04.2015, 19:29
1- зависит от напряжения питания тестируемого устройства. Можно и на дискретные, можно и на аналоговые входы пустить, в общем случае через делители, в специфических с опторазвязкой.
2- кнопка на нано - есть кнопка сброса, читайте документацию.
3- примеры опроса кнопок есть как в example самой среды, так и на официальном сайте. Среди прочего, в данной ветке есть закрепленная тема с литературой и видеоуроками, если бы ее читали, подобных вопросов не возникало.
4- повтор п.3.
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
16.04.2015, 19:42
1) на пины А0, А1 итд, там АЦП. Внимание, больше 5 вольт не подавать, можно спалить. Если нужно замерять бОльшие напряжения, то ставим простейший делитель напряжения из двух резисторов.
http://arduino.ru/Reference/AnalogRead

Если просто наличие напряжения 0 или 5 вольт, то подключаемся к любому пину
C++
1
byte state = digitalRead(номер пина);
2) кнопку нужно внешнюю, на плате кнопка сброса.
http://arduino.ru/tutorials/button
digitalRead(номер пина) при не нажатой кнопке вернёт 0, при нажатой - 1.

Однако можно обойтись без резистора, если подтянуть вход внутренним резистором к плюсу. Один провод от кнопки пойдет на землю, другой на пин МК.
C++
1
pinMode(номер пина,INPUT_PULLUP);
digitalRead(номер пина) при не нажатой кнопке вернёт 1, при нажатой - 0, т.ё вход будет "инвертированным".
1
 Аватар для Satansoft
20 / 16 / 7
Регистрация: 27.02.2012
Сообщений: 742
16.04.2015, 19:55  [ТС]
Рыжий Лис, из описанного всё ясно, правда я забыл указать, что эту 8-мибитную комбинашку мне по том по USB на Пк выслать надо, как это в ардуино?

а проверку кнопки примерно так делать?

Code
1
2
3
4
5
6
7
int ans = pinMode(5,INPUT_PULLUP)
if(!ans)
{//комбинашка1}
else
...
if(!ans)
{//комбинашка4}
только как потом на начало вернуться?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
16.04.2015, 20:44
Лучший ответ Сообщение было отмечено Satansoft как решение

Решение

http://arduino.ru/Reference/Serial
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
bool isPress=false;
byte func=0;
 
void setup(){
  pinMode(5,INPUT_PULLUP);
}
 
void loop(){
  switch(func){
    case 0:
       func0();//комбинашка0
       break;
    //...
  }
 
  if (digitalRead(5)==0){//нажата
    isPress = true;
    return;
  } else { //отжата
    if (isPress){
      isPress = false;
      func++;
      if (func>=4) {
        func=0;
      }
     }
  }
}
Перед тем как писать код почитайте закрепленные темы и примеры на arduino.ru

Добавлено через 2 минуты
У меня закрадывается подозрение что вы делаете тестер витой пары.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.04.2015, 20:44
Помогаю со студенческими работами здесь

Arduino Nano, I2C
Привет бойцы невидимого фронта. Проблема такова, у меня есть часы реального времени DS1307, и OLED I2C дисплей 0.91 (128x32) а так же...

Кардиодатчик + Arduino Nano
Проблема такая есть arduino nano и не то что бы кардиодатчик(его подобие своими руками) хочу проверить можно ли так. Из старой мышки(с...

Программирование Arduino nano
Через каждые 20 мс производить опрос кнопки с помощью таймера, и если кнопка нажата, то импульсы выключить, а если кнопка не нажатой...

Компьютер не видит Arduino Nano V3
Здравствуйте! ОС win7, только купить нану, подключил к компу и пишет что нету драйвера, установил выдает что не установлен драйвер...

Выполнение скетча на Arduino Nano
Есть Arduino, которая подключается к ПК, получает на serial-порту 2 числа и начинает свою работу. При этом необходимо обеспечить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru