Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:laboratory_iot_c:exp37 [2024/12/04 17:08] – [Программный код эксперимента] labuser30products:laboratory_iot_c:exp37 [2024/12/04 17:20] (текущий) – [Программный код эксперимента] labuser30
Строка 40: Строка 40:
 void setup() {  void setup() { 
   Serial.begin(9600);   Serial.begin(9600);
 +  Serial.println();
   SPI.begin();   SPI.begin();
   rdr.PCD_Init();    rdr.PCD_Init(); 
Строка 79: Строка 80:
     return str;     return str;
 } }
 +</code>
 +
 +Инициализируем шину SPI и считыватель меток:
 +<code arduino[enable_line_numbers="2", start_line_numbers_at="20"]>
 +  SPI.begin();
 +  rdr.PCD_Init();
 </code> </code>
  
 В основном цикле мы сначала проверяем приложена ли метка с считывателю, если нет начинаем цикл сначала. Аналогично проверяем удалось ли считать номер метки, если нет  начинаем цикл сначала. В основном цикле мы сначала проверяем приложена ли метка с считывателю, если нет начинаем цикл сначала. Аналогично проверяем удалось ли считать номер метки, если нет  начинаем цикл сначала.
-<code arduino[enable_line_numbers="2", start_line_numbers_at="4"]>+<code arduino[enable_line_numbers="2", start_line_numbers_at="25"]>
   if (!rdr.PICC_IsNewCardPresent()) return;   if (!rdr.PICC_IsNewCardPresent()) return;
   if (!rdr.PICC_ReadCardSerial()) return;   if (!rdr.PICC_ReadCardSerial()) return;
Строка 88: Строка 95:
  
 Если считывание метки было успешно, то номер записывается в массив байт ''rdr.uid.uidByte'', который мы передаем в функцию ''bytesToString()'' возвращающую строку.   Если считывание метки было успешно, то номер записывается в массив байт ''rdr.uid.uidByte'', который мы передаем в функцию ''bytesToString()'' возвращающую строку.  
-<code arduino[enable_line_numbers="2", start_line_numbers_at="27"]>+<code arduino[enable_line_numbers="2", start_line_numbers_at="28"]> 
   Serial.println("Card detected: " + bytesToString(rdr.uid.uidByte, 4));   Serial.println("Card detected: " + bytesToString(rdr.uid.uidByte, 4));
 </code> </code>
Строка 95: Строка 102:
 Оператор ''+'' в данном случае выполняет функцию конкатенации (склейки строк) так как находится в контексте строк, а не чисел. Оператор ''+'' в данном случае выполняет функцию конкатенации (склейки строк) так как находится в контексте строк, а не чисел.
  
 +Функция ''rdr.PICC_HaltA()'' блокирует повторное считывание метки.
 +<code arduino[enable_line_numbers="2", start_line_numbers_at="29"]> 
 +  rdr.PICC_HaltA();
 +</code>
  
 +<WRAP center round info 60%>
 +  * [[https://arduino.ru/Reference/StringObject|Подробнее о строках в Arduino]]
 +</WRAP>