4# How to Code Potentiometers (Complete Guide) - MIDI Programming for the Arduino

Поделиться
HTML-код
  • Опубликовано: 4 июл 2024
  • 🎛️ Download the Arduino Sketch: go.musiconerd.com/files-download
    🎹 Nerd Musician Pro: go.musiconerd.com/nerd-musici...
    🎛️ DIY MIDI Controller Workshop: go.musiconerd.com/diy-midi-co...
    🎹 Curso Fazendo Música com Arduino em Português: go.musiconerd.com/fazendo-mus...
    🎛️ Join the Tinkercad Class: www.tinkercad.com/joinclass/5...
    In this video, I'll give you a complete guide on how to code potentiometers to send MIDI with your Arduino, so you can build your DIY MIDI controller.
    I'll cover many important topics, such as analogWrite(), analogRead(), how to wire potentiometers, how to use the ResponsiveAnalogRead library to get a smooth reading, etc.
    Also, you'll learn how to send MIDI Control Change using the MIDIUSB library, which allows your Arduino to become a MIDI class-compliant device.
    This is a full programming course condensed into a class!
    Watch the other MIDI Programming for the Arduino videos: • 1# MIDI Programming fo...
    0:00 Intro
    1:27 Materials
    3:08 Potentiometer Wiring
    3:39 analogRead()
    5:20 Led analogWrite()
    9:03 Coding potentiometers
    13:31 Circuit
    14:32 Fixing the "floating" issue
    21:21 The "gate" algorithm
    25:00 Smoothing the signal
    27:24 Build your MIDI controllers
    28:10 Sending MIDI
    29:47 Mapping Ableton Live
    30:33 Outro
    Translated titles:
    4# Cómo codificar potenciómetros (guía completa)-Programación MIDI para Arduino
    4# Wie man Potentiometer codiert (vollständige Anleitung)-MIDI-Programmierung für den Arduino
    4# Comment coder des potentiomètres (Guide complet)-Programmation MIDI pour l'Arduino
    4# Como Codificar Potenciômetros (Guia Completo)-Programação MIDI para Arduino
    4# पोटेंशियोमीटर को कैसे कोड करें (संपू
    4# 如何编码电位器(完整指南)-Arduino 的 MIDI 编程
  • ВидеоклипыВидеоклипы

Комментарии • 41

  • @ronzonmusic
    @ronzonmusic 9 месяцев назад

    I have been searching for exactly this forever, this video is perfect timing. Thank you!

  • @cyrilcalmes4208
    @cyrilcalmes4208 2 месяца назад

    Excellent video. Just one question, could we use interruptions to deal with faders ?

  •  6 месяцев назад

    Me encantan tus videos, son muy estimulantes, por favor no pares!

  • @tawobols
    @tawobols 4 месяца назад

    Thank you so much!
    With your help and all your content I was able to start working on my first midi controller for my Tibetan bowls project with a captive touch sensor. So many tips in your videos!
    I'm really very grateful to you 🙏🏼

  • @pabloivan6017
    @pabloivan6017 Месяц назад

    THX for the video. Easy & fast way for DIY MIDI, also cheap.

  • @genghisbunny
    @genghisbunny 9 месяцев назад

    Your lessons are so useful, thank you. One day I might be able to afford your course, but in the meantime I'm enjoying your videos, and appreciate them.

  • @matsukadub-official
    @matsukadub-official 9 месяцев назад +1

    i've paid for the online course and also find it super cool and nice that you also post those videos for everyone to enjoy ;-) !

  • @londondirt1217
    @londondirt1217 9 месяцев назад

    I’m loving the new content dude ❤

    • @NerdMusician
      @NerdMusician  9 месяцев назад +1

      Glad you liked it! I'll keep doing more coding stuff. :)

  • @Nightsbringer1
    @Nightsbringer1 8 месяцев назад +1

    Just found this video series and I'm very impressed honestly. Will you add something on adding multiplexers as I'm rather confused as how to do that!

  • @TheTekordBay
    @TheTekordBay 5 месяцев назад

    Amazing channel!

  • @80s_GILA
    @80s_GILA 6 месяцев назад +1

    Im trying to build a controlller for Rekordbox but is doesn't seem to register the controller. Am i doing something wrong or doesnt rekordbox allow custom controllers?
    *edit* the controller is gonna be a add-on to a DDJ-FLX4

  • @ludovicamennella882
    @ludovicamennella882 7 месяцев назад

    this is super useful!! can you also make a video about buttons made of forse sensitive resistor or piezo to control velocity? thank you so much!

  • @nadien.6438
    @nadien.6438 9 месяцев назад

    Hello! im having trouble usingthe code with the arduino mega ch340 atmega 2560... does it has to do with the micrchip?

  • @DanTechGA
    @DanTechGA 3 месяца назад

    I'm having an issue at compiling in the loop. I get ""controlChange" was not declared in this scope." Any idea why? I love the video, but I'm stuck!

  • @andreasfurxer4135
    @andreasfurxer4135 5 месяцев назад

    Hello,
    I am using an Arduino Leonardo, and I have installed 4 potentiometers and 3 buttons, adapting the code accordingly. Everything works smoothly so far. However, the potentiometers do not behave as I would have liked. Unfortunately, the control range of the potentiometers is very short. When I set the potentiometer to about 60 percent, the MIDI value is already at 128. I am using a 10K fader as a potentiometer (128mm). Is there any way to adjust this control range?
    Best regards from Austria,
    Andi

  • @shambhavi-nw4fd
    @shambhavi-nw4fd Месяц назад

    i connected 8 potentiometer to a 16 channel mux, how to code for that

  • @pulsmond
    @pulsmond 7 месяцев назад

    Help me figure it out: Ableton Live does not see the connected controller before launching Ableton. If I turned on the controller after starting Ableton - everything is fine, everything works. Why is that?

  • @Lugubrisimo
    @Lugubrisimo 6 месяцев назад

    Lástima que el daw reaper no bo lo reconoce y siempre veo que prueban en Ableton

  • @scepticore
    @scepticore 3 месяца назад

    Does the resistance of a poti matter in that case?

    • @NerdMusician
      @NerdMusician  3 месяца назад +1

      It matters more if you use different values, because it will give you different curves, but just stick from 5-20Oohms. 10Ohoms is ths standard.

  • @s.h.a.m.r.i.k
    @s.h.a.m.r.i.k 9 месяцев назад

    Midi 2.0 support?

  • @patrickburke3826
    @patrickburke3826 9 месяцев назад

    🙏🙏🙏🤓

  • @pierrebertram5555
    @pierrebertram5555 9 месяцев назад

    Would it be kind of the same process in Linux ?

  • @linzenmeyer
    @linzenmeyer 5 месяцев назад +1

    How to code joysticks
    How to code Touchpads
    How to code Sliders
    How to code readouts and light strips
    These are all the ideas I could think of. And to sweeten the pot for you, I will send you boxes of gear for you to use in those videos.
    Get with me, I believe all my contact info is in my youtube.

    • @timeubank4687
      @timeubank4687 5 месяцев назад

      Joysticks are just two pots. X and Y

  • @alexcostafotografia
    @alexcostafotografia 4 месяца назад

    Brazilian?

  • @chrisw1462
    @chrisw1462 9 месяцев назад

    If I couldn't move a CC knob very fine, I'd get rid of the MIDI controller. Your 'threshold' and timer is way too much compensation.

    • @NerdMusician
      @NerdMusician  9 месяцев назад

      With this "compensation" I get VERY fine readings. That's how it's done!

    • @merumerutho
      @merumerutho 8 месяцев назад

      Place a capacitor between potentiometer output and ground. It acts as a low pass filter and removes the noise.

    • @timeubank4687
      @timeubank4687 5 месяцев назад

      The problem is MIDI. you only get 128 values. there are no decimals. I'm not sure what you would replace a midi controller with to execute midi commands. Getting a multi turn pot that allows fine precision won't do you any good to turn it 6 times to go from 0 to 1, you can get 0 to 1 with any Kb pot just fine.

    • @chrisw1462
      @chrisw1462 5 месяцев назад

      @@timeubank4687 When I said I'd get rid of it, I meant because it was malfunctioning. You'd replace it with one that works as it should.

    • @chrisw1462
      @chrisw1462 5 месяцев назад

      @@NerdMusician The problem with the code is using the built-in map() function _before_ compensating for changes. Compensating _after_ map(), loses resolution and some control. If, instead, you use a hysteresis function before map(), you can keep the resolution and get even finer control. The ADC read function would save the last reading and compare it to the current one. Then, if and only if the value has changed more than 3 or 4, you call map() and MIDIstate() to see if the MIDI value needs to change. (If it's less, throw out the new reading and keep the old one.) Tune the comparison value (3 or 4) until you are happy with the control.
      Of course, @merumerutho's suggestion of adding a small capacitor across the potentiometer would also help - both the cap and the code change would make it very stable. A 100 nF (0.1 uF) cap is enough, and should help with local electric field changes, too (no value changes just because you moved your hand).