ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ². ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ: Arduino Nano. Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π·Π°Π΄Π°ΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π°: ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈ: ΠΠΎΠ½Π΅ΡΠ½ΠΎ! ΠΠΎΡ ΠΏΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΡ
Π΅ΠΌ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄Π»Ρ Arduino Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ±ΠΎΠ»ΠΎΠ²Π½ΡΡ
Π³Π°Π΄ΠΆΠ΅ΡΠΎΠ²: 1. ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΠΏΠ»Π°Π²ΠΎΡΠ½Π°Ρ ΠΌΠ°ΡΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°: Π‘Ρ
Π΅ΠΌΠ°: ΠΠ΄Π΅ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Arduino ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ: 1. ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Arduino (Π»ΡΠ±Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ) 2. RF-ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΊ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ
3. ΠΡΠ΅Π·ΠΎΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π²ΡΠΊΠΎΠ²ΡΡ
ΡΠΈΠ³Π½Π°Π»ΠΎΠ² 4. ΠΡΠΎΠ²ΠΎΠ΄Π° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°: cpp #include #include RH_ASK rfDriver; // ΠΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ RF-ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΊΠΎΠΌ int buzzerPin = 8; // ΠΠΈΠ½, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΏΡΠ΅Π·ΠΎΡΠ»Π΅ΠΌΠ΅Π½Ρ void setup() { rfDriver.init(); // ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ RF-ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΊΠ° pinMode(buzzerPin, OUTPUT); // ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠ΅Π·ΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° } void loop() { const char* message = “Fish on!“; // Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ rfDriver.send((uint8_t*)message, strlen(message)); // ΠΡΠΏΡΠ°Π²ΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ // ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° tone(buzzerPin, 1000, 1000); // ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Π·Π²ΡΠΊΠ° delay(5000); // ΠΠ°Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠ°ΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ } ΠΡΠΎΡ Π³Π°Π΄ΠΆΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΈΠ³Π½Π°Π» “Fish on!“ ΠΏΠΎ ΡΠ°Π΄ΠΈΠΎΠΊΠ°Π½Π°Π»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ RF-ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΊΠ° ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΈΠ³Π½Π°Π» Π½Π° ΠΏΡΠ΅Π·ΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅. 2. ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ Π΄Π°ΡΡΠΈΠΊ ΠΏΠΎΠΊΠ»Π΅Π²ΠΊΠΈ: Π‘Ρ
Π΅ΠΌΠ°: ΠΠ΄Π΅ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Arduino ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ: 1. ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Arduino (Π»ΡΠ±Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ) 2. ΠΠ°ΡΡΠΈΠΊ Π½Π°Π³ΡΡΠ·ΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, HX711) 3. ΠΡΠ΅Π·ΠΎΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π²ΡΠΊΠΎΠ²ΡΡ
ΡΠΈΠ³Π½Π°Π»ΠΎΠ² 4. ΠΡΠΎΠ²ΠΎΠ΄Π° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°: cpp #include HX711 scale; // ΠΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°ΡΡΠΈΠΊΠΎΠΌ Π½Π°Π³ΡΡΠ·ΠΊΠΈ int buzzerPin = 8; // ΠΠΈΠ½, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΏΡΠ΅Π·ΠΎΡΠ»Π΅ΠΌΠ΅Π½Ρ void setup() { scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); // ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π°ΡΡΠΈΠΊΠ° Π½Π°Π³ΡΡΠ·ΠΊΠΈ pinMode(buzzerPin, OUTPUT); // ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠ΅Π·ΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° } void loop() { float weight = scale.get_units(); // ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠ° Ρ Π΄Π°ΡΡΠΈΠΊΠ° Π½Π°Π³ΡΡΠ·ΠΊΠΈ if (weight > 0) { // ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° ΠΏΡΠΈ ΠΏΠΎΠΊΠ»Π΅Π²ΠΊΠ΅ tone(buzzerPin, 1000, 1000); // ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Π·Π²ΡΠΊΠ° delay(500); // ΠΠ°Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π·Π²ΡΠΊΠΎΠ²ΡΠΌΠΈ ΡΠΈΠ³Π½Π°Π»Π°ΠΌΠΈ } delay(100); // ΠΠ°Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ } ΠΡΠΎΡ Π³Π°Π΄ΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π°ΡΡΠΈΠΊ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠΊΠ»Π΅Π²ΠΊΠΈ ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΈΠ³Π½Π°Π» Π½Π° ΠΏΡΠ΅Π·ΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ ΠΏΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠΊΠ»Π΅Π²ΠΊΠΈ. 3. ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠ°ΡΡΡΠΊΠ°: Π‘Ρ
Π΅ΠΌΠ°: ΠΠ΄Π΅ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Arduino ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ: 1. ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Arduino (Π»ΡΠ±Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ) 2. Π‘Π΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄ (TowerPro SG90) Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΡΡΡΠΊΠΎΠΉ ΡΡΠ±ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ Π»Π΅ΡΠΊΠΈ 3. ΠΡΠΎΠ²ΠΎΠ΄Π° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°: cpp #include Servo servo; // ΠΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄ΠΎΠΌ void setup() { servo.attach(9); // ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄Π° ΠΊ ΠΏΠΈΠ½Ρ 9 } void loop() { // ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π½Π°ΠΌΠ°ΡΡΠ²Π°Π½ΠΈΠ΅ Π»Π΅ΡΠΊΠΈ servo.write(180); // ΠΠΎΠ²ΠΎΡΠΎΡ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄Π° Π½Π° 180 Π³ΡΠ°Π΄ΡΡΠΎΠ² delay(2000); // ΠΠ°Π΄Π΅ΡΠΆΠΊΠ° Π΄Π»Ρ Π½Π°ΠΌΠ°ΡΡΠ²Π°Π½ΠΈΡ Π»Π΅ΡΠΊΠΈ servo.write(0); // ΠΠΎΠ²ΠΎΡΠΎΡ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄Π° Π½Π° 0 Π³ΡΠ°Π΄ΡΡΠΎΠ² delay(2000); // ΠΠ°Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π½Π°ΠΌΠ°ΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ } ΠΡΠΎΡ Π³Π°Π΄ΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π½Π°ΠΌΠ°ΡΡΠ²Π°Π½ΠΈΡ ΡΡΠ±ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ Π»Π΅ΡΠΊΠΈ. ΠΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ, ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄ ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° 180 Π³ΡΠ°Π΄ΡΡΠΎΠ², Π½Π°ΠΌΠ°ΡΡΠ²Π°Ρ Π»Π΅ΡΠΊΡ, Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (0 Π³ΡΠ°Π΄ΡΡΠΎΠ²). 4. ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΠΊΠ»Π΅Π²ΠΊΠΈ: Π‘Ρ
Π΅ΠΌΠ°: ΠΠ΄Π΅ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Arduino ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ: 1. ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Arduino (Π»ΡΠ±Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ) 2. Π‘Π²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ (Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°) Π΄Π»Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠΊΠ»Π΅Π²ΠΊΠΈ 3. Π Π΅Π·ΠΈΡΡΠΎΡΡ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠΎΠΊΠ° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠ² 4. ΠΡΠΎΠ²ΠΎΠ΄Π° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°: cpp const int ledPin = 9; // ΠΠΈΠ½, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ void setup() { pinMode(ledPin, OUTPUT); // ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΈΠ½Π° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠ² } void loop() { // ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎΠΊΠ»Π΅Π²ΠΊΠΈ digitalWrite(ledPin, HIGH); // ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠ² delay(1000); // ΠΠ°Π΄Π΅ΡΠΆΠΊΠ° Π΄Π»Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ digitalWrite(ledPin, LOW); // ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠ² delay(1000); // ΠΠ°Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ } ΠΡΠΎΡ Π³Π°Π΄ΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ Π΄Π»Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠΊΠ»Π΅Π²ΠΊΠΈ. ΠΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠΊΠ»Π΅Π²ΠΊΠΈ, ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π·Π°ΡΠ΅ΠΌ Π²ΡΠΊΠ»ΡΡΠ°ΡΡΡΡ Π½Π° ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ.