[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
проблема с HC-SR04
mihailДата: Суббота, 16.02.2013, 16:05 | Сообщение # 1
Группа: Пользователи
Сообщений: 2

Статус: Offline
Всем доброго времени суток, решил написать простенькую программу для сонара по инструкции http://avrproject.ru/publ....1-0-51, но столкнулся с проблемой что дисплей выдаёт всякую чуш. Тогда всё упростил до максимума и написал то что находиться в низу. И в итоге получилось что на расстаянии 0-1 см показывает 0, на 1-4 -- 1, на 4-6 -- 2, от 6 и далее 3. Подскажите это ошибка в коде или брак в сонаре и не может это быть связано с тем что длительность секунды в баскоме зависит от частоты процессора а не от реальной длмтельности?

 
Код
$regfile = "m16def.dat"
$crystal = 8000000
$lib "lcd4.lbx"

Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.2 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
Config Lcd = 16 * 2

Config Portd.4 = Output
Trigger Alias Portd.4
Trigger = 0

Config Portd.5 = Input

Dim A As Word
Dim S As Single

Do

Trigger = 1
Waitus 10
Trigger = 0
Pulsein A , Pind , 5 , 1

Cls
Lcd A
Waitms 100
Loop




Сообщение отредактировал mihail - Суббота, 16.02.2013, 16:12
 
Aleks8383Дата: Суббота, 16.02.2013, 17:39 | Сообщение # 2
Группа: Проверенные
Сообщений: 104

Статус: Offline
Цитата (mihail)
длительность секунды в баскоме зависит от частоты процессора а не от реальной длмтельности?
Естественно зависят,всё временные интервалы отталкиваются от тактовой частоты контроллера.


 
kip96Дата: Суббота, 16.02.2013, 20:01 | Сообщение # 3
Группа: Свой человек
Сообщений: 170

Статус: Offline
Я повторял схему автора, всё работало нормально. Проверьте фьюзы,тактовую частоту в частности.

 
mihailДата: Воскресенье, 17.02.2013, 16:44 | Сообщение # 4
Группа: Пользователи
Сообщений: 2

Статус: Offline
Тактовая частота: 
Цитата
$crystal = 8000000,
да и фьюзы не менял никогда.


 
implexДата: Воскресенье, 17.02.2013, 17:05 | Сообщение # 5
Группа: Проверенные
Сообщений: 34

Статус: Offline
Если не меняли фьюзы, то стоят заводские 1мгц и, соответственно, все временные задержки проходят в 8 раз медленнее. Строка Pulsein A , Pind , 5 , 1 замеряет длину импульса, значит тоже привязана к частоте кварца. Поставьте в программе $crystal = 1000000 или выставьте фьюзы на 8мгц.



Сообщение отредактировал implex - Воскресенье, 17.02.2013, 17:14
 
  • Страница 1 из 1
  • 1
Поиск: