Advertisement
SeverTheSky

senstest v1.0

May 19th, 2018
442
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.67 KB | None | 0 0
  1. /* ========================================
  2.  * Автор: Яночка
  3.  * Мыло: theseversky@gmail.com
  4.  * Название: senstest
  5.  * Дата: 20.05.2018
  6.  * Версия: 1.0 (вроде всё нормально работает)
  7.  * ============================================================
  8.  * Описание: скетч предназначен для теста аналоговых датчиков.
  9.  * Их питание предусмотрено через цифровые пины, перечисленные в dpins.
  10.  * Номера элементов apins (с которого считывается показание датчика)
  11.  * должны соответствовать номерам элементов apins (цифровой выход =>
  12.  * аналоговый вход), иначе считывание будет вестись не со включённого
  13.  * в данный момент датчика.
  14.  * Считывание сигналов с датчиков ведётся через Serial.
  15.  * ============================================================
  16.  */
  17.  
  18. int dpins[]={2,3,4,5,6};
  19. int apins[]={0,1,2,3,4};
  20. int data=0; //переменная для записи показаний датчиков
  21. unsigned long timer=10000; //переменная для таймера, 10000 для опроса сразу
  22.  
  23. void setup()
  24. {
  25.   for(int i=0;i<5;i++) //i< число элементов в dpins и apins
  26.   {
  27.     pinMode(dpins[i],OUTPUT); //назначаются цифровые выходы
  28.   }
  29.   Serial.begin(19200); //перестраховка
  30. }
  31.  
  32. void loop() {
  33.   if(millis()-timer>=9980) //при таких таймингах опрос раз в примерно 10 сек
  34.     {
  35.       for(int i=0;i<5;i++) //как в 24, перебор датчиков по порядку dpins&apins
  36.         {
  37.           digitalWrite(dpins[i],HIGH);
  38.           delay(10); //чтобы датчик успел включиться и считать показания
  39.           data=analogRead(apins[i]);
  40.           Serial.print("Показания датчика с пина А");
  41.           Serial.print(apins[i]);
  42.           Serial.print(" D");
  43.           Serial.print(dpins[i]);
  44.           Serial.print(": ");
  45.           Serial.println(data);
  46.           delay(10); //перестраховка
  47.           digitalWrite(dpins[i],LOW);
  48.           timer=millis(); //перезаписать таймер
  49.         }
  50.       Serial.print("Со старта: ");
  51.       Serial.print(millis());
  52.       Serial.print(", таймер: ");
  53.       Serial.println(timer);
  54.       Serial.println(); //разделить блоки опросов
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement