El código no se convierte en energía. El código le indica al Arduino cómo comportarse, tal como lo harían las instrucciones escritas dadas a una persona. Excepto que el Arduino es mucho menos inteligente que (algunas) personas.
Dentro del chip Arduino principal hay muchos transistores que se encienden y apagan de acuerdo con estas instrucciones. Un transistor es un componente de estado sólido (es decir, sin partes móviles) que permitirá que la energía fluya, o no lo permita, dependiendo del estado de su entrada. Entonces, cuando escribes código, esencialmente estás dando instrucciones a estos transistores.
Si no entiende qué son los transistores, es mejor pensar en ellos como una válvula controlable, ya que puede controlar el flujo de agua.
Algunos de estos transistores están conectados a los pines de salida del Arduino. Cuando se les indica que dejen fluir la energía, se permite que la energía llegue a los pines de salida y que alimente cualquier cosa conectada allí.
Como se mencionó en los comentarios anteriores, la cantidad de energía capaz de alcanzar los pines de salida es muy pequeña . Puedes usarlo para alimentar dispositivos de baja corriente como los LED (¡con una resistencia adecuada!), Pero si consumes demasiada energía, matarás al Arduino.
Para alimentar dispositivos de alta corriente, usarías un transistor propio.