Cette histoire sera pleine d'intrigues, de complots, de déceptions, de larmes et de joie sincère ... Mais au fait, je me suis un peu emporté - il n'y aura rien de tel.
Contexte: J'ai une mère âgée qui vit dans une autre ville. Et il guérit ses maux avec de l'aloès. La méthode aide beaucoup - et elle plante constamment de nouvelles pousses pour remplacer celles qui sont épuisées. Elle abrite 2 représentants de la faune à queue: Kuzya et Marek (chat et minou). Pourquoi le chat est devenu soudainement "Marek" est une longue histoire. Désignons brièvement la raison comme «parce que les étoiles se sont formées de cette façon». Autrement dit, supposons que Cat cat = new Cat ("Marek");
J'aimerais que ses invités traitent la flore croissante avec le respect approprié. Par exemple, comme ceci:

Cependant, ils sont liés quelque chose comme ceci:

Au cours de l'année, de nombreuses approches ont été essayées, comme: enseigner, gronder, fermer la porte de la salle ... Rien n'y fait. Le résultat est toujours le même - seulement étiré au fil du temps.
. : . .

, , : , - : " () LOL! ""! - ... , , . , ( ):
;
(, , - 100 , 2-3 );
.

, - . ...
, - ... ...
( , , ) :
- ,
- ,
- , - .
, , "" . - .
, - . 3d :

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

, : , ( ) - . " "...
. , - ^_^
, - ...

... "" - :

. - (LOL):

. ! !

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

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

"" ( 2101).
P.S. - . - ? LOL.
, :

, " ". " ".
" ". , ...

- .. .

, "-".
:
- " "- , 3-5 ;
, ( "" ). - 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;
}
}
Vous pouvez télécharger des fichiers pour l'impression 3D à ce lien .
C'est tout - le rapport est terminé.