Arduino: рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реАрдврд╝реА рдкреНрд░рдХрд╛рд╢

Arduino рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рджреЗрд╢ рдХреЗ рдШрд░ рдХреА рд╕реАрдврд╝реА рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛, рдФрд░ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЬреЙрдм рд░рд┐рдореАрдбрд┐рд▓реНрд╡ рдкрд╛рдпрд╛ред рджреВрд╕рд░реЛрдВ рдХреЗ рдЕрдиреБрднрд╡ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдФрд░ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рд╛ред

рдЙрджреНрджреЗрд╢реНрдп:


"рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реАрдврд╝реА рдкреНрд░рдХрд╛рд╢ рдЕрдВрдзреЗрд░реЗ рдореЗрдВ"


рдЙрджреНрджреЗрд╢реНрдпреЛрдВ:



1) рдирд┐рдпрдВрддреНрд░рдг рд╕рд░реНрдХрд┐рдЯ рдЗрдХрдЯреНрдард╛




2) рдПрдХ рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рд╕рд░реНрдХрд┐рдЯ рдФрд░ рдЖрд╡рд╛рд╕ рдмрдирд╛рдирд╛

рдЙрдиреНрд╣реЛрдВрдиреЗ рдЬрд▓реНрджреА рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛ рд╕реАрдЦрд╛, рдХрдИ рд╕реАрдПрдбреА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдИрдПрдЬреАрдПрд▓рдИ рдерд╛ред рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рд╢реМрдХреАрди рдПрдХ рджреЛрд╕реНрдд рджреНрд╡рд╛рд░рд╛ рд╕рдордЭрд╛рдпрд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред FILES (brd, sch)




рдкреВрд░реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдХрдиреЗрдХреНрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдЗрдХрд╛рдИ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЯреВрдЯрдиреЗ рдпрд╛ рдЖрдзреБрдирд┐рдХреАрдХрд░рдг рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирд┐рдпрдВрддреНрд░рдг рдореЙрдбреНрдпреВрд▓ рдпрд╛ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╢рд░реАрд░ рдХреЛ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реЛред


рдЙрд╕рдиреЗ рдЧреЗрдЯрд┐рдирд╛рдХреНрд╕ рдХрд╛ рдПрдХ рдмреЙрдХреНрд╕ рдмрдирд╛рдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рдХрдиреЗрдХреНрдЯрд░реНрд╕ рдХреЛ рдлрд╛рдбрд╝ рджрд┐рдпрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдардВрдбреЗ рд╡реЗрд▓реНрдбрд┐рдВрдЧ рд╕реЗ рдЪрд┐рдкрдХрд╛ рджрд┐рдпрд╛ред



3) рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦреЗрдВ

рдХреЛрдб рдпрд╣рд╛рдБ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ >>
int DS_Pin = 11; //pin 14 DS/SDI on the 75HC595   int ST_Pin = 8; //pin 12 ST_CP/RCLK on the 75HC595   int SH_Pin = 12; //pin 11 SH_CP/SRCLK on the 75HC595   const int PIR1 = 5;//  - const int PIR2 = 6;//  - int sensorPin = A0;//  // ****** int OverTime =15000; //      () const int N=14; //-  int Qck_tm = 300; //     int Wt_tm = 2000; //      int L=30; //    // ****** int a1,a2; //     long pM=0; //  millis() long pM1=0; //  millis() long pM10=0; //  millis() unsigned int sensorValue = 0; //    int registers[N+1]; //   boolean b2=false; //     boolean b3=false; //       void setup(){ pinMode(PIR1, INPUT); pinMode(PIR2, INPUT); pinMode(DS_Pin, OUTPUT); pinMode(ST_Pin, OUTPUT); pinMode(SH_Pin, OUTPUT); Serial.begin(9600); clearRegisters(); writeRegisters(); } //    void clearRegisters(){ for(int i = N; i >= 0; i--){ registers[i] = LOW; } } //  void writeRegisters(){ digitalWrite(ST_Pin, LOW); for(int i = N; i >= 0; i--){ digitalWrite(SH_Pin, LOW); int val = registers[i]; digitalWrite(DS_Pin, val); digitalWrite(SH_Pin, HIGH); } digitalWrite(ST_Pin, HIGH); } //     void setRegister(int index, int value){ registers[index] = value; } //   void LightON(boolean a){ b2=true; if(a) for (int k=0;k<=N;) { a1=digitalRead(PIR1); if ( a1==HIGH && millis() - pM1 > 1000) { pM1 = millis(); } if (millis() - pM > Qck_tm) { pM = millis(); setRegister(k, HIGH); writeRegisters(); k++; } } else for (int k=N;k>=0;) { a2=digitalRead(PIR2); if ( a2 == HIGH && millis() - pM1 > 1000) { pM1 = millis(); } if (millis() - pM > Qck_tm) { pM = millis(); setRegister(k, HIGH); writeRegisters(); k--; } } } //   void LightOFF(boolean a){ b2=false; if(a){ int k=0; while(k<=N) { a1=digitalRead(PIR1); if (a1== HIGH){ LightON(true); break; } if (millis() - pM > Qck_tm){ pM = millis(); setRegister(k, LOW); writeRegisters(); k++; }}} else { int k=N; while(k>=0) { a2=digitalRead(PIR2); if (a2 == HIGH){ LightON(false); break; } if (millis() - pM > Qck_tm){ pM = millis(); setRegister(k, LOW); writeRegisters(); k--; }}} } void loop(){ sensorValue = analogRead(sensorPin); //     Serial.println(sensorValue, DEC); if (sensorValue < L){ a1=digitalRead(PIR1); if ( a1 == HIGH && a2== LOW)//     { pM=millis(); LightON(true); while (b2) { a2=digitalRead(PIR2); if (a2 == HIGH && millis() - pM10 > 1000 || (millis() - pM > OverTime)) { pM10 = millis(); LightOFF(true); }}} a2=digitalRead(PIR2); if (a2 == HIGH && a1 == LOW) { pM=millis(); LightON(false); while (b2) { a1=digitalRead(PIR1); if (a1== HIGH && millis() - pM10 > 1000 || (millis() - pM > OverTime)) { pM10 = millis(); LightOFF(false); }}}}} 

рдЪреВрдВрдХрд┐ рдХреЛрдИ рдПрдХреНрд╕реЗрд╕ рд╕реАрдврд╝реА рдирд╣реАрдВ рдереА, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдорд╛рдЗрдХреНрд░реЛ-рдмрд▓реНрдм рдХреЗ рдореЙрдбрд▓ рдкрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд╡рд╣ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреЗ рдЪрд░рдг рддрдХ рдирд╣реАрдВ рд░рд╣ рдкрд╛рдИред


4) рд╕реАрдврд╝рд┐рдпреЛрдВ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рдФрд░ рдердХрд╛рдК рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП , 80 рдХрдВрдбрдХреНрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ 40 рдореАрдЯрд░ рдХреЗрдмрд▓ рдФрд░ рдорд┐рд▓рд╛рдк рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред
рдирд┐рдпрдВрддреНрд░рдг рдЙрдкрдХрд░рдг рд╕реАрдврд╝рд┐рдпреЛрдВ рдХреЗ рдиреАрдЪреЗ рд░рдЦрд╛ред


рдХреЗрдмрд▓ рдЪреИрдирд▓реЛрдВ рдореЗрдВ рддрд╛рд░реЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реЗрдВрд╕рд░ рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рдгреЛрдВ рдХреЗ рдиреАрдЪреЗ рдЫрд┐рдкреЗ рд╣реБрдП рд╣реИрдВ, рдЙрдирдХрд╛ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдерд╛, рдореБрдЦреНрдп рдХрд╛рд░реНрдп рджреЗрдЦрдиреЗ рдХреЗ рдХреЛрдг рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рд╣реИ рддрд╛рдХрд┐ рд╕реАрдврд╝рд┐рдпреЛрдВ рдХреЛ рд╡реНрдпрд░реНрде рдореЗрдВ рдЪрд╛рд▓реВ рди рдХрд░реЗрдВред
рд╕реАрдврд╝рд┐рдпреЛрдВ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рдПрдХ рдлреЛрдЯреЛрдЯреНрд░рд╛рдВрд╕рд┐рд╕реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдкреНрд░рдХрд╛рд╢ рдХреЗ рд╕рд╛рде рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдмрд╛рджрд▓ рдореМрд╕рдо рдореЗрдВ рд╕реАрдврд╝рд┐рдпрд╛рдВ рдареАрдХ рд░рд╣рддреА рд╣реИрдВред
рдПрд▓рдИрдбреА рд╕реНрдЯреНрд░рд┐рдкреНрд╕ рдХреЛ рд╕реАрдврд╝рд┐рдпреЛрдВ рдХреЗ рдкреАрдЫреЗ рд╕реЗ рдЪрд┐рдкрдХрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдКрдкрд░ рдЪрдврд╝рддреЗ рд╕рдордп рд╡реЗ рдЖрдВрдЦреЛрдВ рдкрд░ рди рдорд╛рд░реЗрдВред рдЪреВрдВрдХрд┐ рдЯреЗрдк рд╡рд┐рднрд┐рдиреНрди рдХрдВрдкрдирд┐рдпреЛрдВ рдФрд░ рдЖрдИрдкреА рдХреЗ рдереЗ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдХрджрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬреЛ рдореВрд▓ рднреА рдирд┐рдХрд▓рд╛ред


рд╕рднреА рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ 3 рджрд┐рди рд▓рдЧ рдЧрдП, рдЕрднреА рднреА рдбрд┐рдЬрд╛рдЗрди рджреЛрд╖ рд╣реИрдВ :


5) рд▓рд╛рдЧрдд рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ



*** рд╡реАрдбрд┐рдпреЛ ***








6) рдирд┐рд╖реНрдХрд░реНрд╖:

рдпрд╣ рдореЗрд░реА рдХрд▓реНрдкрдирд╛ рд╕реЗ рднреА рдмреЗрд╣рддрд░ рдирд┐рдХрд▓рд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рд░реВрдк рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЪрд░рдг рдореЗрдВ рдпрд╣ рд╕реНрдерд┐рд░ рдФрд░ рдордЬрд╝рдмреВрддреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдЕрдореЗрд░рд┐рдХрд╛ рдирд╣реАрдВ рдЦреЛрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╢рд╛рдВрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╕рд┐рд░ рд╕реЗ рдПрдХ рд╡рд┐рдЪрд╛рд░ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ рдкреИрджрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рд╕рднреА рдХреЛ рд╢реБрднрдХрд╛рдордирд╛рдПрдВ рдФрд░ рдЕрдЯреВрдЯ рд░рдЪрдирд╛рддреНрдордХ рдкреНрд░реЗрд░рдгрд╛!

7) рдпрджрд┐ рдЖрдкрдиреЗ рдЕрднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП?

Source: https://habr.com/ru/post/In181336/


All Articles