Ви не увійшли.
Я замовив два оптодатчики. Як прийдуть, пробуватиму. Дякую за обговорення. Сподіваюся допоможете мені з налаштуванням датчиків.
Прописав, горять " 0000 " Поки що те, що треба
#include "TM1637.h"
int8_t DispMSG[] = {1, 2, 3, 4};
#define CLK 3
#define DIO 2
TM1637 tm1637(CLK, DIO);
int i=0;
int t[4]={0,0,0,0};
void num(unsigned int value)
{
for (int8_t i = 3; i>=0; i--) {
DispMSG[i] = value % 10;
value /= 10;
}
}
void setup()
{
tm1637.init();
tm1637.set(2);
tm1637.point(false);
tm1637.display(DispMSG);
delay(1000);
}
void loop()
{
num (i);
tm1637.display(DispMSG);
i++;
if(i>=9999);{
i=0;
}
delay(1000);
}
Ок. Це демка до індикатора. Тепер зробіть щоб функції delay () там не було
А також змінну з лічильником назвіть якось осмислено. Глобальна змінна І це лютий крінж.
Ніт.
Ваш контроллер нічого крім delay() не виконує. В цей код обробку датчиків і кнопок в крутити можна, але не треба так.
Що за датчики у вас плануються?
Ніт.
Ваш контроллер нічого крім delay() не виконує. В цей код обробку датчиків і кнопок в крутити можна, але не треба так.
Що за датчики у вас плануються?
Живлення: 3,3~5В
Вихідний сигнал: цифровий (ВИСОКИЙ і НИЗЬКИЙ)
Діаметр виїмки (U-подібна): ~10 мм
Розміри: 23*20*18 мм
Корисні посилання:
Інструкції Funduino
Обсяг поставки:
1x світловий бар'єр, фотоелектричний вимикач - U-подібний
Ну тепер на вал треба заколхозити 2 диска з хитрими прорізами, щоб вийшов квадратурний енкодер. Гуглиться. Знайти ардуїнівську лібу для енкодера. Від alexgyver нормально працює.І буде вам щастьє.
А можна готовий енкодер взяти, іх як грязі. і оптичні, і магнітні
Такий енкодер б'є по кишені. Більше 10$ не хочу віддавати. Зроблю сам.І буде щастьє
А кінцева мета експерименту? Може вам і не потрібна така точність?
А кінцева мета експерименту? Може вам і не потрібна така точність?
Невелика похибка допустима
Енкодер - річ точна. Двигун в ролі датчика - на малих обертах може не реагувати. Поки не зробите макет і не випробуєте - ніхто не скаже, що там з похибками.
>> Більше 10$ не хочу віддавати
Хтось збирався гроші на код міняти Хоббійні іграшки це не про економію
ЗІ зібрався запиляти лінійний привід. 2кгрн+ жаба давить Десь на 700 грн вже скупився. бо 50 см труби не продають, гайки поштучно теж, і купа неочевидних дрібниць типу розчинника для фарби теж потрібно. І це ще не фінал.
Енкодер - річ точна. Двигун в ролі датчика - на малих обертах може не реагувати. Поки не зробите макет і не випробуєте - ніхто не скаже, що там з похибками.
>> Більше 10$ не хочу віддавати
Хтось збирався гроші на код міняти
Хоббійні іграшки це не про економію
ЗІ зібрався запиляти лінійний привід. 2кгрн+ жаба давитьДесь на 700 грн вже скупився. бо 50 см труби не продають, гайки поштучно теж, і купа неочевидних дрібниць типу розчинника для фарби теж потрібно. І це ще не фінал.
Це запорізькі предки. А я борюся з цим
Енкодер - річ точна. Двигун в ролі датчика - на малих обертах може не реагувати. Поки не зробите макет і не випробуєте - ніхто не скаже, що там з похибками.
>> Більше 10$ не хочу віддавати
Хтось збирався гроші на код міняти
Хоббійні іграшки це не про економію
ЗІ зібрався запиляти лінійний привід. 2кгрн+ жаба давитьДесь на 700 грн вже скупився. бо 50 см труби не продають, гайки поштучно теж, і купа неочевидних дрібниць типу розчинника для фарби теж потрібно. І це ще не фінал.
Як Штепсель та Торопунька.
Вдень працюю, тільки ввечері є небагато часу
Добрий день. Сьогодні отримав оптичні датчики. Сигнал для рахунку + хочу підключити на Pin 6 Arduino, а для - на Pin 7. Але як все прив'язати до дисплею не знаю.
Прописав, горять " 0000 " Поки що те, що треба
#include "TM1637.h" int8_t DispMSG[] = {1, 2, 3, 4}; #define CLK 3 #define DIO 2 TM1637 tm1637(CLK, DIO); int i=0; int t[4]={0,0,0,0}; void num(unsigned int value) { for (int8_t i = 3; i>=0; i--) { DispMSG[i] = value % 10; value /= 10; } } void setup() { tm1637.init(); tm1637.set(2); tm1637.point(false); tm1637.display(DispMSG); } void loop() { num (i); tm1637.display(DispMSG); i++; if(i>=9999);{ i=0; } }
jokeer пише:Ок. Це демка до індикатора. Тепер зробіть щоб функції delay () там не було
А також змінну з лічильником назвіть якось осмислено. Глобальна змінна І це лютий крінж.
#define CLK 3
Це не підійде як змінна зі лічильником
Почніть із схеми. Що за +-? Ви зробили енкодер, ци що там за сигнали будуть?
Почніть із схеми. Що за +-? Ви зробили енкодер, ци що там за сигнали будуть?
Я поставив 2 енкодери. Кожен енкодер дає сигнал High (+ 5V) або Low (0V). Вони включаються в залежності від обертання за годинниковою або проти. Тому один вхід сигналу Pin 6, а інший Pin 7. Чи потрібно інакше робити?
Яка модель датчиків?
Яка модель датчиків?
Не вказано. Купував для фундуїно. Датчик на мікросхемі LM393.
jokeer пише:Яка модель датчиків?
Не вказано. Купував для фундуїно. Датчик на мікросхемі LM393.
Живлення: 3,3~5В
Вихідний сигнал: цифровий (ВИСОКИЙ і НИЗЬКИЙ)
Діаметр виїмки (U-подібна): ~10 мм
Розміри: 23*20*18 мм
Корисні посилання:
Інструкції Funduino
Обсяг поставки:
1x світловий бар'єр, фотоелектричний вимикач - U-подібний
Ок.
і що за бар'єр ви зро6или?
Ок.
і що за бар'єр ви зро6или?
Він розповідає, як працює енкодер, це я знаю вже давно, а де прив'язка до ардуїно, не можу знайти. І тут підключення аналог, як кнопки. Будуть проблеми при швидкому обертанні.
Знайшов такий варіант, але це зі світлодіодом, який спалахує і гасне.
void setup()
{
PinMode(6,INPUT);
PinMode(7,INPUT);
PinMode(2,OUTPUT);
}
void loop()
{ if (digitalread(6)) digitalWrite(2,HIGH);
else digitalWrite(2,LOW);
if (digitalread(7)) digitalWrite(2,LOW);
else digitalWrite(2,HIGH);
Будуть проблеми при швидкому обертанні.
Який у вас діапазон обертів, мінімум і максимум? Atmega328P може рахувати зовнішні імпульси з частотою ледь не до тактової частоти. Звісно, не з ардуіно фреймворком.
Неактивний
Ще б зрозуміти що там за датчик.. або хтось взяв і намалював графік сигналів що приходять..
Максимальна частота обертання 1000 оборотів за хвилину
Ще б зрозуміти що там за датчик.. або хтось взяв і намалював графік сигналів що приходять..
Пробував надіслати фото, не минає