Парктроник для незрячих
- Войдите на сайт для отправки комментариев
Чт, 06/02/2020 - 00:17
Доброго времени суток, я новенький в программировании. История такова. У моего друга бабуля слепая. Друг подал идею сделать типа парктронрика на двойные кастыли(Не знаю как они по другому называются).
модули. Ардуино уно, дальномер, пьезопищалка.
работать должно так. Например:
если растояние <= 50cm сигналить 1 раз.
если растояние <= 40cm сигналить 2 раза.
если растояние <= 30cm сигналить 3 раза.
если растояние <= 20cm сигналить 4 раз.
если растояние <= 10cm сигналить 5 раз.
#define trigPin 12 //Обьявление #define echoPin 13 //переменных #define buzzer 11 int sound = 500; void setup() { Serial.begin(9600); pinMode(trigPin, OUTPUT); //Настройка pinMode(echoPin, INPUT); //Портов pinMode(led, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); pinMode(led5, OUTPUT); pinMode(led6, OUTPUT); pinMode(buzzer, OUTPUT); } void loop() { long duration, distance; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); //Чтобы начать измерения delayMicroseconds(10); //необходимо на вход trigPin подать высокий сигнал 5В на 10мкс digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); //с выхода echoPin считывается как долго был открыт порт distance = (duration/2) / 50.1; //преобразования полученного параметра в дистанцию Serial.print(distance); if(distance <= 50){ sound = 100; } if(distance <= 40){ sound = 200; } if(distance <= 30){ sound = 300; } if(distance <= 20){ sound = 400; } if(distance <= 10){ sound = 500; } if(distance <= 5){ sound = 600; } if (distance > 50 || distance <=0){ Serial.println("***"); noTone(buzzer); } else { Serial.print(distance); //Выводит расстояние в сантиметрах Serial.println(" cm"); //в мониторе последовательного порта tone(buzzer, sound); //задает соответствующий тон динамика } delay(500); }
Этот скетч на увеличение громкости. он не подходит
Пожалей бабулю. Не нужна ей эта хрень.
Пожалей бабулю. Не нужна ей эта хрень.
Огромное спасибо. не ожидал такой помощи!!!
Народ ещё одно пожелание. нужно чтобы когда костыли стоят на месте и не двигаются звучание пропадало.
Этот скетч на увеличение громкости. он не подходит
этот скетч на изменение тона (частоты) а не на громкость. И, кстати, изменение тона будет лучше восприниматься, чем твоя задумка насчет многократных пи-пи.
и заодно, при изменении тональности отпадает проблема с неподвижными костылями
так что не трогай код, бери так. Все равно ты лучше не напишешь
Не может он "так оставить".
Ему зачет не поставят.
А чего сложного? Вместо 61 строки пишете подпрограмму для выполнения функции "пищания заданное количество раз". Примеров мигания светодиодами даже на этом форуме завались - а тут практически тоже самое, только мигаем бузером.
А чего сложного? Вместо 61 строки пишете подпрограмму для выполнения функции "пищания заданное количество раз". Примеров мигания светодиодами даже на этом форуме завались - а тут практически тоже самое, только мигаем бузером.
А можно по подробнее. Не понимаю как это сделать.
Можно в студию функцию?
А можно по подробнее. Не понимаю как это сделать.
Можно в студию функцию?
а это вам выше - не функция? Если уже и код готовый дали - а все не въезжаете, значит рано еще, сначала учиться надо
Этот цикл я понимаю полностью это же детские основы. Как написать полностью??? И причём тут рано??? Я пришёл сюда за помощью.
этот цикл исключительно пример, в реальную программу он все равно не годится, иначе ваш парктроник будет тормозить по секунде, за которую бабушка давно в стенку въедет
Ну так че скетч будет? Или вас умолять надо? :) хотябы обьяснили как надо.
Тебе кто-то чем-то обязан?
Здесь помогают тем, кто делает сам, направление тебе дали - дерзай.
Не хочешь сам, заказывай за деньги в "Ищу исполнителя"
Тебе кто-то чем-то обязан?
Понятно что никто нечем никому не обязан. Я то не требую, а всего лишь прошу помочь. Пока ни одного нормального ответа по делу, пока только один выпендреж.
Я нигде не учусь я не студент. Просто хочу понять как это правино написать. Я начинаю вроде писать код и тут раз стопор. Чего-то не понял а дальше как не знаю. Выкладывать скеч стыдно. Такие дела.
Если будет скеч я 90% что пойму его. Если надо прокоментирую каждую строку. Просто не знаю как правильно написать синтаксис чтоли.
Если будет скеч я 90% что пойму его. Если надо прокоментирую каждую строку. Просто не знаю как правильно написать синтаксис чтоли.
потом доработаешь:
- увеличишь все частоты (дело вкуса и характеристик пищалки)
- вставишь паузу после включения пищалки. Сейчас у тебя постоянный свист; прерывистый, пожалуй, лучше.
- добавишь одну переменную и одну команду для отключения звука при неподвижных ходунках.
Если будет скеч я 90% что пойму его.
90% что готового кода тут не будет. Никто не станет писать за тебя.
Вопрос только в том, хотите ли Вы учиться для того, чтобы сначала суметь принимать помощь, а потом, постепенно, суметь что-то сделать и без посторонней помощи. Или Вам нужно всего и сразу, причем, без каких-либо усилий с Вашей стороны (типа: я ведь попросил, чего же вам еще нужно!).
Просто не знаю как правильно написать синтаксис чтоли.
Начни хотя бы с ЭТОЙ книжки, там есть про синтаксис.