ARDUINO Одно-кнопочное меню для штангенциркуля

kalobyte

★★★✩✩✩✩
1 Янв 2020
726
146
Или я что-то упускаю...?
долго объяснять
есть такая штука как область видимости переменных и даже если создано 2 переменных с одинаковым именем, то они доступны только из определенных мест
поэтому делаются функции, которые возвращают результат своей работы в переменную
хотя конечно можно ее сделать глобальной, но это плохая практика

работать будет, но...

вобщем я тут закончил приделывать к своему штангенциркулю разъем
пришлось ему там корпус малость попортить и кое как вкрячить
скоро спать пойду

я еще тут даже вспомнил, что у меня есть плата с контроллером тини85 и там можно сделать виртуальный усб и клавиатуру и подцепить это все
но памяти мало

сегодня днем попробую подключить конверторы уровней и контроллер

потом еще перепишу прогу, чтобы клок дергал прерывания и в прерывании буду считывать состояние линии данных
тогда прога не будет зависать, если штангенциркуль не подключен
и так даже будет правильно и быстрее
 

xenon-alien

✩✩✩✩✩✩✩
29 Мар 2020
38
0
долго объяснять
есть такая штука как область видимости переменных и даже если создано 2 переменных с одинаковым именем, то они доступны только из определенных мест
Про это знаю

поэтому делаются функции, которые возвращают результат своей работы в переменную
хотя конечно можно ее сделать глобальной, но это плохая практика
А вот так мне проще понять сам код.
потом еще перепишу прогу, чтобы клок дергал прерывания и в прерывании буду считывать состояние линии данных
тогда прога не будет зависать, если штангенциркуль не подключен
и так даже будет правильно и быстрее
А вот это мне уже мало понятно. (слышал про такое)
Если что, сам штангель и тогда шлет данные, когда выключен. А подключать к ПК можно и после подключения к штангелю.
сегодня днем попробую подключить конверторы уровней и контроллер
Круто!
А у меня мозги кипят от попыток разобраться в коде и найти ошибку, что почему отрицательный знак неучитывается...
вобщем я тут закончил приделывать к своему штангенциркулю разъем
пришлось ему там корпус малость попортить и кое как вкрячить
Значит порты активны, раз взялся с ним повозиться...?
 
Изменено:

kalobyte

★★★✩✩✩✩
1 Янв 2020
726
146
Значит порты активны, раз взялся с ним повозиться...?
как-то забыл проверить, но думаю активны

А у меня мозги кипят от попыток разобраться в коде и найти ошибку, что почему отрицательный знак неучитывается...
это и есть самая сложная часть в разработке - отловить глюк

А вот это мне уже мало понятно. (слышал про такое)
да это не обязательно, это просто моя заморочка для практики и повышения чсв

Если что, сам штангель и тогда шлет данные, когда выключен.
вот это поворот :eek:
а я все думаю, что это у него батарейка так быстро садится и как это он сам включается при движении
а он и не выключался оказывается
 

xenon-alien

✩✩✩✩✩✩✩
29 Мар 2020
38
0
как-то забыл проверить, но думаю активны
Ну ты даешь.... Слов нет...
Проверь.
Хотя теперь это уже ни на что не повлияет.
это и есть самая сложная часть в разработке - отловить глюк
До появления одно-кнопочного меню такого не было. Код работает корректно с одним нажатием - без меню.
а он и не выключался оказывается
Всё верно, только дисплей гаснет.
 
Изменено:

kalobyte

★★★✩✩✩✩
1 Янв 2020
726
146
@xenon-alien,
я только поднялся
ночью хотел каши сварить и стал воду набирать и в осмос фильтре сгорел блок питания насасоса
пришлось ремонтировать и я плохо спал
 

xenon-alien

✩✩✩✩✩✩✩
29 Мар 2020
38
0
Ошибка найдена, всё теперь работает, как было задумано и первый пост дополнен архивом проекта.
 

kalobyte

★★★✩✩✩✩
1 Янв 2020
726
146
решил подключить свой штангенциркуль к анализатору и очень удивлен результатом

1586149449419.png

зачем второй раз клок идет и что там передается? данные меняются постоянно в выключенном в обоих "пакетах"
такое ощущение, что мой штангенциркуль какой-то не такой
или может быть анализатор наводки какие ловит и надо измерять уровне после конвертера...

сейчас конвертер припаяю
 

xenon-alien

✩✩✩✩✩✩✩
29 Мар 2020
38
0
решил подключить свой штангенциркуль к анализатору и очень удивлен результатом

Посмотреть вложение 11815

зачем второй раз клок идет и что там передается? данные меняются постоянно в выключенном в обоих "пакетах"
такое ощущение, что мой штангенциркуль какой-то не такой
или может быть анализатор наводки какие ловит и надо измерять уровне после конвертера...

сейчас конвертер припаяю
Тут я не аодскажу...
Я и с комбинацией кода еле справился.
 

kalobyte

★★★✩✩✩✩
1 Янв 2020
726
146
@xenon-alien,
а ты какой конвертер уровней сделал?
я взял вот такую платку
1586177986361.png

сверху подал 5в
снизу 1.5 от блока питания
общий соединил вместе и какая-то херня стала твориться - цифры перестали меняться и все по нулям

придется делать на оу что ли?

кстати протокол я нашел, вторая часть это относительные показания от виртуального нуля при нажатии на кнопку сброса
а первые 21 бит это от нулевой метки на линейке

мне придется переписать код или поискать готовый, пока еще не нашел, только описание протокола
 

xenon-alien

✩✩✩✩✩✩✩
29 Мар 2020
38
0
@xenon-alien,
а ты какой конвертер уровней сделал?
я взял вот такую платку
Посмотреть вложение 11831

сверху подал 5в
снизу 1.5 от блока питания
общий соединил вместе и какая-то херня стала твориться - цифры перестали меняться и все по нулям

придется делать на оу что ли?

кстати протокол я нашел, вторая часть это относительные показания от виртуального нуля при нажатии на кнопку сброса
а первые 21 бит это от нулевой метки на линейке

мне придется переписать код или поискать готовый, пока еще не нашел, только описание протокола
Если мультиметр на дата и клок показывает 5 в, то код должен работать

Грубо говоря у тебя выходящий сигнал с штангеля должен совпадать с "усиленным".
И да, у меня всё на LM358, схема не инвертированная. (предыдущая была инвертирована, т.е график был зеркалный)
 

kalobyte

★★★✩✩✩✩
1 Янв 2020
726
146
у меня по нолям все
наверное этот преобразователь 1.5в не вытягивает
 

xenon-alien

✩✩✩✩✩✩✩
29 Мар 2020
38
0
у меня по нолям все
наверное этот преобразователь 1.5в не вытягивает
Некоторые только от 3.3в работают.
Попробуй на простых транзисторах.
В той статье были ссылки
Там так же имеются графики - осциллограммы, так что твой немного не похож на той. Если на анализаторе оригинал со штангеля, тогда тебе придется инвертировать , что бы работал этот код. (подтяжка к 5.0в через резистор потом NPN транзистор - это если я ничего не путаю_ тогда при срабатывании будет землю включать - низкий уровень.)
Со штангеля с дата и клок что выходит, если подключить к мультиметру? (черный на землю красный на дата и клок, либо на оборот - красный на 1.5в, а черный дата и клок)
 
Изменено:

xenon-alien

✩✩✩✩✩✩✩
29 Мар 2020
38
0
Успехи есть?
При инверсии код понимает данные со штангеля? (а то может использоваться и другой протокол вместо bin6)

Мне осталось всё оформить и собрать во едино. (кабель, коробка + развести новую ПП с возможностью изменять прямое, или инвертированное подключение, а то мало ли - попадется штангель, как у тебя)
 
Изменено:

kalobyte

★★★✩✩✩✩
1 Янв 2020
726
146
есть
я понял, что эта плата конвертера уровней работает правильно только при подаче питания 3.3в на низкую сторону
тогда лог0 притягивает выход к земле полностью

если питать плату от 1.5в штангенциркуля, то лог0 от него не до конца садит выход на лог0

если запитать плату от 3.3в по низкой стороне, то через резисторы 3.3в будет поступать так же на сигнальные провода штангенциркуля и у того сносит крышу

таким макаром надо делать правильный конвертер из 2х транзисторов на линию
либо на лм358

я сегодня утром перебрал коробки с мелкасхемами, отсортировал кучу ненужных и выкинул, но не нашел лм358 в дип корпусе, хотя давно брал со8 для самопальных радиомодулей (они тогда еще дорого стоили у китаез)

еле нашел одну штуку и вот вытащил коробку с резисторами совковыми, буду искать нужные номиналы и на макетке сделаю и на лмке и на транзисторах
если на транзисторах тоже будет работать, то так будет проще
 

kalobyte

★★★✩✩✩✩
1 Янв 2020
726
146
@xenon-alien,
ты когда делал конвертер уровней на лм358, то резисторный делитель р3 и р7 делал?
и в этой схеме

1586453414135.png

надо менять местами входы оу или оставить как на схеме, чтобы сигнал без инверсии был, как он в оригинале идет с штангенциркуля?

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

xenon-alien

✩✩✩✩✩✩✩
29 Мар 2020
38
0
@kalobyte,
У меня на штангеле изначально уровеннь высокий и только при передаче данных "0"
По этому, для выше указанной схемы (инвероированная) мне нужно было получить просто усиление и я сделал, как ты посоветовал, поменял местами входы, по этому для моего штангеля красные стрелки нужно соблюдать. (для инверсной собирать так как есть по высокому сигналу)

Макетки нету, что бы проверить?
Мне туго понять суть работы ОУ с твоим штангелем.
Всё у меня по схеме - резисторы тоже.
Для этого кода по идее тебе нужно собирать инверсную схему... (но не факт желательно на симуляторе хотя бы проверить)
 
Изменено:

kalobyte

★★★✩✩✩✩
1 Янв 2020
726
146
Мне туго понять суть работы ОУ с твоим штангелем.
мне просто надо усилить
я даже подумал, что проще сделать по 2 транзистора на линию
если ставить 1 транзистор, то будет инверсия, а если второй, то будет оригинал
 

xenon-alien

✩✩✩✩✩✩✩
29 Мар 2020
38
0
если ставить 1 транзистор, то будет инверсия,
Смотря куда подтянешь сигнал....
На транзисторе же можно и к 5в подтянуть сигнал через резистор, или же к земле через резистор.
И при закрытии транзистора будет на землю подключатся, либо на 5в.
Или я не верно понимаю?
20200409_214457.jpg
 

kalobyte

★★★✩✩✩✩
1 Янв 2020
726
146
по идее да, но я не видел таких ключений
надо будет попробовать
весь вопрос во входном сопротивлении транзистора в таком включении
может быть так, что слишком низкое и просадит выход штангенциркуля
 

kalobyte

★★★✩✩✩✩
1 Янв 2020
726
146
Opamp06.png

если подаем на + оу, то будет без инвертирования
при входном около 1в на выходе оу будет 4в, т .к. этот оу не rail to rail и на выходе у него напряжение несколько ниже, чем питание, а питание 5в всего, но контроллер вроде единицу понимает при напряжении 3в