Зависает апдуино уно
- Войдите на сайт для отправки комментариев
Ср, 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. Так и не добился адекватной, стабильной работы датчика. Лежат мусором четыре датчика.