Devo admitir que sou um pouco ignorante de todas as coisas elétricas, por isso comprei um Arduino com a intenção de preencher essa lacuna na minha educação e também de aprender mais sobre a física por trás da programação e fazer coisas de baixo nível, mas não tenho encontrou uma introdução teórica adequada para exatamente o que está acontecendo no dispositivo. Só consigo encontrar tutoriais do tipo plug-in-like-like-this .
Então, por exemplo, aqui está um diagrama da guia do tutorial de LED piscando (pdf)
Parece-me que o fio conectado ao pino 5v está conectado aos +
pinos da placa de ensaio ... que estão conectados a nada. Não há mais nada na +
coluna.
Então isso não é um circuito aberto? O que exatamente essa + -- 5v
conexão está fazendo?
Essa conexão não é desenhada no diagrama esquemático.
Também não está claro para mim como os pinos são conectados no próprio arduino.
Sei que essa é uma pergunta básica do "google it", mas provavelmente devido ao fato de eu não ter o vocabulário necessário, não consegui encontrar uma descrição do fluxo atual em um Arduino.
fonte
Respostas:
Para saber como as coisas estão conectadas no próprio Arduino, você deve dar uma olhada no esquema. Este é o Arduino Uno. No canto inferior direito, você pode ver como as E / Ss da placa estão conectadas ao microcontrolador:
Então, seguindo a linha do pino 13, você vai para o PB5 do microcontrolador. Isso significa o bit 5 da porta B. Se você definir esse pino para saída e aumentar, estará fornecendo 5 V ao circuito de LEDs. O resistor em série limitará a corrente a cerca de 5 mA, que é um valor OK para o microcontrolador.
Portanto, como o 5 V vem do pino de E / S do Arduino, o fio de 5 V na placa de ensaio não é necessário.
fonte
Você está certo, o fio de 5V não está conectado ao circuito.
Provavelmente foi deixado lá apenas porque outras experiências para essa série de tutoriais exigem, mas não é necessário para que esse circuito funcione.
fonte
Em geral, o esquema que você forneceu usa essencialmente um tipo de esquema de "diagrama de blocos", pois as coisas são abstraídas para facilitar a implementação. Nesse caso, o Arduino é representado como um bloco e supõe-se que todas as suas funções funcionem conforme documentadas.
O Arduino é uma placa de desenvolvimento baseada em um microprocessador Atmel AVR. Em geral, um microprocessador não é "conectado" de uma maneira internamente, ele é projetado para lidar com muitas tarefas diferentes. Para implementar tantas coisas diferentes, a "fiação" interna muda constantemente dentro do MCU de acordo com a tarefa que está sendo processada atualmente (obrigado, transistores!).
Compare isso às implementações lógicas de hardware (FPGAs), onde elas são "programadas" uma vez para implementar uma função específica e, em seguida, a "fiação" interna permanece constante.
Digo "cablagem" entre aspas, porque mesmo os diagramas de nível lógico (AND e OR gates, etc) ainda são abstraídos do que reside fisicamente dentro do processador. As portas lógicas podem ser feitas com diferentes designs de circuitos de transistor.
A razão para toda a abstração é que seria totalmente estúpido (e, além do impossível, não posso descrevê-lo em palavras), lidar com o baixo nível. Assim, uma vez que o nível mais baixo é projetado e abstraído, o próximo nível pode ser usado com certeza e fará o que é dito. Repita o ciclo e passamos de transistores e portas lógicas até a programação de alto nível e interfaces gráficas!
Estou meio que questionando sua pergunta, principalmente porque não sabia como a corrente flui através do Arduino. Para um raciocínio mais sólido do porquê, consulte Circuitos integrados, VLSI (integração em grande escala) e tópicos relacionados que certamente aparecerão em sua pesquisa.
fonte