#1 Re: Проекти » Arduino nano - проблема з сервоприводом » 2025-07-18 09:53:54

Васятко пише:
mohax1685 пише:

Так при першому освітленні він в один бік повертається і назад, а потім при другому освітленні він повертаєтся в інший бік і теж назад

Ну то воно приблизно так і працює https://wokwi.com/projects/436748234276620289
ніякого

малслає в одну сторону

немає

Підкажіть а піни сервоприводу я правильно розташував?
Сервопривод Micro Servo 9G
-красний - VIN
-коричневий - GMD
-жовтий - D4

#2 Re: Проекти » Arduino nano - проблема з сервоприводом » 2025-07-18 08:32:40

jokeer пише:

Ага, я здається здогадався. Напишіть в discord, man0vvar

Отправил запрос в друзья roman_80791

#3 Re: Проекти » Arduino nano - проблема з сервоприводом » 2025-07-17 20:51:47

По кінцевому результаті воно повинно працювати так: к ардуіно підключенний сервопривід і фоторезистор, при подачі живлення нічого не повинно обертатись, тілько після ліхтарика наведеного на фоторезистр, він обертаеється в одну сторону і повертається назад, та при наведенні  світла в другий раз, він повинен обертатись в іншу сторону і ставати назад, я вже голову ломаю цілий день, я придбав цей скетч і схему по збиранню, і нічого не працює

#4 Re: Проекти » Arduino nano - проблема з сервоприводом » 2025-07-17 20:36:58

Все так зробив але сервопривід просто знову малслає в одну сторону, мож я не так розьми підключаю або інструкція не правильна?

#5 Re: Проекти » Arduino nano - проблема з сервоприводом » 2025-07-17 19:56:05

Так при першому освітленні він в один бік повертається і назад, а потім при другому освітленні він повертаєтся в інший бік і теж назад

#6 Re: Проекти » Arduino nano - проблема з сервоприводом » 2025-07-17 19:54:01

dimich пише:
mohax1685 пише:

Я прикрипив файл, там є внутрі все щоб розібратись

Із тих картинок в архіві зовсім не зрозуміло, що це за пристрій, і як він має працювати.

mohax1685 пише:

підкажіть будь ласка що можно спробувать?

Якщо вгадав, що при появі освітлення має повернутись в один бік і назад, а при зникненні освітлення має повернутись в інший бік і назад, то має працювати щось типу такого:

#include <Servo.h>
Servo myservo;

void setup()
{
  myservo.attach(4);
  pinMode(A3, INPUT);
  myservo.write(60);
  Serial.begin(9600);
}

bool prestate;
bool dir;

void loop()
{
  int val = analogRead(A3);
  Serial.println(val));
  bool state = val > 700;

  if (state != prestate) {
    if (state && !dir) {
      myservo.write(120);
      delay(1000);
      myservo.write(60);
      dir = true;
    } else if (!state && dir) {
      myservo.write(0);
      delay(1000);
      myservo.write(60);
      dir = false;
    }
    prestate = state;
  }

  delay(100);
}

(Не компілював, не перевіряв).

Але ж тут нема ніякого гістерезису. На граничних значеннях освітлення буде тіліпатись туди-сюди.

я спробував цей код що Ви дали, видало во це:
C:UsersРоманAppDataLocalTemp.arduinoIDE-unsaved2025617-11184-18ogwsr.rp5isketch_jul17asketch_jul17a.ino: In function 'void loop()':
C:UsersРоманAppDataLocalTemp.arduinoIDE-unsaved2025617-11184-18ogwsr.rp5isketch_jul17asketch_jul17a.ino:18:22: error: expected ';' before ')' token
exit status 1

Compilation error: expected ';' before ')' token

#7 Re: Проекти » Arduino nano - проблема з сервоприводом » 2025-07-17 19:18:04

jokeer пише:

А до чого тут ардуїно? Програма на С. Як саме вона повинна працювати - знаєте тільки ви. Звідси видно що ті 2 змінні обробляються якось дивно.

підкажіть будь ласка що можно спробувать?

#8 Re: Проекти » Arduino nano - проблема з сервоприводом » 2025-07-17 18:56:35

jokeer пише:

А що там розбиратись? розберіться, що у вас символізує state і що dir і як вони повинні бути пов'язані.

я Ардуино тримаю сьогодні перший раз, я зібрав по схемі і закинув готовий скетч, як би я розумів в чому помилки, я б сюди не звертався би

#9 Re: Проекти » Arduino nano - проблема з сервоприводом » 2025-07-17 17:25:25

dimich пише:

У вас весь цей код:

mohax1685 пише:

      if (dir == 0) {
        myservo.write(120);
        delay(1000);
        myservo.write(60);
        dir = 1;
      } else {
        myservo.write(0);
        delay(1000);
        myservo.write(60);
        prestate = state;
        dir = 0;
      }

виконується тільки коли state == 1. Коли state == 0, нічого взагалі не виконується.

Я прикрипив файл, там є внутрі все щоб розібратись
https://forum.arduino.ua/img/members/4105/M3.7z

#11 Проекти » Arduino nano - проблема з сервоприводом » 2025-07-17 16:14:25

mohax1685
відповідей: 25

Добрий день всім, я так новочок в цій сфері, але руки з потрібного місця ростут, в мене є:
1. Arduino Nano
2. Фоторезистор
3. Резистор 10 кОм
4. Сервопривод Micro Servo 9G

Я придбав креслення по збірці, суть при підсвітці фонарем серво привод повинен рухатись раз в одну сторону, при другому освітленні в іншу сторону.
Я зібрав все по схеме
Фоторезистор А3-5V
Резистор 10 кОм A3-GMD
Сервопривод Micro Servo 9G
-красний - VIN
-коричневий - GMD
-жовтий - D4

Підключив, в моніторінге фоторезистор показує значення різні, але сервопривод просто крутиться і все, що в мене не так? вот скетч котрий шов в комлекті:

#include <Servo.h>
Servo myservo;

int val;
byte state = 0;
byte prestate = 0;
byte dir = 0;

void setup() {
  myservo.attach(4);
  pinMode(A3, INPUT);
  myservo.write(60);
  Serial.begin(9600);
}

void loop() {
  Serial.println(analogRead(A3));
  val = analogRead(A3);
  if (val > 700) {
    state = 1;
  } else state = 0;

  if (state != prestate) {
    if (state == 1)
      if (dir == 0) {
        myservo.write(120);
        delay(1000);
        myservo.write(60);
        dir = 1;
      } else {
        myservo.write(0);
        delay(1000);
        myservo.write(60);
        prestate = state;
        dir = 0;
      }
  }
  prestate = state;
  delay(100);
}

Підвал форуму