RFID и аналоговые кнопки

Павел83
Offline
Зарегистрирован: 24.01.2021

Задача такая, я собираю комбинированный замок, пин-код на одной  пятипозиционной кнопке, посаженой на 1 аналоговый вход и RFID модуль pn 532 подключён по I2C + дисплей. Все работает, но кнопки при включённом RFID модуле не работают, не отображаются звёздочки, и не срабатывает функция открыто-закрыто, стоит мне выдернуть минусовой провод RFID модуля , так кнопки сразу начинают функционировать, но естественно перестаёт работать RFID. Библиотека на rfid это https://github.com/elechouse/PN532. Предоплату я вам внесу, вы посмотрите сможете ли вы решить эту задачу.

Можем списаться по вотс апу 
DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

схема есть?

Павел83
Offline
Зарегистрирован: 24.01.2021

Собранный мной скетч есть

Павел83
Offline
Зарегистрирован: 24.01.2021

#include <PN532_I2C.h>
#include <PN532.h>
#include <Wire.h>

PN532_I2C pn532i2c( Wire ) ;
PN532 nfc(pn532i2c) ;

const int LOCK = 6;                        // подключаем электрозамок

uint8_t success = 0 ;                     // правильный уид
uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 };  // Буфер для сохранения возвращаемого теплоносителя
uint8_t uidLength = 0 ;                   // Length of the UID (4 or 7 bytes depending on ISO14443A card type)
// uid required to access masterMode() and add/remove tags and cards
const uint8_t uidsKnown[3][4]             // Change uidKnownCount(3) to the number of UIDs in the multidimensional array
{
  0x49, 0x61, 0xC4, 0x6E,                // User 1
  0x49, 0x61, 0xC4, 0x6E,                // User 2
  0xBE, 0xEF, 0xDE, 0xAD                 // User 3
} ;
bool uidMatch = false ;
const uint8_t uidKnownCount = 3 ;        // Изменение на количество пользователей в многомерном массиве
const uint8_t uidKnownLength = 4 ;

#define red  13
// #define blue 6
//#define green 7
//#define beep 12

#define NUM_KEYS 5                              // определяем, сколько кнопок у нас подключено
int adcKeyVal[NUM_KEYS] = {0, 210, 416, 619, 870};
#define codeLength 5                            // длина кода, открывающего замок
const int codeOrigin[codeLength] = {2, 3, 4, 3, 5}; // массив, содержащий код, открывающий замок. Число элементов массива должно быть равным codeLength
const int unlockTime = 4000;                     // время разблокировки замка, миллисекунд
int codePressed[codeLength];                     // массив для записи номеров нажатых клавиш
int pressCount;                                   // счетчик нажатий (замок разблокируется при пятом нажатии)

unsigned int oldTime;                                      // переменные для счетчика времени неактивности набора кода
unsigned int currentTime;                           // текущее время
int const timeout = 5;                            // время таймаута при наборе кода, сек. После таймаута неполностью набранный код сбрасывается


#include <U8g2lib.h>


U8G2_ST7565_ERC12864_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);



void setup() {
  u8g2.begin();
  u8g2.enableUTF8Print();
  u8g2.setFont(u8g2_font_10x20_t_cyrillic);

  Serial.begin(9600);
  pinMode(LOCK, OUTPUT);                             //объявляем пин как выход.
  digitalWrite(LOCK, LOW);                         //Выключаем замок

  nfc.begin() ;
  uint32_t versiondata = nfc.getFirmwareVersion() ;
  nfc.SAMConfig() ;
  return ;


  pressCount = 0;                                  // Колличество нажатий
  //  pinMode(red, OUTPUT);
  //pinMode(green, OUTPUT);
  //pinMode(beep, OUTPUT);
}

const char s[] PROGMEM = "ДОБРО";
const char s1[] PROGMEM  = "ПОЖАЛОВАТЬ:" ;
const char s2[] PROGMEM  = "ОТКРЫВАЮ" ;
const char s3[] PROGMEM  = "ХА..ХА..ХА" ;
const char s4[] PROGMEM  = "НЕ ВЕРНО" ;
const char s5[] PROGMEM = "*_";



void loop() {


  u8g2.firstPage();
  do {

    u8g2.setCursor(30, 15);
    u8g2.print((class __FlashStringHelper *)s);   // print a sting, located in PROGMEM

    u8g2.setCursor(13, 40);
    u8g2.print((class __FlashStringHelper *)s1);  // print a sting (PROGMEM) via RAM array.

  }
  while ( u8g2.nextPage() );

  success = 0 ;                                    // успех
  uidLength = 0 ;                                   // Длинна UID (4 или 7 байт  зависимые на ISO14443A card type)
  for ( int it = 0 ; it < 7 ; it++ )               // Clear UID buffer on each iteration of loop()
    uid[it] = 0 ;
  uidMatch = false ;                               // совпадение uid лож
  success = nfc.readPassiveTargetID( PN532_MIFARE_ISO14443A, uid, &uidLength) ;

  if ( uidKnownLength == uidLength )              // сохраненая длинна uid = введеному uid
  {
    for ( byte it = 0 ; it < uidKnownCount ; it++ )
    {
      // Проверьте каждую строку в массиве uidsKnown здесь, вырвитесь из блока, если найдено совпадение
      if ( uidsKnown[it][0] == uid[0] && uidsKnown[it][1] == uid[1] && uidsKnown[it][2] == uid[2] && uidsKnown[it][3] == uid[3] )
      {

        Open();
        uidMatch = true ;

        return ;
      }
      else {
        Close();
        uidMatch = false;
      }
      return;

    }

  }


  if (pressCount == 1)
  {
    u8g2.drawStr(40, 66, "*-");
    u8g2.sendBuffer();
  }

  if (pressCount == 2)

  {
    u8g2.drawStr(40, 66, "**-");
    u8g2.sendBuffer();
  }

  if (pressCount == 3)
  {

    u8g2.drawStr(40, 66, "***-");
    u8g2.sendBuffer();

  }
  if (pressCount == 4)
  {
    u8g2.drawStr(40, 66, "****-");
    u8g2.sendBuffer();

  }
  if (pressCount == 5)
  {
    u8g2.drawStr(40, 66, "*****");
    u8g2.sendBuffer();

  }










  currentTime = millis();                         // записываем текущее время (в миллисекундах), прошедшее с момента начала исполнения программы
  if (currentTime - oldTime <= timeout * 1000)
  {
    int key;                                       // заводим переменную с именем key
    key = get_key();                               // записываем в эту переменную номер нажатой кнопки, вызывая на исполнение нижеописанную функцию get_key
    //Serial.println("«Введите код:»");
    //digitalWrite(blue, HIGH);                   // включаем синий светодиод

    if (key > 0) // если кнопка нажата
    {
      codePressed[pressCount] = key; // записываем номер нажатой кнопки в массив
      //digitalWrite(beep, HIGH);      // короткий сигнал звукоизлучателя (50 мс)
      //delay(50);
      //digitalWrite(beep, LOW);
      //digitalWrite(blue, LOW);
      delay(200);
      //digitalWrite(blue, HIGH);
      pressCount++;// увеличиваем счетчик нажатий

      oldTime = currentTime;  // сбрасываем счетчик времени таймаута

    }
  }
  else {
    pressCount = 0;
    //u8g2.clear();
    oldTime = currentTime;  // если достигнут таймаут, сбрасываем частично набранный код
  }


  if (pressCount == codeLength)
  {
    int compareResult = 1;
    for (int i = 0; i < codeLength; i++)
      if (codeOrigin[i] != codePressed[i])         // если весь код введен, сравниваем поэлементно два массива: codeOrigin и codePressed
        compareResult = 0;                           // если хотя бы одна пара элементов не равна

    if (compareResult == 1)                    // если массивы совпадают
    {
      Open();
      return;
    }


    // если введен неправильный код
    else {
      Close();
      return;
    }
  }
}
// Эта функция будет выполнена только когда ее вызвали из программы
// Функция читает значение с АЦП, куда подключена аналоговая клавиатура
// и сравнивает с калибровочными значениями, определяя номер нажатой кнопки


void Open() {                                                                //digitalWrite(blue, LOW);
  //digitalWrite(green, HIGH);

  u8g2.firstPage();
  do {

    u8g2.setCursor(25, 35);
    u8g2.print((class __FlashStringHelper *)s2);   // OPEN print a sting, located in PROGMEM

    //u8g2.setCursor(0, 40);
    //u8g2.print((class __FlashStringHelper *)s1);  // print a sting (PROGMEM) via RAM array.

  }
  while ( u8g2.nextPage() );

  digitalWrite(LOCK, HIGH);
  Serial.println("ОТКРЫВАЮ");

  delay(unlockTime);
  //digitalWrite(green, LOW);
  pressCount = 0;
  digitalWrite(LOCK, LOW);

}


void Close() {

  u8g2.firstPage();
  do {

    u8g2.setCursor(0, 15);
    u8g2.print((class __FlashStringHelper *)s3);   // XA_XA _XA print a sting, located in PROGMEM

    u8g2.setCursor(0, 40);
    u8g2.print((class __FlashStringHelper *)s4);  // print a sting (PROGMEM) via RAM array.

  }
  while ( u8g2.nextPage() );

  //u8g2.clearBuffer();
  //u8g2.setCursor(0, 15);
  Serial.println("ХА..ХА..ХА");
  //u8g2.setCursor(0, 40);
  Serial.println("НЕ ВЕРНО");
  //u8g2.sendBuffer();

  //delay(100);

  //u8g2.clearBuffer();


  //Serial.println("“Неверный код»");
  //digitalWrite(blue, LOW);
  //digitalWrite(red, HIGH);
  //digitalWrite(beep, HIGH);
  //delay(2000);
  delay(unlockTime);
  pressCount = 0;

  //digitalWrite(beep, LOW);
  //digitalWrite(blue, HIGH);
  //digitalWrite(red, LOW);

}

int get_key()
{
  int input;
  input = analogRead(A2);            // переменная для считывания значений с аналогового входа
  int k;
  for (k = 0; k < NUM_KEYS; k++)
    if (input < adcKeyVal[k])
      return k + 1;
  return 0;
}

 

sadman41
Offline
Зарегистрирован: 19.10.2016

У PN, пишут, TTL 3.3V

Павел83
Offline
Зарегистрирован: 24.01.2021

sadman41 пишет:
У PN, пишут, TTL 3.3V

он и от 3.3 и от 5 работает

b707
Offline
Зарегистрирован: 26.05.2017

Павел83 пишет:

Собранный мной скетч есть

в помойку, как мне кажется

Единственный плюс от него - видно что хоть кнопки не подключены к А4 и А5 :)

Павел83
Offline
Зарегистрирован: 24.01.2021

Меня сейчас не интересует, куда его)). Я его выложил для общего понятия , что я хочу. Меня сейчас интересует цена и время, а переделывать вы его будете или дописывать вообще не интересует.

Павел83
Offline
Зарегистрирован: 24.01.2021

Если переписывать то нужно ещё дисплей учесть

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

c дисплеем 3500

Павел83
Offline
Зарегистрирован: 24.01.2021

Так дисплей работает!))) а без дисплея и функций открыть и закрыть сколько будет стоить ну чтоб с кнопок и rfid включался светодиод и выключался?

Павел83
Offline
Зарегистрирован: 24.01.2021

DetSimen пишет:

c дисплеем 3500

и вы на 100% уверены, что способны заставить это работать?

Павел83
Offline
Зарегистрирован: 24.01.2021

И время, меня очень интересует время

b707
Offline
Зарегистрирован: 26.05.2017

Павел83 пишет:

а без дисплея и функций открыть и закрыть сколько будет стоить

а без дисплея и функций - 5000

man9913
Offline
Зарегистрирован: 19.03.2016

Могу помочь, пишите man9913@mail.ru

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Павел83 пишет:

и вы на 100% уверены, что способны заставить это работать?

Нет.  Схему я не видел

Павел83
Offline
Зарегистрирован: 24.01.2021

b707 пишет:

Павел83 пишет:

а без дисплея и функций открыть и закрыть сколько будет стоить

а без дисплея и функций - 5000

хорошо я вам плачу 2500 аванса,к утру вы мне выдаёте рабочий код, если код не рабочий , за каждый вернувшийся вами код вычитаем по 1000 руб. По моему так будет справедливо. Если вас устраивает

пишите адрес почты обговорим детали

b707
Offline
Зарегистрирован: 26.05.2017

Павел83 пишет:

Если вас устраивает

нет :)

 

Павел83
Offline
Зарегистрирован: 24.01.2021

Нут извините тогда, я не могу Вас заставить уважать и чужое время тоже.

Павел83
Offline
Зарегистрирован: 24.01.2021

DetSimen пишет:

Павел83 пишет:

и вы на 100% уверены, что способны заставить это работать?

Нет.  Схему я не видел

простите а какая вам схема нужна? Схема подключения?

Павел83
Offline
Зарегистрирован: 24.01.2021

Лю-ю-ди? Кто способен выполнить задачу? 

Павел83
Offline
Зарегистрирован: 24.01.2021

Пока только столкнулся с неуверенными в себе людьми, балаболами, и с людьми кто хотел бы помочь, без всякого пафоса, и в силу сопредельных обстоятельств, не имеющих возможности помочь. Не ужели здесь нет специалистов?

gfx125
Offline
Зарегистрирован: 27.05.2017

Павел83 пишет:

простите а какая вам схема нужна? Схема подключения?

Да.

b707
Offline
Зарегистрирован: 26.05.2017

Павел83 пишет:

Пока только столкнулся с неуверенными в себе людьми, балаболами, и с людьми кто хотел бы помочь, без всякого пафоса, и в силу сопредельных обстоятельств, не имеющих возможности помочь.

"все мужики делятся на две группы - первые хотят, но не могут = импотенты, и вторая кто может, но не хочет = сволочи!"

 

Паша, а что вы удивляетесь? В предыдущей своей ветке, ныне удаленной вроде... где вы распинались как легко научить новичка кататься на велосипеде - вы умудрились послать далеко почти всех участников, которые могли бы вам помочь.

Kakmyc
Offline
Зарегистрирован: 15.01.2018

В доступном мне магазине, за данный модуль rfid просят целых 1050р.
Если ТС готов оплатить его приобретение, то могу продолжить изыскания.

Kakmyc
Offline
Зарегистрирован: 15.01.2018

В такой редакции точно так же не работает.

#include <PN532_I2C.h>
#include <PN532.h>
#include <Wire.h>
PN532_I2C pn532i2c( Wire ) ;
PN532 nfc(pn532i2c) ;
#include <U8g2lib.h>
U8G2_ST7565_ERC12864_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);

const int LOCK=6;  // подключаем электрозамок

uint8_t success = 0 ; // правильный уид
uint8_t uid[7]; // Буфер для сохранения возвращаемого теплоносителя
uint8_t uidLength = 0 ;// Length of the UID (4 or 7 bytes depending on ISO14443A card type)
// uid required to access masterMode() and add/remove tags and cards
const uint8_t uidsKnown[3][4]={
{0x49,0x61,0xC4,0x6E},// User 1
{0x49,0x61,0xC4,0x6E},// User 2
{0xBE,0xEF,0xDE,0xAD} // User 3
} ;
bool uidMatch=false;       
const uint8_t uidKnownCount=3;// Изменение на количество пользователей в многомерном массиве
const uint8_t uidKnownLength=4;

#define red  13

#define NUM_KEYS 5 // определяем, сколько кнопок у нас подключено
int adcKeyVal[NUM_KEYS]={5,210,416,619,870};
#define codeLength 5// длина кода, открывающего замок
const int codeOrigin[codeLength] = {2,3,3,3,5};  // массив, содержащий код, открывающий замок. Число элементов массива должно быть равным codeLength
const int unlockTime = 4000;// время разблокировки замка, миллисекунд
int codePressed[codeLength];// массив для записи номеров нажатых клавиш
int pressCount;// счетчик нажатий (замок разблокируется при пятом нажатии)

unsigned int oldTime;// переменные для счетчика времени неактивности набора кода
unsigned int currentTime;// текущее время
int const timeout = 5;// время таймаута при наборе кода, сек. После таймаута неполностью набранный код сбрасывается
const char s[] PROGMEM = "ДОБРО";
const char s1[] PROGMEM  = "ПОЖАЛОВАТЬ:" ;
const char s2[] PROGMEM  = "ОТКРЫВАЮ" ;
const char s3[] PROGMEM  = "ХА..ХА..ХА" ;
const char s4[] PROGMEM  = "НЕ ВЕРНО" ;
const char s5[] PROGMEM = "*_";
String inputString="";

void Open(){
  u8g2.firstPage();
  do { 
    u8g2.setCursor(25, 35);
    u8g2.print((class __FlashStringHelper *)s2);
     u8g2.setCursor(0, 40);
 u8g2.print((class __FlashStringHelper *)s1);
                                                                  
  } 
  while ( u8g2.nextPage() );
  
   digitalWrite(LOCK, HIGH);
  Serial.println("ОТКРЫВАЮ"); 
delay(unlockTime);
pressCount = 0;
digitalWrite(LOCK, LOW);

}       
 
 
void Close(){
u8g2.firstPage();
  do {  
    u8g2.setCursor(0, 15);
    u8g2.print((class __FlashStringHelper *)s3);
    u8g2.setCursor(0, 40);
    u8g2.print((class __FlashStringHelper *)s4);   
  } 
  while ( u8g2.nextPage() );
  Serial.println("ХА..ХА..ХА");
  Serial.println("НЕ ВЕРНО"); 
delay(unlockTime);
pressCount = 0;
}

int get_key(){
int input; 
input = analogRead(A2);
    delay(20)   ;
 input = analogRead(A2); // переменная для считывания значений с аналогового входа
for(int k = 0; k < NUM_KEYS; k++){
if(input < adcKeyVal[k]){
return k + 1;}}
return 0;
} 

void CheckUID(){    
if(uidKnownLength==uidLength){// сохраненая длинна uid = введеному uid
for(byte it=0;it<uidKnownCount;it++){
 // Проверьте каждую строку в массиве uidsKnown здесь, вырвитесь из блока, если найдено совпадение
if(!memcmp(uidsKnown[it],uid,uidLength)){ 
    Open();
    uidMatch = true ;    
  return ;
    }
else {  
Close();
uidMatch = false;
}
//return;
}
    } 
}       



void setup() {
  u8g2.begin();
  u8g2.enableUTF8Print();
  u8g2.setFont(u8g2_font_10x20_t_cyrillic);
  
  Serial.begin(9600);
  pinMode(LOCK, OUTPUT);                             //объявляем пин как выход.
  digitalWrite(LOCK, LOW);                         //Выключаем замок
  
nfc.begin() ;
uint32_t versiondata=nfc.getFirmwareVersion() ;
nfc.SAMConfig() ;
 return ;  
  pressCount = 0;                        
}//end setup


void loop() {
  u8g2.firstPage();
  do {  
    u8g2.setCursor(30, 15);
    u8g2.print((class __FlashStringHelper *)s);   // print a sting, located in PROGMEM   
    u8g2.setCursor(13, 40);
    u8g2.print((class __FlashStringHelper *)s1);  // print a sting (PROGMEM) via RAM array.
    
  } 
  while ( u8g2.nextPage() );  
success = 0 ; // успех
uidLength=0; // Длинна UID (4 или 7 байт  зависимые на ISO14443A card type)
for ( int it = 0 ; it < 7 ; it++ )               // Clear UID buffer on each iteration of loop()
uid[it] = 0 ;
uidMatch=false ;// совпадение uid лож
success=nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A,uid,&uidLength);

if(success)CheckUID();
    
    for(int i=0;i<pressCount;i++){
        inputString+='*';
    }
    inputString+='_';
    char str[]="inputString";
u8g2.drawStr(40,66,str);
u8g2.sendBuffer();

currentTime = millis();
static uint32_t inputTime=currentTime;
static boolean isInput=0;
boolean endInput=0;
boolean keyFlag=0;   
int key=get_key();
static int prevKey=key;
    
  if(key&&prevKey!=key){
isInput=1;
codePressed[pressCount] = key;
        Serial.println(key);
delay(200);
pressCount++;
       inputTime= currentTime;
        }
if(isInput){
    if(currentTime-inputTime>=5000||pressCount==codeLength){
            Serial.println("input comlete");
            for(int i=0;i<codeLength;i++)Serial.print(codePressed[i]);
 pressCount=0;
            endInput=1;
      isInput=0;}
    }//end isImput
    else{inputTime=currentTime;}
    
 prevKey=key;  
    
    if(endInput){
        endInput=0;
        Serial.print("calculate");
        delay(20);
switch(memcmp(codePressed,codeOrigin,codeLength)){
            case 0:
            Serial.print("OPEN");
            Open();
            break;
            case 1:
            Serial.print("CLOSE");
            Close();
            break;            
        }//end switch
    
    }
      

}


 

Павел83
Offline
Зарегистрирован: 24.01.2021

b707 пишет:

Павел83 пишет:

Пока только столкнулся с неуверенными в себе людьми, балаболами, и с людьми кто хотел бы помочь, без всякого пафоса, и в силу сопредельных обстоятельств, не имеющих возможности помочь.

"все мужики делятся на две группы - первые хотят, но не могут = импотенты, и вторая кто может, но не хочет = сволочи!"

 

Паша, а что вы удивляетесь? В предыдущей своей ветке, ныне удаленной вроде... где вы распинались как легко научить новичка кататься на велосипеде - вы умудрились послать далеко почти всех участников, которые могли бы вам помочь.

вы можете перечитать всю предидущую ветку, и вы увидите  что происходило... и  вы ошибаетесь! Нашлись люди готовые помочь, возможно и гораздо ниже чем вы, в знаниях, но тем не менее, взяли и попробовали, вместо того чтоб нарезать понты. И эти люди вызывают доверие больше чем те , что кукарекают, на всех форумах, а толку ноль, я перечитал много форумов, и в основном это одни и те же ребята, мы не будим называть их по логинам,ОНИ и все остальные их знают. Я так понимаю, они и задают настрой и политику сайта, только конструктивного диалога, с большинством потенциальных клиентов, так и не свершается, из за того что эти люди не эрудированны в общении. Они не умеют вытрясти из клиента сумму , они ее по старому пытаются отжать, система «на лоха» сообщества как такового нет. Когда я регистрировался ожидал, увидеть группу единомышленников, а тут псы, которые ещё и клиента, виновным делают, в их неудачах по жизни, кругом гении, которые на х.. ни кому не нужны!!! Только это не проблема государства, это проблема завышенной самооценки. Извините ни кто не виноват , что вы не реализовали себя как личность, это только ваши личные трудности.

sadman41
Offline
Зарегистрирован: 19.10.2016

Единомышленников с кем?

И к чему эта тирада? Если даже скиф прошел мимо, то стоит задуматься...

Павел83
Offline
Зарегистрирован: 24.01.2021

Нет не работает! пробовал по spi сегодня, та же реакция. как будто программа считает модуль главным.

Павел83
Offline
Зарегистрирован: 24.01.2021

gfx125 пишет:

Павел83 пишет:

простите а какая вам схема нужна? Схема подключения?

Да.

вот тут интересно становится, для чего вас схема , если пинкод -работает, rfid -работает, , экран работает...???

Павел83
Offline
Зарегистрирован: 24.01.2021

sadman41 пишет:
Единомышленников с кем? И к чему эта тирада? Если даже скиф прошел мимо, то стоит задуматься...

а скиф у вас это кто? Тот которого алкоголиком зовут, который глава банды? детСимен?

vvadim
Offline
Зарегистрирован: 23.05.2012

Павел83 пишет:

sadman41 пишет:
Единомышленников с кем? И к чему эта тирада? Если даже скиф прошел мимо, то стоит задуматься...

а скиф у вас это кто? Тот которого алкоголиком зовут, который глава банды? детСимен?

не, главный тут бармалей...

а дет просто котов любит, и вотку.

rst
Offline
Зарегистрирован: 25.06.2018

Павел83 пишет:
кругом гении, которые на х.. ни кому не нужны!!!
Казаки кибер-дружинники насторожились....  ;)

https://tsargrad.tv/news/kazaki-objavili-ohotu-na-mat-v-socsetjah-kiberd...

Павел83
Offline
Зарегистрирован: 24.01.2021

rst пишет:

Павел83 пишет:
кругом гении, которые на х.. ни кому не нужны!!!
Казаки кибер-дружинники насторожились....  ;)

https://tsargrad.tv/news/kazaki-objavili-ohotu-na-mat-v-socsetjah-kiberd...

Меня из поста по вашей ссылке, больше видео напугало, а мат можно заменить и другими более обидными словечками)))

kolyn
Offline
Зарегистрирован: 18.01.2019

Павел83 пишет:

gfx125 пишет:

Павел83 пишет:

простите а какая вам схема нужна? Схема подключения?

Да.

вот тут интересно становится, для чего вас схема , если пинкод -работает, rfid -работает, , экран работает...???

Паша, дружок. Давай я на пальцах попытаюсь объяснить для чего людям нужна схема, при чем именно твоя, а не из интернета скачанная. Вот представь что у тебя есть две (или более) гайки и один ключ (инструмент). Ты же не можешь одновременно вертеть обе, правильно? Так вот, в МК то же есть свои инструменты, их много, некоторые из них в нескольких экземплярах...  Они  вынесены на разные дырочки в Ардуиночке, к которым ты проводочки подключаешь от модулечков.

Подключаешь различные библиотечки, в которых ни хрена не понимаешь. А они могут пытаться использовать одновременно один и тот же инструмент, и не давать работать друг другу (что у тебя и происходит). Кроме того в самих модулечках есть маленькие детальки, которые могут мешать совместной работе (что у тебя и происходит). Поэтому причин, по которым не работает может быть over много. Я и десятой части не описал.

Кроме того модулечков с названием "экран" гораздо больше, чем один, у тебя просят конкретное название, которое необходимо указать на схеме (как и всех прочих).

А ты по своей молодости/глупости/незнанию/раздутому ЧСВ (нужное выбери сам) начинаешь гнуть пальцы, пускать сопли пузырями и крошить булочку на стариков. Дружок, ты пойми, деды ведь не глупей тебя. И вопросы задают не для того, что бы тебя нагнуть лишний раз. А писать такие вот простыни каждому нубу им лень. Проще послать, что с тобой регулярно случается.

Не спеши строчить ответ, подумай.

Павел83
Offline
Зарегистрирован: 24.01.2021

Ну так можно спросить «нужна схема подключения...» Я откуда знаю какая схема? Может человека интересует блок схема.Экран я не знаю какой это экран, ещё раз пишу это экран от старого плеера iriver 450 с ним работает драйвер st7567 из библиотеки u8glib, 128*64 точечки, ножки от дисплея, сидят там где указано в скетче. Кнопочка от сониэриксон, центральная ,имеет 5 позиций посажена на маленькую штучку, из текстолита с вытравленными дорожками между ножками впаяны планарные резистрики , что представляет собой резистивный делитель, + контактик сидит на 5в, минусовой сидит на gnd. А результаты делителя идут на аналоговый,вход не важно на какой, главное чтоб в скетче  совпадало. Контакты на модульке RFID gnd, vcc,sda, scl подключены к ардуинке uno , a4,a5, 5в,gnd. Переключатель  на модульке стоит в позиции 1,0. Ясно означает i2c. Я описал схему подключения, потому что нарисовать ее у меня нет программы.

sadman41
Offline
Зарегистрирован: 19.10.2016

За такой самопал только Звягинцев возьмётся, как мне видится.

Павел83
Offline
Зарегистрирован: 24.01.2021

sadman41 пишет:
За такой самопал только Звягинцев возьмётся, как мне видится.

Ну какой самопал я ведь объясняю, что все работает дисплей отображает, кнопки выдают значения которые нужны, модуль тоже работает в собранном скетче все работает,НО либо только пин код, либо только  rfid

sadman41
Offline
Зарегистрирован: 19.10.2016

Да всё понятно, что все работает, просто нужно исправить две строчки и вставить один оператор. Знающему человеку на пять минут дел.

Но я сужу по количеству взявшихся за дело - вслепую что-то делать или просто связываться с такой простотой желающих нет.

b707
Offline
Зарегистрирован: 26.05.2017

Павел83 пишет:

sadman41 пишет:
За такой самопал только Звягинцев возьмётся, как мне видится.

Ну какой самопал я ведь объясняю, что все работает дисплей отображает, кнопки выдают значения которые нужны, модуль тоже работает в собранном скетче все работает,НО либо только пин код, либо только  rfid

Паша, удивил. Даже при условии стандартного железа мне было лень за это браться за 3-5 тыр... а тут сплошной колхоз. Да еще ты требуешь... нет, не так... ТЫ ТРЕБУЕШЬ! гарантии работоспособности на следующее утро после заказа.

Такое можно решить только в одном случае - если у меня на руках абсолютно то же железо, что у тебя. И надбавка за скорость.

Короче, мой тебе совет - размещай заказ на стандартных комплектующих (и дисплей и RFID должны быть доступны на Али) и в разумные сроки - 3-5 дней. Тогда ценник в 3500 будет адекватным.

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Павел83 пишет:

sadman41 пишет:
Единомышленников с кем? И к чему эта тирада? Если даже скиф прошел мимо, то стоит задуматься...

а скиф у вас это кто? Тот которого алкоголиком зовут, который глава банды? детСимен?

ну и зачем ты на Деда наехал?
Он старой закалки, отремонтировать может практически любой девайс...
Просит схему, дай...
 

PS Скиф, это тот, кто берётся реализовать любое устройство )))

Павел83
Offline
Зарегистрирован: 24.01.2021

sadman41 пишет:
Да всё понятно, что все работает, просто нужно исправить две строчки и вставить один оператор. Знающему человеку на пять минут дел. Но я сужу по количеству взявшихся за дело - вслепую что-то делать или просто связываться с такой простотой желающих нет.

Не работает оператор, уже проблвали

b707
Offline
Зарегистрирован: 26.05.2017

Павел83 пишет:

Не работает оператор, уже проблвали

про оператор это был сарказм. если кто не понял :)))))))))

Павел83
Offline
Зарегистрирован: 24.01.2021

ua6em пишет:

Павел83 пишет:

sadman41 пишет:
Единомышленников с кем? И к чему эта тирада? Если даже скиф прошел мимо, то стоит задуматься...

а скиф у вас это кто? Тот которого алкоголиком зовут, который глава банды? детСимен?

ну и зачем ты на Деда наехал?
Он старой закалки, отремонтировать может практически любой девайс...
Просит схему, дай...
 

PS Скиф, это тот, кто берётся реализовать любое устройство )))

я на деда не наезжал, так о нем отзываются участники форума, я просто спросил, кого имеют ввиду!)))

Павел83
Offline
Зарегистрирован: 24.01.2021

b707 пишет:

Павел83 пишет:

sadman41 пишет:
За такой самопал только Звягинцев возьмётся, как мне видится.

Ну какой самопал я ведь объясняю, что все работает дисплей отображает, кнопки выдают значения которые нужны, модуль тоже работает в собранном скетче все работает,НО либо только пин код, либо только  rfid

Паша, удивил. Даже при условии стандартного железа мне было лень за это браться за 3-5 тыр... а тут сплошной колхоз. Да еще ты требуешь... нет, не так... ТЫ ТРЕБУЕШЬ! гарантии работоспособности на следующее утро после заказа.

Такое можно решить только в одном случае - если у меня на руках абсолютно то же железо, что у тебя. И надбавка за скорость.

Короче, мой тебе совет - размещай заказ на стандартных комплектующих (и дисплей и RFID должны быть доступны на Али) и в разумные сроки - 3-5 дней. Тогда ценник в 3500 будет адекватным.

 

ребят, я в группе «помогите» спрашивал как реализовать совмещение кнопок на логическом контакте, и рфид модуля , просто описать логику благодаря которой можно это сделать, начались ваши любимые, я почитал все форумы везде одно и то же. А по делу ни слова

Павел83
Offline
Зарегистрирован: 24.01.2021

Detsimen даже тему удалил, потому что 180 сообщений, был пустой лай.

b707
Offline
Зарегистрирован: 26.05.2017

Павел83 пишет:

я в группе «помогите» спрашивал как реализовать совмещение кнопок и рфид модуля... просто описать логику благодаря которой можно это сделать

это невозможно описать "просто".

Ну может не "невозможно"... точнее скажем так - я вот не знаю, как это просто описать, люди этому - программированию - учатся годами.

Я могу это запрограммировать и займет это у меня быстрее. чем обьяснить новичку, что я сделал.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Павел83 пишет:

Detsimen даже тему удалил, потому что 180 сообщений, был пустой лай.

Бывает, чо.  Мне ж пофиг, если полезной информации в теме == 0, зачем она?  

sadman41
Offline
Зарегистрирован: 19.10.2016

Павел83 пишет:

 ребят, я в группе «помогите» спрашивал как реализовать совмещение кнопок на логическом контакте, и рфид модуля , просто описать логику благодаря которой можно это сделать, начались ваши любимые, я почитал все форумы везде одно и то же. А по делу ни слова

И что тут такого? Никто не обязан исполнять твои фантазии. Даже продавцы в магазинах.

Не сумел найти контакт с форумом - вини только себя.

Павел83
Offline
Зарегистрирован: 24.01.2021

Все кто подключился стараются помоч,кроме sadman41, b707,detsimen.

Павел83
Offline
Зарегистрирован: 24.01.2021

Павел83 пишет:

Все кто подключился стараются помоч,кроме sadman41, b707,detsimen.

святая троица во всех форумах, торчат новичков)))) ещё brokkoly иногда подключается и Adriano