Оглавление:
- Шаг 1. Материалы, инструменты и оборудование
- Шаг 2: Постройте тестовую схему
- Шаг 3: тестовый код
- Шаг 4. Настройте микрофон
- Шаг 5: Разбейте стекло
- Шаг 6: (Необязательно) Припайка
- Шаг 7. (Необязательно) Корпус для печати
- Шаг 8: (Необязательно) Покраска - для дополнительной прохлады
- Шаг 9: (Необязательно) Соберите
- Шаг 10: (Необязательно) Разбейте стекло снова
Видео: Бокалы для вина со звуком !: 10 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Привет и добро пожаловать!
Вот полная демонстрация проекта!
Максимальный уровень громкоговорителя составляет около 130 дБ на краю трубки, поэтому ОБЯЗАТЕЛЬНО НЕОБХОДИМЫ средства защиты органов слуха!
Идея этого проекта заключается в следующем:
Я хочу иметь возможность записывать резонансную частоту бокала с вином с помощью небольшого микрофона. Затем я хочу воспроизвести ту же частоту на гораздо большей громкости, чтобы стекло разбилось. Я также хочу иметь возможность настраивать частоту на случай, если микрофон немного отключен. И, наконец, я хочу, чтобы все это было размером с большой фонарик.
Кнопочное управление и работа:
- Верхний левый циферблат - поворотный энкодер. Он может вращаться бесконечно и будет определять, в каком направлении он вращается. Это позволяет регулировать выходную частоту в любом направлении. У поворотного энкодера также есть кнопка внутри, позволяющая «щелкнуть» по нему. У меня есть это, чтобы сбросить выходную частоту на то, что вы изначально «зафиксировали». В основном это просто снимает ваш тюнинг.
- В правом верхнем углу находится переключатель ВКЛ / ВЫКЛ. Включает или выключает питание всей цепи.
- Внизу слева находится кнопка захвата микрофона. Он чередует частоты записи, которые следует игнорировать, и частоты записи, которые необходимо воспроизвести. Таким образом, вы можете убрать "Окружающие частоты" комнаты, в которой находитесь.
- Справа внизу находится кнопка выхода динамика. При нажатии динамик начинает выводить ранее захваченную частоту.
Если вы также заинтересованы в разбивании стекла, следуйте этой инструкции, и, возможно, вы узнаете что-нибудь полезное по пути. Предупреждаем, что этот проект включает в себя много пайки и 3D-печати, так что это может быть немного сложно. В то же время вы уже довольно хорошо умеете создавать вещи (вы ведь используете Instrucables, не так ли?).
Итак, приготовьтесь и…
Сделаем роботов!
Шаг 1. Материалы, инструменты и оборудование
Поскольку этот проект не нужно делать в точности так, как это делал я, я включу «обязательный» список и «необязательный» список материалов, в зависимости от того, сколько вы хотите построить! Дополнительная часть будет включать 3D-печать корпуса для динамика и электроники.
ТРЕБУЕТСЯ:
Материалы:
- Бокалы для вина - подойдут любые, пошел в Goodwill и нашел дешевый, чем тоньше, тем лучше
- Провод (пригодятся разные цвета, я использовал 12 калибр)
-
6S 22.2v Lipo Battery (вам действительно не нужна высокая мАч, я использовал 1300):
hobbyking.com/en_us/turnigy-1300mah-6s-35c…
- Какой-то разъем аккумулятора. Если вы использовали вышеупомянутый, это XT60:
-
Громкоговоритель с компрессионным драйвером - вам нужно что-то с высоким рейтингом чувствительности (~ 100 дБ):
www.amazon.com/dp/B075K3P2CL/ref=psdc_1098…
-
Микрофон, совместимый с Arduino:
www.amazon.com/Electret-Microphone-Amplifi…
-
Arduino (Uno для не соулдеринга или Nano для соулдеринга):
www.amazon.com/ELEGOO-Arduino-ATmega328P-W…
-
Поворотный энкодер:
www.amazon.com/Encoder-15%C3%9716-5-Arduin…
-
Также полезен какой-то переключатель ВКЛ / ВЫКЛ (я использовал их):
www.amazon.com/Encoder-15%C3%9716-5-Arduin…
-
Нажмите на кнопки:
www.adafruit.com/product/1009
-
По крайней мере, усилитель на 60 Вт:
www.amazon.com/KKmoon-TPA3118-Digital-Ampl…
-
5v BEC для питания Arduino:
www.amazon.com/Servo-Helicopter-Airplane-R…
Инструменты / оборудование:
- ЗАЩИТА СЛУХА - Не шучу, у этого парня максимальный уровень составляет около 130 дБ, что может вызвать мгновенный урон.
- Паяльник
- Припой
- Инструмент для зачистки проводов
- Наждачная бумага
- Пистолет для горячего клея
НЕ ТРЕБУЕТСЯ:
Следующее требуется только в том случае, если вы тоже хотите сделать полностью напечатанный на 3D-принтере корпус для вашего проекта
Материалы:
- Разъемы Bullet:
- Термоусадка проволоки:
- Много ABS-нити - я не измерял, сколько я использовал, но есть два ~ 24-часовых отпечатка и один ~ 8-часовой отпечаток
- Ассортимент винтов и болтов M3 - технически вы, вероятно, можете использовать любой размер, если хотите просверлить для него отверстия. Но я сделал дизайн с винтами M3.
Инструменты / оборудование:
- 3D-принтер - я использовал Ultimaker 2
- Dremel также пригодится, если принтер оставляет с вашей стороны какие-то остатки.
Шаг 2: Постройте тестовую схему
Далее мы собираемся построить схему, используя, скорее всего, перемычки и макетную плату!
Технически этот шаг не требуется, если вы хотите перейти непосредственно к пайке на Arduino Nano, но я настоятельно рекомендую вам сделать это в любом случае. Это хороший способ проверить все ваши детали и убедиться, что вы знаете, куда все идет, прежде чем помещать все это в небольшое замкнутое пространство.
На первом опубликованном изображении я не подключал плату усилителя или выключатель питания, я просто подключил контакты 9 и 10 к мини-тестовой колонке, которая у меня была, но я призываю вас собрать ВСЕ вместе, прежде чем двигаться дальше.
На схему:
Чтобы включить arduino, подключите его к компьютеру с помощью кабеля USB. Если что-то неясно, я подробно расскажу о каждой части ниже.
Начнем с блока питания:
Положительный полюс батареи входит в выключатель. Это позволяет нам включать и выключать нашу схему без необходимости полностью отключать что-либо или делать что-то слишком сумасшедшее, чтобы перезапустить схему, если это необходимо. Фактический переключатель, который я использовал, имел только две клеммы, и переключатель либо соединял их, либо оставлял открытыми.
Положительный конец затем идет от переключателя к плате усилителя.
Отрицательный полюс батареи НЕ должен проходить через переключатель. Он может идти прямо к силовому концу усилителя.
Далее плата усилителя:
Плата усилителя имеет четыре набора контактов, каждый из которых имеет два сквозных отверстия. Я не использую функцию «Без звука» на этой доске, так что не беспокойтесь об этом. Я уже описал выше, что Power + и Power - должны получать 22,2 В напрямую от батареи. Для вывода вы должны подключить его непосредственно к выводам на драйвере сжатия. Прямо не имеет значения, какой вывод к какому выводу идет, но иногда их переключение улучшает качество звука. Наконец, Input + и Input - идут к контактам 10 и 9 на Arduino, опять же, порядок не обязательно имеет значение.
Микрофон:
Микрофон очень простой. Vcc получает 5 В от Arduino, GND идет на GND на Arduino, а OUT идет на контакт A0 на Arduino.
Кнопки:
Если вы когда-либо раньше использовали кнопки на Arduino, вы можете быть немного сбиты с толку, увидев, что кнопки подключены без резистора. Это потому, что они настроены на использование внутренних подтягивающих резисторов, которые находятся внутри Arduino. Это в основном заставляет их всегда читать как ВЫСОКИЙ, пока вы не нажмете кнопку, затем они читаются как НИЗКИЙ. Это просто упрощает и упрощает электромонтаж. Если вам нужна дополнительная информация, ознакомьтесь с этим руководством:
www.instructables.com/id/Arduino-Button-wi…
Кнопка, которая читает с микрофона, будет подключена к контакту 6, а кнопка, которая фактически сообщает динамику о начале воспроизведения звука, находится на контакте 5. Другие контакты на обеих кнопках подключены к GND.
Поворотный энкодер:
В поворотный энкодер, который я использовал, также была встроена кнопка. Таким образом, вы действительно можете щелкнуть по циферблату, и это можно прочитать как нажатие кнопки.
Проводка для этого выглядит следующим образом: GND к Arduino GND, + к Arduino + 5 В, SW к контакту 4, DT к контакту 3, CLK к контакту 2.
Если вам нужна дополнительная информация о том, как работают поворотные энкодеры, перейдите по этой ссылке:
howtomechatronics.com/tutorials/arduino/ro…
И это все, что касается схемы!
Шаг 3: тестовый код
Пришло время загрузить код на ваш Arduino
Вы можете скачать мое репо на GitHub, в котором есть все необходимые вам файлы:
Или я загрузил только файл GlassGun.ino в конец этого шага
Теперь давайте немного поговорим о том, что все происходит. Во-первых, я использую в этом проекте несколько разных библиотек, которые вам НЕОБХОДИМО ЗАГРУЗИТЬ. Библиотеки - это способ поделиться с кем-то модульным кодом, позволяя им легко интегрировать что-то в свой проект.
Я использую все это:
- LinkedList -
- ToneAC -
- Ротари -
У каждого из них есть инструкции по установке в каталог Arduino. Если вам нужна дополнительная информация о библиотеках Arduino, перейдите по этой ссылке:
www.arduino.cc/en/Guide/Libraries
Этот флаг позволяет пользователю легко выключать или выводить на экран распечатки для последовательной линии:
// Флаг отладки
логическое printDebug = true;
Это инициализирует переменные, которые используются для захвата частоты, и возвращает ту, которая появлялась чаще всего:
// Захват частотыLinkedList freqData; LinkedList NOT_DATA; int modeHold; int modeCount = 1; int modeSubCount = 1; логическое gotData = false; логическое badData = true;
Это устанавливает значения для вывода на динамик. freqModifier - это то, что мы добавляем или вычитаем из вывода на основе настройки поворотного энкодера. modeValue - это то, что удерживает запись с микрофона. Конечный результат - это просто modeValue + freqModifier.
// Частота излучения
int freqModifier = 0; int modeValue;
Настраивает поворотный энкодер с помощью библиотеки:
// Настройка с помощью энкодера
int val; #define encoderButtonPin 4 #define encoderPinA 2 #define encoderPinB 3 Rotary r = Rotary (encoderPinA, encoderPinB);
Определяет контакты, к которым прикреплены кнопки:
// Кнопки включения микрофона и динамика
# определить динамикКнопка 5 # определить микрофонКнопка 6
Это значение указывает, является ли записанная частота исключительно высокой или низкой:
// отсечение индикаторных переменных
логическое отсечение = 0;
Используется при записи частоты:
// переменные хранилища данных
byte newData = 0; byte prevData = 0;
Используется при фактическом расчете числа частот на основе колебаний:
// freq переменные
unsigned int timer = 0; // считает период волны unsigned int period; int частота;
Теперь о собственном теле кода:
Здесь мы настраиваем кнопки микрофона и динамика, чтобы не использовать резистор при нажатии кнопки, как описано ранее в шаге «Тестовая схема» (дополнительная информация: https://www.instructables.com/id/Arduino-Button-wi…) I также вызовите resetMicInterupt, который выполняет очень низкоуровневую настройку выводов, чтобы они слушали вывод A0 в очень разные периоды времени. Я использовал это руководство, чтобы показать, как получить частоту из этих значений:
www.instructables.com/id/Arduino-Frequency…
void setup () {pinMode (13, ВЫХОД); // вывод светодиодного индикатора pinMode (микрофонButton, INPUT_PULLUP); // Вывод микрофона pinMode (speakerButton, INPUT_PULLUP); если (printDebug) {Serial.begin (9600); } resetMicInterupt (); } void resetMicInterupt () {cli (); // отключение прерываний // настройка непрерывной выборки аналогового вывода 0 // очистка регистров ADCSRA и ADCSRB ADCSRA = 0; ADCSRB = 0; ADMUX | = (1 << REFS0); // установить опорное напряжение ADMUX | = (1 << ADLAR); // выравнивание по левому краю значения АЦП - так что мы можем читать только старшие 8 бит из регистра ADCH ADCSRA | = (1 << ADPS2) | (1 << ADPS0); // установить тактовую частоту АЦП на 32 предделителя - 16 МГц / 32 = 500 кГц ADCSRA | = (1 << ADATE); // включить автоматический запуск ADCSRA | = (1 << ADIE); // разрешить прерывания по окончании измерения ADCSRA | = (1 << ADEN); // включить ADC ADCSRA | = (1 << ADSC); // запускаем измерения АЦП sei (); // разрешаем прерывания} ISR (ADC_vect) {// когда готово новое значение АЦП prevData = newData; // сохраняем предыдущее значение newData = ADCH; // получаем значение из A0 if (prevData = 127) {// при увеличении и пересечении средней точки period = timer; // получаем period timer = 0; // сбрасываем таймер} if (newData == 0 || newData == 1023) {// если отсекаем PORTB | = B00100000; / / set pin 13 high - включить индикатор отсечения led clipping = 1; // текущее отсечение} timer ++; // инкрементируем таймер со скоростью 38,5 кГц}
Я думаю, что большая часть кода здесь достаточно проста и должна быть хорошо читаемой, но я выделю некоторые из наиболее запутанных областей:
Эта часть в основном взята из библиотеки Rotary. Все, что он говорит, это то, что если вы двигались по часовой стрелке, увеличьте freqModifer на единицу, если вы не поднялись, значит, вы, должно быть, спустились, поэтому уменьшите freqModifer на единицу.
unsigned char result = r.process (); // Проверяем, переместился ли поворотный энкодер
если (результат) {firstHold = true; если (результат == DIR_CW) freqModifier ++; // Если мы двигались по часовой стрелке, увеличиваем, иначе уменьшаем else freqModifier--; если (freqModifier 50) freqModifier = 50; если (printDebug) {Serial.print ("FreqMod:"); Serial.println (freqModifier); }}
В следующем разделе я запускаю свой алгоритм на захваченных частотных данных, чтобы попытаться получить наиболее стабильные показания частоты из бокала. Во-первых, я делаю короткое нажатие на кнопку микрофона. Это короткое нажатие кнопки фиксирует «неверные данные» с микрофона. Это соответствует значениям, которые мы хотим игнорировать. Мы держимся за них, так что, когда мы получаем «Хорошие данные», мы можем перебрать их и удалить все плохие.
void getMode () {boolean doAdd = true // Первое нажатие кнопки должно быть коротким, чтобы получить «плохие значения» или значения, которые, как мы знаем, плохие // Это чередуется между записью «плохих данных» и «хороших данных» if (badData) {если (printDebug) Serial.println ("Плохие данные:"); for (int j = 0; j <freqData.size (); j ++) {for (int i = 0; i <NOT_DATA.size (); i ++) {if (freqData.get (j) == NOT_DATA.get (i)) {doAdd = false; перерыв; }} если (doAdd) {NOT_DATA.add (freqData.get (j)); } doAdd = true; } если (printDebug) {Serial.println ("-----"); for (int i = 0; i <NOT_DATA.size (); i ++) {Serial.println (NOT_DATA.get (i)); } Serial.println ("-------"); }}
Здесь мы просматриваем «Хорошие данные» и удаляем все те, которые соответствуют «Плохим данным из прошлого».
Всякий раз, когда мы удаляем один элемент из списка, мы должны вернуться на шаг назад в нашем внешнем цикле (j--), потому что в противном случае мы пропустим значения.
еще {
if (printDebug) Serial.println ("Неплохие данные:"); for (int j = 0; j <freqData.size (); j ++) {for (int i = 0; i <NOT_DATA.size (); i ++) {if (freqData.get (j) == NOT_DATA.get (i)) {if (printDebug) {Serial.print ("Удалено:"); Serial.println (freqData.get (j)); } freqData.remove (j); j--; перерыв; }}} freqData.sort (minToMax); modeHold = freqData.get (0); modeValue = modeHold; для (int i = 0; i modeSubCount) {modeSubCount = modeCount; modeValue = modeHold; } modeCount = 1; modeHold = freqData.get (я); }} modeCount = 1; modeSubCount = 1; если (printDebug) {Serial.println ("--------"); Serial.println (modeValue); Serial.println ("---------"); } NOT_DATA.clear (); } если (badData) badData = false; иначе badData = true; freqData.clear (); }
Шаг 4. Настройте микрофон
Вероятно, это был один из самых сложных шагов для меня, потому что я делал это вместе с редактированием кода для получения правильной выходной частоты.
Поскольку Arduino не может считывать отрицательные напряжения (например, звуковые волны), встроенная в микрофон схема преобразует все в положительное напряжение. Вместо нескольких милливольт положительного и нескольких милливольт отрицательного, схема пытается изменить это на положительные 5В и 0В. Однако он не может точно знать, насколько громок ваш источник звука. Чтобы исправить это, в схему добавляют крошечный потенциометр (винт).
Это позволяет вам «настроить» микрофон на уровень звука винных бокалов.
Итак, как этого добиться?
Что ж, вы можете подключить свой Arduino к компьютеру через USB-кабель, открыть последовательный монитор, щелкнув значок в правом верхнем углу редактора Arduino.
Установите скорость передачи 9600 бод.
Затем, когда вы загружаете свой код в Arduino, вы должны увидеть все сообщения printDebug в этом новом окне.
Чтобы на самом деле правильно настроить микрофон, я бы порекомендовал установить на свой телефон приложение, которое считывает частоты (например, это) и фактически выясняет, какая правильная частота вашего стекла. Поверните стекло при открытом приложении, найдите правильную частоту, затем начните настраивать микрофон, пока не получите достаточно стабильные результаты.
Итак, процесс такой:
- Поверните стакан с открытым приложением спектрометра и посмотрите, какова истинная резонансная частота.
- Запишите «неверные данные», быстро нажав кнопку подключенного микрофона на вашей цепи.
- Удерживайте кнопку микрофона на вашей схеме так, чтобы сам микрофон был близко к стеклу, и постучите по стеклу отверткой или чем-то еще.
- Посмотрите на выходной сигнал на последовательном мониторе и убедитесь, что он близок к истинному значению частоты.
- Слегка отрегулируйте винт потенциометра на микрофоне и повторите
Вы также можете просто запустить скрипт mic_test, который будет постоянно запускать микрофон, выводя его на экран. Если вы сделаете это таким образом, вам придется поворачивать винтовой потенциометр во время выполнения кода, чтобы увидеть, где лучше всего для этого найти.
Шаг 5: Разбейте стекло
Пора разбить старое стекло!
Во-первых, УБЕДИТЕСЬ, ЧТО ВЫ НОСИТЕ ЗАЩИТУ ДЛЯ УХОВ!
Есть искусство заставить все встать на свои места, чтобы стекло разбилось.
- Ободок бокала нужно отшлифовать
- Вам нужно выбрать правильную частоту
- Вам нужно получить правильный угол
- вам нужно убедиться, что ваш бокал не теряет драгоценную вибрационную энергию при тряске
Итак, лучший способ, который я нашел для этого, - это:
Во-первых, как я уже сказал, отшлифуйте край бокала. Если вы этого не сделаете, у стекла не будет начальной точки разрушения, и оно никогда не сможет потрескаться. Все, что требуется, - это легкое шлифование, которого хватит только на несколько микроцарапин.
Убедитесь, что ваша частота правильная, поместив что-то вроде соломинки или стяжки в стакан после того, как вы записали частоту. Это позволяет вам увидеть, когда частота заставляет предмет больше всего подпрыгивать и вибрировать.
Во-вторых, попробуйте направить динамик на самую широкую часть стекла прямо перед тем, как стекло начнет изгибаться к горлышку. Именно здесь соломка или застежка-молния часто сильно подпрыгивают, поэтому вы сможете увидеть, какая часть работает лучше всего.
Наконец, я приклеил свой стакан к столу. Если у стакана есть возможность вибрировать весь стакан и перемещаться по столу, он теряет вибрацию, которая в противном случае приводила бы к сотрясению края стакана. Поэтому я рекомендую приклеить стекло к столу скотчем. Если вы заклеите его слишком сильно, он вообще не сможет вибрировать!
Потратьте немного времени на игру, чтобы попытаться получить нужные уровни, и убедитесь, что вы записали его, чтобы показать всем своим друзьям!
Шаг 6: (Необязательно) Припайка
Итак, вы решили, что все это у вас есть? Что ж, молодец! Мне конечно понравилось это делать!
Ну обо всем по порядку. Схема в основном такая же, есть лишь небольшие отличия.
- Вы будете паять прямо на выводы динамика.
- Вы добавите к динамику коннекторы Bullet.
- Вы добавите BEC для питания Arduino Nano.
Одно небольшое замечание: вы не хотите припаять главный выключатель питания, пока он не окажется внутри корпуса. Это связано с тем, что переключатель необходимо вводить сверху, в отличие от других частей, которые можно вставить снизу. Если вы припаяете переключатель до того, как он будет в корпусе, вы не сможете его вставить.
Положительный полюс нашей батареи сначала подключается к переключателю, а затем к BEC. Это понижает наше напряжение с 22,2 В до 5 В, чтобы обеспечить питание Arduino. Положительный конец батареи также идет к концу Power + нашего усилителя. Это обеспечивает 22,2 В напрямую на усилитель.
Конец нижнего напряжения BEC идет от + к + 5В на Arduino и - к GND на Arduino.
Настоятельно рекомендуется использовать изоляцию проводов на соединителях пули, чтобы они не касались друг друга и не замыкали цепь.
Также вы не будете ни к чему конкретно паять. Вы как бы паяете в воздухе, это техника, которую я называю «воздушной пайкой». Вначале сложно освоиться, но через некоторое время к ней привыкаешь.
Когда вы закончите пайку, неплохо было бы нанести немного горячего клея и покрыть оголенные провода или детали. Горячий клей - отличный изолятор, который можно наносить на любую электронику. Он снимается с некоторыми усилиями, поэтому его можно переформатировать, если вы что-то испортили. Но обязательно постарайтесь прикрыть ножки кнопок, наконечники штифтов или другие открытые части, чтобы не произошло короткого замыкания.
Шаг 7. (Необязательно) Корпус для печати
В этом проекте есть три файла для печати:
- Передняя часть, на которой крепится динамик и микрофон
- Средний бит, в котором есть вся электроника, кнопки и аккумулятор
- Крышка аккумуляторного отсека
Все вместе это примерно 48-часовая печать на Ultimaker 2 от Georgia Tech. Убедитесь, что вы печатаете с опорой, потому что на этом отпечатке есть несколько больших выступов.
Все детали были спроектированы таким образом, чтобы они могли плотно прилегать друг к другу, поэтому для их правильной сборки может потребоваться шлифовка или легкий дремель. У меня не было проблем с машинами, которые я использовал.
Шаг 8: (Необязательно) Покраска - для дополнительной прохлады
Я подумал, что было бы круто добавить немного краски к отпечатку. Не стесняйтесь делать все, что вам кажется крутым, с имеющимися у вас цветами. На мне было немного акриловой краски, и, похоже, она работала хорошо. Лента, которую я использовал, похоже, держала краску не так сильно, как я надеялся, так что немного потекло, но я думаю, что все обошлось.
Шаг 9: (Необязательно) Соберите
Теперь, когда все детали напечатаны, припой твердый, а код работает, пришло время собрать все вместе в одном месте.
Я обнаружил, что проще всего поставить Arduino боком к стене, тогда плата усилителя может лежать ровно на дне.
Кнопки были спроектированы так, чтобы подходить к компрессии. Таким образом, они должны просто быть в состоянии быть втянутыми в свои слоты и оставаться там. Однако, если у вашего принтера нет такого допуска, не стесняйтесь взять кусок ленты или горячий клей, чтобы прикрепить их к их гнездам.
На поворотном энкодере есть собственный винт, поэтому вы можете просто затянуть его сверху с помощью гайки.
Выключатель питания должен быть вставлен сверху. Может потребоваться немного усилий, чтобы вставить его, но он должен хорошо поместиться, когда он вставлен в слот.
Как только они будут на месте, вы должны сначала вставить микрофон, а затем динамик. Я также обнаружил, что микрофон не нужно вкручивать, потому что сжатие отверстия и динамик, находящийся на нем, хорошо удерживают его.
Батарея должна плотно входить в заднюю часть лотка, но у меня не возникло проблем с ее размещением там.
Я также обнаружил, что просто прикручивания винта M3 к боковым отверстиям крышки батарейного отсека обоих размеров было достаточно, чтобы удерживать его на месте вообще без гайки. Изначально я планировал получить один очень длинный винт, который полностью проходил через другое отверстие, но я не хотел искать его в Интернете, и винт без гайки, казалось, работал нормально.
Шаг 10: (Необязательно) Разбейте стекло снова
Освободитесь, чтобы погреться в лучах славы разбитого стекла вокруг вас в этот момент. Сделайте вдох, вы сделали это. Почувствуйте запах осколков, которые летают вокруг вас.
Теперь у вас есть полностью рабочая, портативная, безупречно сконструированная звуковая пушка, разбивающая стекло. Если кто-то подходит к вам с бокалом вина, не стесняйтесь выпороть этого плохого парня и просто разбейте его прямо на его глазах. Что ж, по правде говоря, вы, вероятно, сломали бы их барабанные перепонки до того, как разобьется стекло, но в любом случае они выведены из строя.
А если серьезно, то спасибо, что нашли время на создание моего небольшого проекта. Если у вас есть какие-либо отзывы или улучшения, которые вы хотите, чтобы я внес, дайте мне знать! Я более чем готов слушать!
И в последний раз …
Сделаем роботов!
Финалист Аудиоконкурса 2018
Рекомендуемые:
Сигнализация для спальни со светом и звуком !: 6 шагов
Сигнализация для спальни со светом и звуком !: Привет, сегодня я покажу вам, как сделать сигнализацию для двери вашей спальни с Arduino UNO
Светодиодные индикаторы со звуком - Карманная дискотека: 11 шагов (с изображениями)
Светодиоды с управлением звуком - Карманная дискотека: сделайте свою собственную карманную дискотеку с помощью светодиодов, управляемых музыкой. Все, что вам нужно, это немного музыки или звука, и светодиоды будут танцевать под звук. Это действительно небольшая схема, которую нужно построить, и для ее изготовления требуется всего несколько компонентов. Главный б
Декоративная светодиодная лампа с реактивным звуком (Arduino): 5 шагов (с изображениями)
Декоративная светодиодная лампа с реактивным звуком (Arduino): Добрый день, это мой первый инструктаж, и я не англичанин;) Пожалуйста, простите меня, если я допущу ошибки. Тема, о которой я хотел поговорить, - это светодиодная лампа, которая также может быть звуковой Реактивный. История начинается с моей жены, которая владеет этой лампой от Ikea с тех пор
Светодиодная настольная лампа для бутылок вина: 15 шагов
Светодиодная настольная лампа для бутылок с вином: настройте настроение вашего следующего ужина с помощью этих светящихся настольных ламп для бутылок с вином. Их легко построить, используя детали из местного хозяйственного магазина или магазина художественных принадлежностей. Кроме того, поскольку они работают от батареек, они прослужат намного дольше, чем любые свечи
Светодиодные подвески для вина: 9 шагов (с изображениями)
Светодиодные винные подвески: осветите свои праздничные вечеринки этими праздничными светодиодными винными подвесками