Ви не увійшли.
Возьми готовый, копеечный (полтора доллара за корпус) эквалайзер MSGEQ7 на 7 диапазонов и получай в ардуине уже готовый оцифрованный уровень на каждом диапазоне. Не нужно 7 - объедини программно. А когда получил уже оцифрованный уровень, делай с ним чего хочешь - мигай светодиодами или электро-мангалом под музыку управляй (шашлык "Вагнер" типа).
Не голодает, а контролирует свой вес и ведёт здоровый образ жизни ![]()
Вот ты и напиши.
А я-то тут причём? Это ты написал учебную тему, начинающуюся с тезиса "Хочу поделиться", а не я. Хочешь - делись. Я вот - не хочу, потому и не делюсь.
Что-то я не нашёл упоминаний о нём на просторах ардуининга,
Не искал, наверное. Или искать не умеешь.
А в твоём материале ты не написал главного - для чего он (температурный датчик) нужен. У него есть действительно полезное предназначение, но не температуру же показывать.
И ещё, мазохизм с постоянным "помнением" порядка чтения 16-битный регистров (кстати, порядок записи - обратный) - это зачем? мы ж не на ассемблере пишем! Читаем сразу весь регистр ADC в 16-битную переменную и "забываем о перхоти".
Нужно создать больше 8 символов для дисплея 1602.
Перепродумай структуру программы. Реально такое обычно не нужно, т.к. необходимые символы можно создавать непосредственно перед выводом сообщения. Для одного сообщения одни, а для другого - другие. Таким образом все сообщения выводятся нормально и символов хватает. Проблема только тогда, когда в одном сообщении нужно больше восьми, но это можно победить, подумав как изменить сообщения.
А почему всё на Ардуино не сделать, а также кнопку для кота? Чтобы добавки мог получить.
Не, от розетки лучше, заодно контакты к общему бункеру подвести, чтобы наглую морду туда не совал ![]()
if (TapModuleState == HIGH) Если датчик что-то фиксирует (HIGH), то { digitalWrite(Led_Pin, HIGH); Светодиод горит (HIGH) } else { digitalWrite(Led_Pin, LOW); "ИЛИ" Светодиод не горит (LOW) } }
А else то зачем? Она же должна "не погаснуть". Так делай "не горит" один раз в setup, а в loop делай то, что написал, но безо всякого else. Вот и будет тебе щщастье.
В наше время карма никого не заботит, главное корму уберечь!
Насчёт "никого" ты погорячился. Люди всегда делились на тех, кто спасает задницу, и на тех, кто душу. И время тут ни при чём. Время всегда одинаковое.
он его в любом случае получит
Возможно, но свою-то карму нахрена портить?
И сколько студент готов выложить за доработку?
И что, неужели будешь помогать ленивой заднице липовый диплом получить?
Ну, удачи тебе встретить врача, который также диплом получал, он тебя вылечит.
Тебя же вроде на .ru уже послали в правильном направлении (и совсем не сюда), чего сюда-то припёрся?
Блин народ куда вы лезете ???? По накопируют кусков и пытаетесь слепить во едино не понимая азов.
Так, а чо? Почитайте ардуиновские проспекты - кто целевой, так сказать, титульный потребитель этого девайса? Правильно, беременная доярка, которая ни хрена не знает и знать не желает. И ведь реклама не врёт! Она действительно с помощью ардуино может светодиодиком розовым помигать. Гламурненько так и мимимишненько!
Но, помигав, доярка обретает уверенность, что, с помощью этой волшебной штуки, по-прежнему ни хрена не зная, она может и доильный аппарат за три копейки сделать, и ракету на Луну запустить, и умный дом замастрячить. Вот и начинается ...
1) Брал часть примера отсюда. А там реле запитано от Ардуино:
Вот, знаешь, совершенно наплевать, где ты это взял. Тебе грамотный человек сказал: "так делать нельзя". У тебя два варианта, или послушать и переделать, или идти туда, где ты это брал, и там просить помочь решить твои проблемы, т.к. здесь советуют неправильно.
Ого и не поленился столько нащёлкать
Это наезд за "многа букоф"? Я вроде, предварительно спросил "надо - не надо".
Ну, плату держи, четыре разъёма сверху - как раз для подключения 4-х драйверов моторов, там пины подписаны. Две пары штырьковых раъзёмов чуть выше правого угла контроллера - для джамперов: верхний - режим прошивки, нижний - режим работы. Шестипиновый IDC разъём справа от контроллера - для прошивки и для подключения к главному контроллеру, который этому команды шлёт по SPI. Все сигналы инвертированы (HIGH и LOW местами поменяны). Просто потому, что так оптопары подключены.
Описывать её - уж больно долго. Давай так, если реально соберёшься повторять, спросишь - опишу.
Ну, держи:
Двигатели находятся внутри колёс, вот такие (от движка идёт 8 проводов, цвета ниже распишу).
Драйверы для них вот такие (цвета проводов как соединять ниже напишу). Установлены на радиаторах, сделана схема включения обдува, когда температура уходит за 60. Включается обдув редко.
Питается вся конструкция от двух последовательных лодочных гелиевых аккумуляторов по 80 ампер/часов. Т.е. питание - 24 вольта. Слово "лодочный" - в том смысле, что аккумулятор, позволяющий глубокий разряд. Такие ещё для несколько киловаттных UPS продаются. Автомобильный можно, но он заточен на выдачу огромных токов за короткое время, а лодочный на выдачу разумных токов долгое время. Гелиевый, это чтобы в случае аварии не выплеснулась кислота на ребёнка.
На каждый драйвер двигателя (ему нужно 36В) питание подаётся вот через такую "повышайку". Т.е. от аккумулятора на входы всех повышаек, а выходы повышаек - на драйверы.
На брюхе повышайки есть разъём и отверстия под резьбу М3 для установки вентиллятора 5015 (в смысле 50х50 и 15 мм в высоту). Приобретаются отдельно - таких вентилляторов на али хоть попой кушай. Например такой, но этот очень дорогой, я брал раза в три дешевле, сам поищи.
Подключение делится на подключение мотора к драйверу и драйвера к питанию и ардуине.
1. Мотор к драйверу:
Тонкие провода
+5 : красный
Gnd : чёрный
hA : зелёный
hB : жёлтый
hC : синий
Толстые провода
MА : зелёный
MB : жёлтый
MC : синий
Драйвер к питанию
P+ - к плюсу выхода повышайки
P- - к минусу выхода повышайки
Ну, и 6 проводов - к ардуине (даю как они подписаны на плате драйвера)
- 5V - питание для контроллера (ардуины или что там у тебя)
- GND - земля для контроллера
- Signal - Тахоимпульс Это единственный "выход" драйвера. Выдаёт тахоимпульсы. 45 импульсов на 1 оборот колеса. Можно скорость считать
- EL - Вкл.(5В) / Выкл. (Gnd)
- Z/F - (5V / Gnd) вперёд/назад
- VR - Скорость (0 - 5V) - сюда нужно подавать аналоговый сигнал от 0 до 5В
Вроде про подключение всё. Я сделал все 4 колеса на одном контроллере, причём гальванически развязал его через оптопары. Таким образом, питание, которое даёт драйвер - оно только для "его стороны" оптопар. Аналоговый сигнал на пине VR тоже развязан. Там через оптопару цифровой потенциометр подключён. Скоростью управляем через него.
Теперь по механике. Если вот здесь посмотреть, то всё в общем-то видно. Там нужны штанги от жигулей, аммортизаторы от велика, немного профилированных труб и сварочный инвертор. Работы на полдня (я трахался три дня, но я хреновый сварщик). Независимая подвеска всех 4 колёс.
Ну, в общем, если чо, спрашивай, могу что-то дофоткать. Кстати, если нужна плата с контроллером и хреновой горой оптопар и цифровых потенциометров для управления всеми 4-мя драйверами, она в SprintLayout имеется.
И чо ж тебе, родной, неясно на .ru объяснили? Удаляй нахер все свои объявления бесчисленные объявления стрингов из глобального уровня, а объявляй каждую локально по месту использования и будет тебе много счастья !
Могу в подробностях показать готовую (всю механику на фото) и дать ссылки где продаются моторы и драйверы. Но, делать не буду. Надо?
Мне нужно что бы опытные люди помогли реализовать этот проект(помогли с кодом в конце конов)
, обьяснили что и как нужно писать...
Так обратись к своему корешу AlexGyver. У него и форум собственный есть https://community.alexgyver.ru/
Надеюсь, этот безграмотный блогер тебе поможет.
Думаю, что с переполнением памяти. Симптомы очень похожи. Но без кода не скажешь.
Тут вроде все понятно на чистом английском написано...
![]()
![]()
Таки да. Всё понятно. Если нужно меньшее разрешение, то можно и подразогнать.
Вот я и сказал, что пример ТС - жульнический. Он взял функцию с максимальным разрешением, сравнил её со своей, у которой погрешность вдвое выше, и радостно заявил о своей победе в быстродействии. Это не жульничество? А что?
1. Как это сделать с мин потерями времени для чисел dec?
Для начала разобраться с понятиями. Никаких "чисел dec" в языке С (и в С++ тоже) НЕТ В ПРИРОДЕ.
При прескалере АЦП=
Дальше можно не читать.
Производитель микроконтроллера даёт вполне конкретные рекомендации по установке делителя. И там вариантов практически нет. Другие установки - это партизанщина и гаражное любительство.
можно продолжать.
Дальше переполюсовывать? ![]()