-
Постов
21 -
Зарегистрирован
-
Посещение
Информация
-
Пол
Мужчина
-
Город
киев
Электроника
-
Стаж в электронике
1-2 года
-
Сфера радиоэлектроники
мк, arduino, игрушки
-
Оборудование
Lukey852D
Достижения ALEX__45
-
ЗЫ: Помучался, но таки нашел решение: https://www.cyberforum.ru/cpp-beginners/thread1175688.html В итоге: сначала обьявляю массив кнопок GButton buttons[8]; потом делаю присваивание конструктора в цикле: void setup() { for(int i=0;i<6;i++){ buttons[i] = GButton(14+i); } buttons[6] = GButton(2); buttons[7] = GButton(3); } и без проблем далее: void loop() { for(int i=0;i<=7;i++){ buttons[i].tick(); } for(int i=0;i<=7;i++){ if (buttons[i].isPress()) bitWrite(sendButtons, i,1); if (buttons[i].isRelease()) bitWrite(sendButtons, i,0); } }
-
ну, я бы не был столь резок это мой говнокод) Главное что это осознаю и стремлюсь к исправлению) вы предлагаете использовать другую библиотеку кнопок, более удачную - в целом вполне себе вариант. И все же для себя хотелось бы разобраться в синтаксисе языка. Возможно ли изменить объявление кнопки с использованием текущей библиотеки, так чтобы объявить сразу массив кнопок? как то по типу: GButton buttons[8]( {пин1.пин2б...} ); кстати у меня не матрица, а просто 8 кнопок и мне кажется (при беглом осмотре библиотеки) она не подойдет для этого случая
-
дано: библиотека кнопок вида: //кнопки #include "GyverButton.h" GButton b1(A0); GButton b2(A1); GButton b3(A2); GButton b4(A3); GButton b5(A4); GButton b6(A5); GButton b7 (2); GButton b8 (3); Собственно вопрос в том, как правильно объявить масив из кнопок, чтобы легко можно было конструкцию вида: b1.tick(); b2.tick(); b3.tick(); b4.tick(); b5.tick(); b6.tick(); b7.tick(); b8.tick(); if (b1.isPress()) bitWrite(buttons, 1 -1,1); if (b1.isRelease()) bitWrite(buttons, 1 -1,0); if (b2.isPress()) bitWrite(buttons, 2 -1,1); if (b2.isRelease()) bitWrite(buttons, 2 -1,0); if (b3.isPress()) bitWrite(buttons, 3 -1,1); if (b3.isRelease()) bitWrite(buttons, 3 -1,0); if (b4.isPress()) bitWrite(buttons, 4 -1,1); if (b4.isRelease()) bitWrite(buttons, 4 -1,0); if (b5.isPress()) bitWrite(buttons, 5 -1,1); if (b5.isRelease()) bitWrite(buttons, 5 -1,0); if (b6.isPress()) bitWrite(buttons, 6 -1,1); if (b6.isRelease()) bitWrite(buttons, 6 -1,0); if (b7.isPress()) bitWrite(buttons, 7 -1,1); if (b7.isRelease()) bitWrite(buttons, 7 -1,0); if (b8.isPress()) bitWrite(buttons, 8 -1,1); if (b8.isRelease()) bitWrite(buttons, 8 -1,0); заменить на: for(i=1;i<=8;i++){ if (b{i].isPress()) bitWrite(buttons, i -1,1); if (b[i].isRelease()) bitWrite(buttons, i -1,0); } как мне объявить массив из пользовательских переменных и возможно ли это вообще с учетом разных входных данных конструктора? Благодарю всех ответивших!
-
С китайскими копиями нужно крайне осторожно вести себя с питанием. В Ардуино есть встроенный стабилизатор напряжения на 5 вольт. именно он принимает на вход до 20 вольт. Но нужно понимать что чем больше напряжение тем больше он греется. Кроме того он расщитан только на питание самой Ардуины, но никак не периферии (экранчики, сервомоторчики и т .п.). Эсли преобразователь сгорит то либо вам повезет и он станет разрывом, либо не повезет и он подаст 12 в на 5 вольтовую шину... эсли при этом плата поключена к юсб - сгорит Юсб. Если правильно подключаете при соединении одновременно и Юсб и 12 вольт питания. проблем не будет. и программироваться будет норм. Главное не перегружать стабилизатор. А лучше всего вообще им не пользоваться а подавать 5 вольт на пин 5в от отдельного источника. Так надежнее и безопаснее.
-
arduino ide 1.8.1 не видит дополнительные платы boards.txt
ALEX__45 опубликовал тема в Песочница (Q&A)
здравствуйте! перерыл поиск но не нашел в чем проблема начитался про boards.txt (для дополнения доп плат) но ни одна моя правка в него не принесла никаких новых меню что может быть не так? что делать? благодарю! -
заработала последняя схема но пришлось уменьшить скорость для карты в прошивке мк
- 14 ответов
-
ясно благодарю.
- 14 ответов
-
благодарю а одним никак да? а если так но биполярным?
- 14 ответов
-
Это я и так знаю мне нужно повысить лог уровень не понизить! в прочем погорячился не до конца посмотрел
- 14 ответов
-
но вить есть схема с общей базой но у меня почему то не заработала еще у меня есть pnp http://uamper.com/products/datasheet/2N2907.PDF а если и на двух то какую
- 14 ответов
-
Здравствуйте поверхностный поиск в Яндексе не дал результатов решил обратится к вам суть в следующем: к мк с логикой 5в подключена карта памяти по spi с логикой 3.3в через буферный элемент здесь все в порядке поскольку сигнал от карты памяти 3.3в из за длинны шнура он теряется и становится ниже уровня лог 1 контроллера 5в вопрос как простым методом усилить его до 5 вольт чтоб он не терялся предполагаю биполярным транзистором но по какой схеме? у меня есть такой он подойдет? http://uamper.com/products/datasheet/2N2222.pdf благодарю.
- 14 ответов
-
Я думаю что все же куплю новый БП аналогичный первому и подключу параллельно через два диода проще и быстрее
- 4 ответа
-
- 3д принтер
- heatbed
- (и ещё 5 )
-
я действительно думал сделать БП своими руками паять умею плату вытравлю но все просчитать это сложно для меня к тому же тема новая для меня сложно это а ровно зделать можно есть чпу фрезер
- 4 ответа
-
- 3д принтер
- heatbed
- (и ещё 5 )