Зависает апдуино уно
- Войдите на сайт для отправки комментариев
Ср, 02/09/2015 - 09:36
Здрасте форумчани..
столкнулся с проблемой подвисание ардуино
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int Trig = 8;
const int Echo = 9;
void setup()
{
// initialize the LCD
lcd.begin();
// Turn on the blacklight and print a message.
lcd.backlight();
pinMode(Trig, OUTPUT);
pinMode(Echo, INPUT);
lcd.setCursor (0,0);
lcd.print ("distans:");
}
int time_us=0;
int distance_sm=0;
void loop()
{
// цикл программы ожидание
digitalWrite(Trig, HIGH); // Подаем сигнал на выход микроконтроллера
delayMicroseconds(1);
digitalWrite(Trig, LOW); // Затем убираем
delayMicroseconds(5);
time_us=pulseIn(Echo, HIGH); // Замеряем длину импульса
distance_sm=time_us/68; // Пересчитываем в сантиметры
lcd.setCursor ( 9, 0 );
lcd.print(" ");
lcd.setCursor ( 9, 0 );
lcd.print(distance_smaa);
delay (10);
}
Попробуем телепатические способности.
Вероятно 8 и 9 пин соединены вместе. Если это так, то сначала устанавливаемые 1 потом 0, и только после этого пытаемся поймать входящий импульс, но он уже кончился. Висим.
Другой вариант, выходной импульс ловится внешней железкой, которая в ответ выдаёт свой импульс, тогда мы его все таки можем поймать. Однако что за железка, догадаться можно, но зачем?
Прсадка напряжения при щёлкании излучателя.
Кондёр побольше ( 470.0 - 1000.0 ) на питание ультрасоника.
Прекрасно паяется прямо на разъём с лицевой стороны между излучателем и приёмником
похоже проблема не в ардуино: http://arduino.ru/forum/apparatnye-voprosy/hc-sr04-apparatnye-problemy
А я что говорил: http://arduino.ru/forum/apparatnye-voprosy/hc-sr04-apparatnye-problemy#c...
А я что говорил: http://arduino.ru/forum/apparatnye-voprosy/hc-sr04-apparatnye-problemy#c...
Я пробовал рекомендации из той темы, и кондер вешал и резистор на VCC. Так и не добился адекватной, стабильной работы датчика. Лежат мусором четыре датчика.