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

5.8. Проект  «Развитие  моторики»
                                                                               145

        и  USB-кабелем.  Батарейка  или  аккумулятор  типа  «Крона»  обе-
        спечивают автономную,  хотя  и  недолгую,  работу  проекта.  Можно
        взять  аккумулятор  типа  PowerBank.
             Добавьте  элементы  декора,  например  посадите  на  жердочку
        плюшевую  птичку.  Спрячьте  изоленту  и  замаскируйте  видимую
        часть  проводов  датчиков.
             Проверьте,  что  соединения  не  нарушены  и  ничто  не  касается
        плат.  Если  все  в  порядке,  то  сборка  завершена  и  можно  подклю-
        чать  тренажер  к  компьютеру  для  программирования.
           Программирование
        Для  резистора  давления  нет  специфических  библиотек —  обычно
        применяется  обработка  значения  сигнала,  поступающего  на  ана-
        логовый  вход  платы  Arduino.  Для  использованной  в  проекте  схе-
        мы  сборки  верны  следующие  значения:

          Сопротивление        Сила          Выходное      Значение функции
          резистора давK     нажатия,  Н   напряжение,  В     analogRead( )
            ления,  R Д
              30 кОм            0,2             1,3                266
              6 кОм              1              3,1                634
              1 кОм              10             4,5                921
              250 Ом            100             4,9               1003
           Применение  модуля  беспроводной  связи  тоже  не  требует  до-
        полнительных  библиотек,  поскольку  он  на  физическом  уровне
        реализует  другой  канал  для  протокола  последовательного  порта
        UART  (УАПП,  универсальный  асинхронный  приемопередатчик),
        используемого  при  USB-подключении.
          1.  /*I ЭТАП. ПОДГОТОВКА ПАМЯТИ*/
         2.  /*ПЕРЕМЕННЫЕ*/
          3. int  firstSensor  =  0;    // Для хранения значения давления
          4.                  // на  первый  датчик.
          5.  int secondSensor = 0;   // Для хранения значения давления
          6.                // на  второй  датчик.
          7.  int thirdSensor = 0;     // Для хранения значения давления
          8.                // на  третий  датчик.
          9. String  textline;     // Название  силы  нажатия.
        1 0.
        1  1.  /*Для удобства следует переобозначить аналоговые входы,
        1 2.  назвав их по датчикам.*/
        1 3.  #define fsrOne A0     // Первый резистор давления.
        1 4. #define  fsrTwo  A1    // Второй  резистор  давления.
        1 5.  #define fsrThree A2    // Третий резистор давления.
        1 6.




                                                                                16 / 18
   141   142   143   144   145   146   147   148   149   150   151