"Cat Spraygatron" - oder ein Kampfturm gegen eine Katze ^ _ ^

Diese Geschichte wird voller Intrigen, Verschwörungen, Enttäuschungen, Tränen und aufrichtiger Freude sein ... Aber übrigens, ich wurde ein wenig mitgerissen - so etwas wird es nicht geben.

Hintergrund: Ich habe eine ältere Mutter, die in einer anderen Stadt lebt. Und er heilt seine Beschwerden mit Aloe. Die Methode hilft sehr - und sie pflanzt ständig neue Triebe, um die verbrauchten zu ersetzen. Sie beherbergt zwei Vertreter der Schwanzfauna: Kuzya und Marek (Katze und Kätzchen). Warum die Katze plötzlich "Marek" wurde, ist eine lange Geschichte. Lassen Sie uns den Grund kurz als "weil die Sterne auf diese Weise geformt wurden" bezeichnen. Das heißt, nehmen wir an, dass Cat cat = new Cat ("Marek");





Ich möchte, dass seine Gäste die wachsende Flora mit angemessenem Respekt behandeln. Zum Beispiel so:





Sie sind jedoch ungefähr so ​​verwandt: 





Im Laufe des Jahres wurden viele Ansätze ausprobiert, wie zum Beispiel: Lehren, schimpfen, die Tür zum Raum schließen ... Nichts hilft. Das Ergebnis ist immer das gleiche - nur über die Zeit gestreckt.





. : . .





, , : , - : " () LOL! ""! - ...  , , . , ( ): 





  • ;





  • (, , - 100 , 2-3 );





  • .





, - . ... 





, - ... ...





( , , ) :





  • - ,





  • - ,





  • - , - .





, , "" . - .





, - . 3d :





: (, - ) ( , , - 30,5):





, : , ( ) - . " "...





. , - ^_^





, - ...





... "" - :





. - (LOL):





. ! ! 





: : . , :





" anti-access/area-denial A2/AD, , - , ".





, , , "-" - , . : :





, 0,3 - ! ( - (LOL, - )- .. , . - " " - ( , (500 ) - , , ""). , " - ": :





"" ( 2101).





P.S. - . - ? LOL.





, :





, " ". " ".





" ". , ...





- .. .





, "-".





:





  1. - " "- , 3-5 ;





  2. , ( "" ). - ABS - . :





, - , .





Arduino IDE:






int sensor1 = 2 ;//    1
int sensor2 = 3; //    2
int mosfet = 10; //   ,   

boolean isSensorStarted = false; //      
boolean isMotorStarted = false; //      
boolean catStatusMessage = false; //      
boolean isFirstMessage = true; //   

boolean firstStart = true; //      (  )

volatile uint32_t startTime = 0; //  ,   
volatile uint32_t workingTime = 3000; //  ,    

void setup ()
{
  Serial.begin(9600);
  pinMode (sensor1, INPUT) ; //     
  pinMode (sensor2, INPUT) ; //     
  pinMode (mosfet, OUTPUT) ;//     

  attachInterrupt(digitalPinToInterrupt (sensor1), sensor_impulse, HIGH);
  attachInterrupt(digitalPinToInterrupt (sensor2), sensor_impulse, HIGH);
}

void loop ()
{

  while (isSensorStarted)
  {
      if (firstStart) //    ,    -     -   LOW
        {
          detachInterrupt(sensor1);
          detachInterrupt(sensor2);
          while ( (digitalRead(sensor1)==HIGH) || (digitalRead(sensor2)==HIGH) )
          {
            //  -,     LOW
          }
          firstStart = false;
          isSensorStarted  = false;
          Serial.println ("");
          isFirstMessage = false;           
          attachInterrupt(digitalPinToInterrupt (sensor1), sensor_impulse, HIGH);
          attachInterrupt(digitalPinToInterrupt (sensor2), sensor_impulse, HIGH);
          break;                      
        }
    
     if (catStatusMessage)
     {
        Serial.println ("  !!! :-)"); 
        catStatusMessage = false;     
     }

     detachInterrupt(sensor1);
     detachInterrupt(sensor2);
   
     digitalWrite(mosfet, HIGH);
     startTime = millis(); //       
     isMotorStarted = true;
     Serial.println (" !");     
    
     while (isSensorStarted)
     {
        if (isMotorStarted)
        {
          if (millis()-startTime >= workingTime)
          { 
            isMotorStarted=false;
            digitalWrite(mosfet, LOW);
            Serial.println (" !");
          }          
        }

      
      if ( (digitalRead(sensor1)==LOW) && (digitalRead(sensor2)==LOW) )
         {
           attachInterrupt(digitalPinToInterrupt (sensor1), sensor_impulse, HIGH);
           attachInterrupt(digitalPinToInterrupt (sensor2), sensor_impulse, HIGH); 
           isSensorStarted = false;
         }
     }
  }

 if (!isFirstMessage)
 {
    if (!catStatusMessage)
       {
         Serial.println ("   ...:-(");
         catStatusMessage = true;      
       }  
 }
     

}

void sensor_impulse () 
{
  if (!isSensorStarted)
  {
     isSensorStarted = true;
  }
}
      
      



Unter diesem Link können Sie Dateien für den 3D-Druck herunterladen .





Das ist alles - der Bericht ist fertig.








All Articles