Блок-схема скетча

Perun_32
Offline
Зарегистрирован: 05.08.2019

Здравствуйте! Нужна помощь! Нужна блок-схема алгоритма работы вот этого скетча, нарисованная в Visio.

#include <Adafruit_Fingerprint.h>
 
 
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&Serial);
 
int id = 0;
 
#define POWER       5
 
 
#define BTN_1       2
#define BTN_2       3
 
#define LED_1       7
//#define LED_2       8
#define LED_3      13
 
#define REL_1      10
#define REL_2      11
#define REL_3      12
 
 
bool flagBtn1 = false, flagBtn2 = false;
 
 
int user_auth = 0;
 
 
int getFingerprintID()
{
    uint8_t p = finger.getImage();
    if (p != FINGERPRINT_OK)  return -1;
  
    p = finger.image2Tz();
    if (p != FINGERPRINT_OK)  return -1;
  
    p = finger.fingerFastSearch();
    if (p != FINGERPRINT_OK)  return -1;
    
    finger.confidence;
    
    return finger.fingerID; 
}
 
void setup() 
{
    pinMode(POWER, INPUT); digitalWrite(POWER, LOW);
    
    pinMode(BTN_1, INPUT); digitalWrite(BTN_1, HIGH);
    pinMode(BTN_2, INPUT); digitalWrite(BTN_2, HIGH);
 
    pinMode(LED_1, OUTPUT); digitalWrite(LED_1, LOW);
   // pinMode(LED_2, OUTPUT); digitalWrite(LED_2, LOW);
    pinMode(LED_3, OUTPUT); digitalWrite(LED_3, LOW);
 
    pinMode(REL_1, OUTPUT); digitalWrite(REL_1, HIGH);
    pinMode(REL_2, OUTPUT); digitalWrite(REL_2, HIGH);
    pinMode(REL_3, OUTPUT); digitalWrite(REL_3, HIGH);
 
    delay(1000);  
 
    //Serial.begin(57600);
    finger.begin(57600);
 
    finger.verifyPassword();
    finger.getTemplateCount();
 
    Serial.print("Sensor contains "); 
    Serial.print(finger.templateCount); 
    Serial.println(" templates");
    Serial.println("Waiting for valid finger..."); 
      
    //for(int i = 0; i < 180; i++) deleteFingerprint(i);
}
 
void loop()
{
    // Если нет питания (тоесть ПК выключен)
    if(digitalRead(POWER) == LOW)
    {
        int u = getFingerprintIDez();
 
        if(u == 11)
        {
            user_auth = u;
            
            digitalWrite(REL_1, LOW);
            digitalWrite(REL_2, LOW);
            delay(1000);
 
            digitalWrite(REL_3, LOW);
            delay(4000);
            digitalWrite(REL_3, HIGH);
    
            delay(5000);
        }
        
        if(u == 22)
        {
            user_auth = u;
            
            digitalWrite(REL_1, HIGH);
            digitalWrite(REL_2, HIGH);
            delay(1000);
 
            digitalWrite(REL_3, LOW);
            delay(4000);
            digitalWrite(REL_3, HIGH);
    
            delay(5000);
        }
 
        if(digitalRead(BTN_1) == LOW && flagBtn1 == false)
        {
            flagBtn1 = true;
            delay(100);
        }
        
        if(digitalRead(BTN_1) == HIGH && flagBtn1 == true) 
        {
            flagBtn1 = false;
            deleteFingerprint(11);
            delay(100); 
            while (!  getFingerprintEnroll(11) );  
            delay(5000);
        }
        
        if(digitalRead(BTN_2) == LOW && flagBtn2 == false)
        {
            flagBtn2 = true;
            delay(100);
        }
        
        if(digitalRead(BTN_2) == HIGH && flagBtn2 == true) 
        {
            flagBtn2 = false;
            deleteFingerprint(22);
            delay(100); 
            while (!  getFingerprintEnroll(22) );
            delay(5000);
        }
    }
    else
    { 
        int u = getFingerprintIDez();
 
        if(u == 11 && user_auth == 11)
        {
            user_auth = 0;
 
            digitalWrite(REL_3, LOW);
            delay(4000);
            digitalWrite(REL_3, HIGH);
    
            delay(5000);
        }
        
        if(u == 22 && user_auth == 22)
        {
            user_auth = 0;
 
            digitalWrite(REL_3, LOW);
            delay(4000);
            digitalWrite(REL_3, HIGH);
    
            delay(5000);
        }
    }
}
 
uint8_t getFingerprintID2()
{
    uint8_t p = finger.getImage();
    
    switch (p)
    {
      case FINGERPRINT_OK:
          break;
      case FINGERPRINT_NOFINGER:
          return p;
      case FINGERPRINT_PACKETRECIEVEERR:
          return p;
      case FINGERPRINT_IMAGEFAIL:
          return p;
      default:
          return p;
    }
 
    p = finger.image2Tz();
    
    switch (p) 
    {
        case FINGERPRINT_OK:
            break;
        case FINGERPRINT_IMAGEMESS:
            return p;
        case FINGERPRINT_PACKETRECIEVEERR:
            return p;
        case FINGERPRINT_FEATUREFAIL:
            return p;
        case FINGERPRINT_INVALIDIMAGE:
            return p;
        default:
            return p;
    }
      
    p = finger.fingerFastSearch();
    
    if (p == FINGERPRINT_OK)
    {
 
    }
    else if (p == FINGERPRINT_PACKETRECIEVEERR) 
    {
        return p;
    } 
    else if (p == FINGERPRINT_NOTFOUND) 
    {
        return p;
    } 
    else
    {
        return p;
    }   
  
    finger.fingerID;
    finger.confidence; 
    
    return finger.fingerID;
}
 
int getFingerprintIDez()
{
    uint8_t p = finger.getImage();
    
    if (p != FINGERPRINT_OK)  return -1;
  
    p = finger.image2Tz();
    
    if (p != FINGERPRINT_OK)  return -1;
  
    p = finger.fingerFastSearch();
    
    if (p != FINGERPRINT_OK)  return -1;
    
    finger.fingerID; 
    finger.confidence;
    
    return finger.fingerID; 
}
 
uint8_t getFingerprintEnroll(int item)
{
    int p = -1;
    
    digitalWrite(LED_3, HIGH);
    
    while (p != FINGERPRINT_OK) 
    {
        p = finger.getImage();
        switch (p) 
        {
            case FINGERPRINT_OK:
              break;
            case FINGERPRINT_NOFINGER:
              break;
            case FINGERPRINT_PACKETRECIEVEERR:
              break;
            case FINGERPRINT_IMAGEFAIL:
              break;
            default:
              break;
        }
    }
 
    p = finger.image2Tz(1);
    
    switch (p) 
    {
        case FINGERPRINT_OK:
            break;
        case FINGERPRINT_IMAGEMESS:
            return p;
        case FINGERPRINT_PACKETRECIEVEERR:
            return p;
        case FINGERPRINT_FEATUREFAIL:
            return p;
        case FINGERPRINT_INVALIDIMAGE:
            return p;
        default:
            return p;
    }
  
    delay(2000);
    digitalWrite(LED_3, LOW);
    
    p = 0;
  
    while (p != FINGERPRINT_NOFINGER) 
    {
        p = finger.getImage();
    }
         
    p = -1;
    
    digitalWrite(LED_3, HIGH);
    
    while (p != FINGERPRINT_OK) 
    {
        p = finger.getImage();
        switch (p) 
        {
          case FINGERPRINT_OK:
              break;
          case FINGERPRINT_NOFINGER:
              break;
          case FINGERPRINT_PACKETRECIEVEERR:
              break;
          case FINGERPRINT_IMAGEFAIL:
              break;
          default:
              break;
        }
    }
 
    p = finger.image2Tz(2);
    
    switch (p) 
    {
        case FINGERPRINT_OK:
            break;
        case FINGERPRINT_IMAGEMESS:
            return p;
        case FINGERPRINT_PACKETRECIEVEERR:
            return p;
        case FINGERPRINT_FEATUREFAIL:
            return p;
        case FINGERPRINT_INVALIDIMAGE:
            return p;
        default:
            return p;
    }
   
    p = finger.createModel();
    
    if (p == FINGERPRINT_OK) 
    {
 
    }
    else if (p == FINGERPRINT_PACKETRECIEVEERR)
    {
        return p;
    }
    else if (p == FINGERPRINT_ENROLLMISMATCH)
    {
        return p;
    } 
    else 
    {
        return p;
    }   
      
    digitalWrite(LED_3, LOW);
    
    p = finger.storeModel(item);
    
    if (p == FINGERPRINT_OK)
    {
        digitalWrite(LED_1, HIGH);
        //if(item == 11) digitalWrite(LED_1, HIGH);
        //if(item == 22) digitalWrite(LED_2, HIGH);
    } 
    else if (p == FINGERPRINT_PACKETRECIEVEERR)
    {
        return p;
    } 
    else if (p == FINGERPRINT_BADLOCATION) 
    {
        return p;
    }
    else if (p == FINGERPRINT_FLASHERR) 
    {
        return p;
    }
    else
    {
        return p;
    }   
}
 
uint8_t deleteFingerprint(uint8_t id) 
{
    uint8_t p = -1;
    
    p = finger.deleteModel(id);
  
    if (p == FINGERPRINT_OK)
    {digitalWrite(LED_1, LOW);
        //if(id == 11) digitalWrite(LED_1, LOW);
        //if(id == 22) digitalWrite(LED_2, LOW);
    }
    else if (p == FINGERPRINT_PACKETRECIEVEERR) 
    {
        return p;
    } 
    else if (p == FINGERPRINT_BADLOCATION) 
    {
        return p;
    }
    else if (p == FINGERPRINT_FLASHERR)
    {
        return p;
    }
    else
    {
        return p;
    }   
}
Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

500 р

karamzin01
Offline
Зарегистрирован: 08.03.2018

maslachenko767@mail.ru пиши обсудим

Perun_32
Offline
Зарегистрирован: 05.08.2019

Как скоро справитесь?

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

Perun_32 пишет:

Как скоро справитесь?

 

вчера

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

кстати в скетче две ошибки

Perun_32
Offline
Зарегистрирован: 05.08.2019

Отлично! Меня это устраивает. На ошибки не обращайте внимание

 

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

Хорошо. Сделаю схему с ошибками

Perun_32
Offline
Зарегистрирован: 05.08.2019

Что по оплате? 

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

500 ?

Perun_32
Offline
Зарегистрирован: 05.08.2019

Ок. Карта, номер?

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

после работы

Perun_32
Offline
Зарегистрирован: 05.08.2019

мой ящик perun-32@yandex.ru   

Как закончите, сообщите, часть алгоритма сбросите, я посмотрю

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

весь сброшу

Perun_32
Offline
Зарегистрирован: 05.08.2019

Хорошо

 

Perun_32
Offline
Зарегистрирован: 05.08.2019

Здравствуйте! Что там по алгоритму?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Perun_32 пишет:

Здравствуйте! Что там по алгоритму?

От скифобармалея обещанного три года ждут, как известно. А если серьёзно - то это один из двух местных кидал. Второй - сирожа звягинцев, который карамзин.

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

 Я назначил срок? Я взял предоплату за работу? Я дал свою почту заказчику? Я его кинул? Я его даже не поднимал. Пусть учится сам. 

Ты же сам видишь, что там галиматья очередного студента. Содранная где то. Он даже не понимает, о чём там программа. К тому же с ошибками. Или не видишь... Ты же сюда только пофлудить заходишь.

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

Бармалей пишет:

 Я назначил срок? 

Назначил. 

http://arduino.ru/forum/ishchu-ispolnitelya/blok-skhema-sketcha#comment-524764

и схему наобещал

http://arduino.ru/forum/ishchu-ispolnitelya/blok-skhema-sketcha#comment-524768

а теперь "пусть сам учится".  Молодец.

Если и не собирался исполнять, нахрена тогда вылез со своим предложением, причом, самым первым? 

http://arduino.ru/forum/ishchu-ispolnitelya/blok-skhema-sketcha#comment-524756

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Бармалей пишет:

 Я назначил срок? Я взял предоплату за работу? Я дал свою почту заказчику? Я его кинул? Я его даже не поднимал. Пусть учится сам. 

Ты же сам видишь, что там галиматья очередного студента. Содранная где то. Он даже не понимает, о чём там программа. К тому же с ошибками. Или не видишь... Ты же сюда только пофлудить заходишь.

Как быстро ты в воздухе переобуваешься, скиф - прям как в истории с Чечако. Дет выше ответил, склеротичный ты наш.

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Я не очень понимаю почему админы к этому СкифоБармалею так лояльно относятся ? Он просто извращает раздел "Ищу исполнителя". Объявляет не вменяемые цены, за которые ничего не делает. Что сделает заказчик пересекшийся с ним, он просто больше не привет сюда. Да может быть он не потеряет денег, но он потеряет время, потеряет желание. Этот деятель ни чем не лучше Алегира. Админы, вы реально этого не понимаете !?

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

За всё что брался, я сделал. По невменяемым для вас ценам. Я не в москве живу. Для меня цены вполне вменяемые.

Хоть в одной теме есть жалобы на меня? 

А траглодита, скифа,  питекантропа, чичаку мне не приплетайте. Я так понимаю, они тоже цены не накручивали? Но то их проблемы. 

А этому заказчику я написал сразу, что у него программа с ошибками. Он ответил - ну и пусть. Делать блок-схему тоже с ошибками я не умею. Не сходится она. А исправлять чужие ошибки он не заказывал. Работать даром я тоже не хочу. 

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

Бармалей пишет:

А траглодита, скифа,  питекантропа, чичаку мне не приплетайте. Я так понимаю, они тоже цены не накручивали?

ты без вранья ни одного поста написать не можешь?  скиф и бармалей - один персонаж.

 

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Бармалей пишет:

За всё что брался, я сделал. По невменяемым для вас ценам. Я не в москве живу. Для меня цены вполне вменяемые.

Хоть в одной теме есть жалобы на меня? 

А траглодита, скифа,  питекантропа, чичаку мне не приплетайте. Я так понимаю, они тоже цены не накручивали? Но то их проблемы. 

А этому заказчику я написал сразу, что у него программа с ошибками. Он ответил - ну и пусть. Делать блок-схему тоже с ошибками я не умею. Не сходится она. А исправлять чужие ошибки он не заказывал. Работать даром я тоже не хочу. 

Ну а почему это не озвучил ? То что с ошибками - делать не умеешь ? Действия то провакационные. Из твоего поведения у всех сложилось впечатление, что ты взял заказ, взял - значит делай. Я же говорю именно про атмосферу которую ты создаешь в этом разделе. Сделал ты или нет - вопрос второй. Алегир тоже никого не кидал. Просто мозг выносил. И где он теперь ?

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

Почитай выше. Я заказчику озвучил что с ошибками. Теми, что уже в глаза бросились. Дальше проверять не стал.  Потом почитай его ответ. Он не просил ошибки исправить. Там уже другая цена.

А делал ему не я. Он где то содрал халявную программу. 

А атмосфера - если программа типа блинка, а за неё просят несколько штук - наверное, я порчу атмосферу, предлагая сделать за пиво. Виноват. Прости засранца.

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

А алигеров тут много. Не заметил разве, они не интересуются ТЗ, просят сначала озвучить бюджет. Но даже если заказчик и озвучивает, не берутся же писать. Пришли просто пофлудить. Меня они тоже бесят. 

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Бармалей пишет:

Почитай выше. Я заказчику озвучил что с ошибками. Теми, что уже в глаза бросились. Дальше проверять не стал.  Потом почитай его ответ. Он не просил ошибки исправить. Там уже другая цена.

А делал ему не я. Он где то содрал халявную программу. 

А атмосфера - если программа типа блинка, а за неё просят несколько штук - наверное, я порчу атмосферу, предлагая сделать за пиво. Виноват. Прости засранца.

Да делай хоть со своей доплатой. НО ДЕЛАЙ, а не балаболь.... Причем делай как нужно, а не на от...сь. Пока все твои дела именно так выглядят. Не серьезный подход, не гарантированный результат,  негативная реакция сообщества. Можешь спорить сколько угодно, действительность под тебя не прогнется.

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

Всё за что брался - сделал. С гарантией. Если не могу - не берусь. И потом контачу постоянно с заказчиками.

Можешь у них сам спросить.  

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

Все проще, прежде чем обещать и выкладывать цену, подумайте, не можете, не стоит даже писать в этом разделе.

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

Бармалей пишет:

Всё за что брался - сделал. С гарантией. Если не могу - не берусь. И потом контачу постоянно с заказчиками.

Бармалей пишет:

Хорошо. Сделаю схему с ошибками

Тогда я повторю свой вопрос: 

Если и не собирался исполнять, нахрена тогда вылез со своим предложением, причом, самым первым? 

http://arduino.ru/forum/ishchu-ispolnitelya/blok-skhema-sketcha#comment-524756

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

Дет, прасти засрантса. Сразу не заметил, что с ашипками там невазможно сделать блок схему. Не состыковываитса. 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

brokly пишет:

Я не очень понимаю почему админы к этому СкифоБармалею так лояльно относятся ? Он просто извращает раздел "Ищу исполнителя". Объявляет не вменяемые цены, за которые ничего не делает. Что сделает заказчик пересекшийся с ним, он просто больше не привет сюда. Да может быть он не потеряет денег, но он потеряет время, потеряет желание. Этот деятель ни чем не лучше Алегира. Админы, вы реально этого не понимаете !?

Вопрос спорный. И, по сути, упирается в другой - а зачем вообще нужен форум вообще и данный раздел в частности?

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

Если же всерьез рассматривать коммерческую составляющую, то возникает другой вопрос, а что с этого имеет форум как посредник? Интересно, исполнители делятся каким-либо процентом от своих заказов с владельцем ресурса? В зависимости от ответа на этот вопрос и следует политика администрирования данного раздела форума.

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

andriano пишет:

Вопрос спорный. И, по сути, упирается в другой - а зачем вообще нужен форум вообще и данный раздел в частности?

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

Если же всерьез рассматривать коммерческую составляющую, то возникает другой вопрос, а что с этого имеет форум как посредник? Интересно, исполнители делятся каким-либо процентом от своих заказов с владельцем ресурса? В зависимости от ответа на этот вопрос и следует политика администрирования данного раздела форума.

Ну давайте тогда тут гадить ? Или считаешь , что тут можно реально заработать ? Суть вопроса в том что два персонажа, Алегир и этот. Одного гасят, другого нет. Причина не понятна. Что же касается "отстегнуть владельцам ресурса", то эти владельцы тогда должны не только получать прибыль, но и минимизировать риски. Так что коммерческие рассуждения тут не усместны. Вообще это похоже на какой то подлиз :) Интересно, зачтется ? :) 

Araris
Offline
Зарегистрирован: 09.11.2012

Гадить пожалуйста в "Отвлеченные темы".