Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

Делимся опытом Наступив на грабли - сообщи другим! Обмен опытом разработки и ремонта электронных устройств.

 
Опции темы

помогите поправить ардуино скетч

Непрочитано 04.06.2020, 18:23  
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию помогите поправить ардуино скетч

братцы
подключил ардуйно нано к читателю rc522
залил скеть


#include ‹SPI.h›

#include ‹MFRC522.h›

#define RST_PIN 9 // Configurable, see typical pin layout above
#define SS_1_PIN 10 // Configurable, take a unused pin, only HIGH/LOW required, must be diffrent to SS 2
#define SS_2_PIN 8 // Configurable, take a unused pin, only HIGH/LOW required, must be diffrent to SS 1

#define NR_OF_READERS 2

byte ssPins[] = {SS_1_PIN, SS_2_PIN};

MFRC522 mfrc522[NR_OF_READERS]; // Create MFRC522 instance.

/**
* Initialize.
*/
void setup() {

Serial.begin(9600); // Initialize serial communications with the PC
while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)

SPI.begin(); // Init SPI bus

for (uint8_t reader = 0; reader ‹ NR_OF_READERS; reader++) {
mfrc522[reader].PCD_Init(ssPins[reader], RST_PIN); // Init each MFRC522 card
//Serial.print(F("Reader "));
///Serial.print(reader);
// Serial.print(F(": "));
mfrc522[reader].PCD_DumpVersionToSerial();
}
}

/**
* Main loop.
*/
void loop() {

for (uint8_t reader = 0; reader ‹ NR_OF_READERS; reader++) {
// Look for new cards

if (mfrc522[reader].PICC_IsNewCardPresent() && mfrc522[reader].PICC_ReadCardSerial()) {

dump_byte_array(mfrc522[reader].uid.uidByte, mfrc522[reader].uid.size);


MFRC522::PICC_Type piccType = mfrc522[reader].PICC_GetType(mfrc522[reader].uid.sak);



// mfrc522[reader].PICC_HaltA();

// mfrc522[reader].PCD_StopCrypto1();
} //if (mfrc522[reader].PICC_IsNewC
} //for(uint8_t reader
}

/**
* Helper routine to dump a byte array as hex values to Serial.
*/
void dump_byte_array(byte *buffer, byte bufferSize) {
for (byte i=0; i ‹ bufferSize ;i++) {
//Serial.print(buffer[i] ‹ 0x10 ? " 0" : " ");
Serial.print(buffer[i], HEX);
}
}
//----------------------------------------------
подношу карту 13мгц и он выдает, например,
40A744DA.
все четко, нo нужно поменять последовательность байтов на обратное т.е.
нужно получить DA44A740
ну, я подумал сделать так;
for (byte i=bufferSize; i›0 ;i--)
ну, последовательность то меняется, но теряются байты
0401957
попробовал так for (byte i=bufferSize-1; i›0 ;i--)
получил
401957 и опять не зватает одного
знатоки помогите пожалуйста в чем тут дело?
begun вне форума  
Непрочитано 04.06.2020, 19:06  
Ara41
Почётный гражданин KAZUS.RUN
 
Регистрация: 30.09.2006
Сообщений: 1,557
Сказал спасибо: 157
Сказали Спасибо 660 раз(а) в 430 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: помогите поправить ардуино скетч

for (byte i=bufferSize; i›=0 ;i--)
Ara41 вне форума  
Непрочитано 04.06.2020, 19:35  
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: помогите поправить ардуино скетч

спасибо братец Ara41
я даже не могу проследить за кодом.
раньше при поднесении карты выдавал один код ,но после того как ввел

›=0 то непрерывно появляются большой частотой.
begun вне форума  
Непрочитано 04.06.2020, 21:35  
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: помогите поправить ардуино скетч

и к тому же выдает совсем другой код
begun вне форума  
Непрочитано 04.06.2020, 21:39  
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: помогите поправить ардуино скетч

в общем, реальная карта дает D5571940
а надо
401957D5
помогите брательнику.
begun вне форума  
Непрочитано 04.06.2020, 22:06  
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: помогите поправить ардуино скетч

нашел другой скеч который только читает но не работает а ошибку не найду

#include ‹SPI.h›

#include ‹MFRC522.h›

#define SS_PIN 10
#define RST_PIN 9

RFID rfid(SS_PIN, RST_PIN);

// Данные о номере карты храняться в 5 переменных, будем запоминать их, чтобы проверять, считывали ли мы уже такую карту
int serNum0;
int serNum1;
int serNum2;
int serNum3;
int serNum4;

void setup()
{
Serial.begin(9600);
SPI.begin();
rfid.init();

}

void loop()
{
if (rfid.isCard()) {
if (rfid.readCardSerial()) { // Сравниваем номер карты с номером предыдущей карты
if (rfid.serNum[0] != serNum0
&& rfid.serNum[1] != serNum1
&& rfid.serNum[2] != serNum2
&& rfid.serNum[3] != serNum3
&& rfid.serNum[4] != serNum4
) {
/* Если карта - новая, то считываем*/
Serial.println(" ");
Serial.println("Card found");
serNum0 = rfid.serNum[0];
serNum1 = rfid.serNum[1];
serNum2 = rfid.serNum[2];
serNum3 = rfid.serNum[3];
serNum4 = rfid.serNum[4];

//Выводим номер карты
Serial.println("Cardnumber:");
Serial.print("Dec: ");
Serial.print(rfid.serNum[0],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[1],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[2],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[3],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[4],DEC);
Serial.println(" ");

Serial.print("Hex: ");
Serial.print(rfid.serNum[0],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[1],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[2],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[3],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[4],HEX);
Serial.println(" ");
} else {
/* Если это уже считанная карта, просто выводим точку */
Serial.print(".");
}
}
}

rfid.halt();
}
begun вне форума  
Непрочитано 04.06.2020, 22:08  
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: помогите поправить ардуино скетч

выдает
'rfid' daes not name a tipe
begun вне форума  
Непрочитано 04.06.2020, 23:29  
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: помогите поправить ардуино скетч

господин raxp
еще раз помогите пожалуйста!!
begun вне форума  
Непрочитано 05.06.2020, 17:40  
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: помогите поправить ардуино скетч

братцы, нашелся еще один, лучший представитель человечества.
настоящий человек и большая умница.
это - COS Fi.
гениальность в простоте.
он предложил вот такую строку в конце первого скеча.
Serial.print(buffer[i-1], HEX);
и чудо свершилось .работает на высшем уровне!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
пока я не знаю как из личного кабинета с ним связаться ,чтобы отблагодарить, но надеюсь, что увидит этот пост.
begun вне форума  
Непрочитано 05.06.2020, 19:22  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: помогите поправить ардуино скетч

Сообщение от begun Посмотреть сообщение
пока я не знаю как из личного кабинета с ним связаться
Вот так. Жмакнуть по треугольнику и выбрать из менюшки.
Миниатюры:
Нажмите на изображение для увеличения
Название: Личка.jpg
Просмотров: 0
Размер:	45.7 Кб
ID:	153661  
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с ардуино z2z AVR 6 06.03.2019 13:24
Помогите поправить схему канала ЦМУ Joiner Источники питания и свет 13 18.06.2015 21:35
Быстро проверить исправность Ардуино. 123ksn AVR 9 25.11.2014 11:54
Помогите русифицировать Anycall Samsung SEC SCHW770, SEC SCHW420, SEC SCHW2700, SEC SCHW570 Rusik_best Автоматика и аппаратура связи 0 27.12.2011 16:13
Помогите, пожалуйста, с PICом и дисплеем VaL_KX Proteus 4 15.11.2010 22:33


Часовой пояс GMT +4, время: 06:17.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.