Ви не увійшли.
Хто може здопомогти вирішити наступну задачу:
Задача: сворення автономного пристроя що забазпечує оберання вала серводвигуна SG90 на 45 град. від світлового сигнала та повертання на місце після зникнення сигнала.
Варіант комплета:
- Серводвигун SG90
- Акумулятор GEB502040 3.7V 380mAh
- PCM Модуль Заряда TP4056 5V
- LM393 Датчик інтенсивності світла фотодіод (3 pin)
- Включатель
- Arduino Pro Mini 5V
Неактивний
цікавить чим програмувати
Arduino IDE.
який може бути код?
Приблизно такий
if(рівень освітлення >=xxx) servo.write(ugol);
else servo.write(ugol);
Неактивний
Если я правильно понял за датчик,то достаточно просто проверять наличие 1 на входе и поворачивать серву.
подходит, но нужно уметь готовить тиньку с сервой
Хто може здопомогти вирішити наступну задачу:
Задача: сворення автономного пристроя що забазпечує оберання вала серводвигуна SG90 на 45 град. від світлового сигнала та повертання на місце після зникнення сигнала.
Варіант комплета:
- Серводвигун SG90
- Акумулятор GEB502040 3.7V 380mAh
- PCM Модуль Заряда TP4056 5V
- LM393 Датчик інтенсивності світла фотодіод (3 pin)
- Включатель
- Arduino Pro Mini 5V
Для скидання краще таки робити нормальний скетч, ісе ж безпека
Для скидання краще таки робити нормальний скетч, ісе ж безпека
Ну да, SG90 страшная мясорубка
В отличие от обычной ардуины для тиньки с библиотеками под серву полная неразбериха. Нужно будет или писать самому или разбираться с существующим зоопарком.
В отличие от обычной ардуины для тиньки с библиотеками под серву полная неразбериха. Нужно будет или писать самому или разбираться с существующим зоопарком.
А який порадите контролер, аби уникнути можливих затиків?
Неактивний
Чем указанный в #1 про мини не подходит?
В интернете закончились?
А тинька есть в наличии? Тогда пробуйте эту библиотеку https://github.com/digistump/DigisparkArduinoIntegration/tree/master/libraries/DigisparkSimpleServo
Потрібно внести зміни в код, замість спрацювання 2-х серводвигунів від 2-х різних фотоелементів, потрібно спрацювання першого серводвигуна від першого блимання фотоелемента та спрацювання 2-го серводвигуна від другого блимання тогож фотоелемента.
#include "Servo.h"
#define servo 9
#define servo2 10
#define photo A0
#define photoGnd A1
#define photo2 A2
#define photoGnd2 A3
#define led 13
uint32_t timer;
Servo myservo;
Servo myservo2;
void setup() {
pinMode(photo, INPUT_PULLUP);
pinMode(photoGnd, OUTPUT);
pinMode(photo2, INPUT_PULLUP);
pinMode(photoGnd2, OUTPUT);
pinMode(led, OUTPUT);
digitalWrite(led, LOW);
digitalWrite(photoGnd, LOW);
digitalWrite(photoGnd2, LOW);
myservo.attach(servo);
myservo2.attach(servo2);
myservo.write(10);myservo2.write(10);
Serial.begin(9600);
delay(500);
timer = millis() + 2000;
}
void loop() {
//Serial.println(analogRead(photo2));
//delay(300);
if (millis() >= timer) {
timer += 2000;
digitalWrite(led, HIGH);
delay(10);
digitalWrite(led, LOW);
}
if (analogRead(photo) <= 25) {
myservo.write(100);
delay(100);
} else {
if (analogRead(photo) >= 32) {
myservo.write(10); delay(300);
}
}
if (analogRead(photo2) <= 25) {
myservo2.write(100);
delay(100);
} else {
if (analogRead(photo2) >= 32) {
myservo2.write(10); delay(300);
}
}
}
Неактивний
Так что нужно то? Подсказка или готовый код? Если подсказывать то, например, можно так, заводишь переменную-счетчик и при каждом срабатывании датчика увеличиваешь на 1 ее значение. При нечетном значении включаешь первую серву, при четном - вторую. Или заводишь переменную-флаг, сработал датчик, флаг поднял, включил первую серву. Сработал опять датчик и флаг поднят - включаешь вторую серву, флаг сбрасываешь и так далее. Если нужен готовый код - что взамен?
Скільки?