Page 131 - 1156_Arduino-Polnyy-uchebnyy-kurs-ot-igry-k-inzhenernomu-proektu
P. 131

Глава 5.  Язык программирования Wiring
       130





























                               Рис. 5.16.  Дальномер подключен


              Скетч  для  измерений  будет  выглядеть  так:
             1.  void setup () {
             2.    Serial.begin  (9600);
             3.    pinMode(9,  OUTPUT);  // Trig
             4.    pinMode(8,  INPUT);   // Echo
             5.    }
            6.
             7.  void loop () {
             8.  digitalWrite(9, LOW);    // очистка сигнала во избежание ошибок
             9.  delayMicroseconds(2);  // пауза в микросекундах
           1 0. digitalWrite(9,  HIGH); // начало отправки ультразвукового  сигнала
           11.  delayMicroseconds(10);  // длительность сигнала составляет 10  мкс
           12. digitalWrite(9,  LOW);  // выключение  сонара
           13.  int duration = pulseIn(8, HIGH);  // подсчет секунд до
                               // прихода  отраженного  сигнала
           14.  float cm = duration / 58;
           15.  /* 58 —  это константа, обусловленная физическим строением
           16.  дальномера данной модели. На самом деле необходимо
           17.  делить на 29 два раза (прямой и обратный путь). */
           18. Serial.println(cm);
           19. delay(1000);
           20. }






                                                                                 1 / 18
   126   127   128   129   130   131   132   133   134   135   136