Arduino, NRF24l01 e ICSP - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-28T08:29:39Zhttps://labdegaragem.com/forum/topics/arduino-nrf24l01-e-icsp?commentId=6223006%3AComment%3A730865&feed=yes&xn_auth=noBom dia,
O diagrama esquemát…tag:labdegaragem.com,2020-04-27:6223006:Comment:7311302020-04-27T12:21:08.786ZJosé Gustavo Abreu Murtahttps://labdegaragem.com/profile/GustavoMurta
<p>Bom dia, </p>
<p>O diagrama esquemático do Arduino Leonardo (site oficial) :</p>
<p><a href="https://www.arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf" rel="nofollow">https://www.arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3...</a></p>
<p></p>
<p>No Leonardo, como vi no diagrama, existem dois ATMEGA32U4.</p>
<p>O Chip U1 ATMega32U4-XUMU que faz parte da Interface Serial/USB. </p>
<p>O Chip U2 ATMega32U4-XUAU é o Micro-controlador principal. </p>
<p>A interface…</p>
<p>Bom dia, </p>
<p>O diagrama esquemático do Arduino Leonardo (site oficial) :</p>
<p><a rel="nofollow" href="https://www.arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf">https://www.arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3...</a></p>
<p></p>
<p>No Leonardo, como vi no diagrama, existem dois ATMEGA32U4.</p>
<p>O Chip U1 ATMega32U4-XUMU que faz parte da Interface Serial/USB. </p>
<p>O Chip U2 ATMega32U4-XUAU é o Micro-controlador principal. </p>
<p>A interface ICSP/SPI esta conectada no Chip principal U2. </p>
<p></p>
<p>Mas na imagem da placa, não dá para ver esses dois Chips, somente um???</p> olá Cintra.
Eu tive al…tag:labdegaragem.com,2020-04-27:6223006:Comment:7310372020-04-27T11:33:21.562ZElcids Chagashttps://labdegaragem.com/profile/ElcidsChagas
<p><span style="font-size: 12pt;">olá Cintra.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Eu tive alguma cisma de que vc talvez estive querendo se referir ao <em><strong>Arduino </strong></em> "<em><strong>Leonardo</strong></em>", mas acabei achando que era o <em><strong>Nano</strong> </em>devido à algumas diferenças entres estas plataformas de Hardware.</span></p>
<p><span style="font-size: 12pt;"> Mas realmente, no "<em><strong>Leonardo</strong>" </em>os sinais no…</span></p>
<p><span style="font-size: 12pt;">olá Cintra.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Eu tive alguma cisma de que vc talvez estive querendo se referir ao <em><strong>Arduino </strong></em> "<em><strong>Leonardo</strong></em>", mas acabei achando que era o <em><strong>Nano</strong> </em>devido à algumas diferenças entres estas plataformas de Hardware.</span></p>
<p><span style="font-size: 12pt;"> Mas realmente, no "<em><strong>Leonardo</strong>" </em>os sinais no <em><strong>conector</strong></em> "<em><strong>ICSP</strong></em>" não coincidem com os <em><strong>I/Os</strong></em> "<strong>11</strong>" a "<strong>13</strong>" do <em><strong>Arduino</strong></em>. Logo, vc pode usar a <em><strong>Interface SPI</strong></em> ali disponível, e ainda ter os <em><strong>I/Os</strong></em> livres para usar como desejar.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> No entanto, atente para a seguinte e interessante combinação: <em><strong>Arduino Nano + nRF24L01 + Expansor de I/O I2C</strong></em>. Veja que ela tem custo menor e ocupa cerca de 1/3 do espaço físico que um <em><strong>Leonardo + nRF24L01</strong></em> irá ocupar, e sendo também mais flexível.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Abrçs,</span></p>
<p><span style="font-size: 12pt;"> Elcids</span></p> Elcids, bom dia!
Eu havia dad…tag:labdegaragem.com,2020-04-26:6223006:Comment:7309562020-04-26T10:45:46.363ZJose Augusto Cintrahttps://labdegaragem.com/profile/JoseAugustoCintra
<p>Elcids, bom dia!</p>
<p>Eu havia dado a informação errada acima. Falei do Nano, mas na verdade seria o Arduino Leonardo que tem os pinos da ICSP independentes dos pinos digitais, segundo este artigo:</p>
<p><a href="https://br-arduino.org/2015/05/arduino-icsp-attiny-atmega.html" rel="nofollow noopener" target="_blank">https://br-arduino.org/2015/05/arduino-icsp-attiny-atmega.html</a>, de onde tirei as imagens acima.</p>
<p>Foi daí que surgiram todas as dúvidas.</p>
<p>Agradeço mais uma vez a…</p>
<p>Elcids, bom dia!</p>
<p>Eu havia dado a informação errada acima. Falei do Nano, mas na verdade seria o Arduino Leonardo que tem os pinos da ICSP independentes dos pinos digitais, segundo este artigo:</p>
<p><a rel="nofollow noopener" href="https://br-arduino.org/2015/05/arduino-icsp-attiny-atmega.html" target="_blank">https://br-arduino.org/2015/05/arduino-icsp-attiny-atmega.html</a>, de onde tirei as imagens acima.</p>
<p>Foi daí que surgiram todas as dúvidas.</p>
<p>Agradeço mais uma vez a todos pelas informações.</p> Gustavo, agradeço mesmo assim…tag:labdegaragem.com,2020-04-26:6223006:Comment:7308972020-04-26T10:26:22.959ZJose Augusto Cintrahttps://labdegaragem.com/profile/JoseAugustoCintra
<p>Gustavo, agradeço mesmo assim.</p>
<p>Grande abraço!</p>
<p></p>
<p>Gustavo, agradeço mesmo assim.</p>
<p>Grande abraço!</p>
<p></p> Amigo José Augusto cheguei ta…tag:labdegaragem.com,2020-04-25:6223006:Comment:7309432020-04-25T20:14:17.380ZJosé Gustavo Abreu Murtahttps://labdegaragem.com/profile/GustavoMurta
<p>Amigo José Augusto cheguei tarde, </p>
<p>Mas os colegas do Lab já resolveram a sua dúvida.</p>
<p>Abraços </p>
<p>Gustavo </p>
<p>Amigo José Augusto cheguei tarde, </p>
<p>Mas os colegas do Lab já resolveram a sua dúvida.</p>
<p>Abraços </p>
<p>Gustavo </p> olá novamente Cintra.
…tag:labdegaragem.com,2020-04-25:6223006:Comment:7309422020-04-25T19:59:43.616ZElcids Chagashttps://labdegaragem.com/profile/ElcidsChagas
<p><span style="font-size: 12pt;">olá novamente Cintra.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Esqueci de mencionar sobre o <em><strong>Arduino Nano</strong></em>. O <em><strong>Processador</strong></em> do <em><strong>Nano</strong></em> também é o <em><strong>ATMega328</strong></em>, o mesmo do <strong>UNO</strong>.</span></p>
<p><span style="font-size: 12pt;"> Consequentemente, os sinais do "<em><strong>ICSP</strong></em>" são os mesmos "<strong>D11</strong>",…</span></p>
<p><span style="font-size: 12pt;">olá novamente Cintra.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Esqueci de mencionar sobre o <em><strong>Arduino Nano</strong></em>. O <em><strong>Processador</strong></em> do <em><strong>Nano</strong></em> também é o <em><strong>ATMega328</strong></em>, o mesmo do <strong>UNO</strong>.</span></p>
<p><span style="font-size: 12pt;"> Consequentemente, os sinais do "<em><strong>ICSP</strong></em>" são os mesmos "<strong>D11</strong>", "<strong>D12</strong>", e "<strong>D13</strong>" (respectivamente "<em><strong>MOSI</strong></em>", "<em><strong>MISO</strong></em>", e "<em><strong>SCK</strong></em>", da <em><strong>Interface </strong><strong>SPI</strong></em>).</span></p>
<p><span style="font-size: 12pt;"> Logo se aplicam ao <em><strong>Nano</strong></em>, as mesmas conclusões que apresentei no post anterior.</span></p>
<p><span style="font-size: 12pt;"> Você pode conferir via esquemático, conforme a figura a seguir, onde salientei os três sinais na cor "rosa claro":</span></p>
<p style="text-align: center;"><span style="font-size: 10pt;"><strong><em>(clique na figura para "zoom")</em></strong></span></p>
<p><span style="font-size: 12pt;"><a href="https://storage.ning.com/topology/rest/1.0/file/get/4514391173?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/4514391173?profile=RESIZE_710x" class="align-center" width="436" height="392"/></a></span></p>
<p></p>
<p><span style="font-size: 12pt;"> Abrçs,</span></p>
<p><span style="font-size: 12pt;"> Elcids</span></p> Elcids, bom dia!
Obrigado pel…tag:labdegaragem.com,2020-04-25:6223006:Comment:7309342020-04-25T12:23:09.852ZJose Augusto Cintrahttps://labdegaragem.com/profile/JoseAugustoCintra
<p>Elcids, bom dia!</p>
<p>Obrigado pela aula. Agradeço muito mesmo!</p>
<p></p>
<p>Elcids, bom dia!</p>
<p>Obrigado pela aula. Agradeço muito mesmo!</p>
<p></p> olá Cintra.
A Interfac…tag:labdegaragem.com,2020-04-24:6223006:Comment:7307922020-04-24T22:08:21.906ZElcids Chagashttps://labdegaragem.com/profile/ElcidsChagas
<p><span style="font-size: 12pt;">olá Cintra.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> A <em><strong>Interface SPI</strong></em> disponível via <em><strong>pinos</strong></em> "<strong>11</strong>", "<strong>12</strong>", e "<strong>13</strong>", é uma <em><strong>Interface</strong></em> por <em><strong>Hardware</strong></em> do <em><strong>Processador AVR ATMega328</strong></em> do <em><strong>Arduino UNO</strong></em>. Isto significa que quando vc utiliza esta…</span></p>
<p><span style="font-size: 12pt;">olá Cintra.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> A <em><strong>Interface SPI</strong></em> disponível via <em><strong>pinos</strong></em> "<strong>11</strong>", "<strong>12</strong>", e "<strong>13</strong>", é uma <em><strong>Interface</strong></em> por <em><strong>Hardware</strong></em> do <em><strong>Processador AVR ATMega328</strong></em> do <em><strong>Arduino UNO</strong></em>. Isto significa que quando vc utiliza esta <em><strong>SPI</strong></em>, dentro do <em><strong>Processador</strong></em> estes respectivos pinos <span style="text-decoration: underline;"><em>são controlados</em></span> pelos circuitos desta <em><strong>Interface</strong></em>, e portanto os <em><strong>sinais lógicos</strong></em> que aparecem nos <em><strong>pinos externos</strong></em>, são os sinais do <em><strong>Hardware SPI</strong></em>. Em outras palavras: enquanto o <em><strong>SPI</strong></em> está "habilitado", se no seu sketch vc setar um daqueles sinais com "<em><strong>HIGH</strong></em>" ou "<em><strong>LOW</strong></em>" via "<em><strong>digitalWrite</strong></em>", o nível lógico não chegará ao pino, uma vez que este está sendo controlado pelo Hardware SPI. Vc pode ver isto claramente através do <em><strong>Diagrama Lógico</strong></em> para um <em><strong>pino</strong></em> de <em><strong>I/O</strong></em> do <em><strong>Processador</strong></em>, conforme mostro na figura a seguir:</span></p>
<p style="text-align: center;"><span style="font-size: 10pt;"><strong><em>(clique na figura para "zoom")</em></strong></span></p>
<p><span style="font-size: 12pt;"><a href="https://storage.ning.com/topology/rest/1.0/file/get/4506862286?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/4506862286?profile=RESIZE_710x" class="align-center" width="682" height="809"/></a></span></p>
<p></p>
<p><span style="font-size: 12pt;"> A figura anterior é do datasheet do <em><strong>Processador AVR</strong></em>. Nela marquei na cor "rosa claro", os sinais que selecionam entre um <em><strong>I/O convencional</strong></em> (que pode ser "setado" via "<span><em><strong>digitalWrite</strong></em>" e lido via "<em><strong>digitalRead</strong></em>") e uma <em><strong>Função Alternativa</strong></em> para o pino (esta função pode ser por exemplo o <strong><em>SPI</em></strong>). Os sinais da <em><strong>Função Alternativa</strong></em>, estão marcados na cor "laranja claro", e veja que nem todos estes sinais "chegam" aos pinos físicos do Processador, pois alguns são usados para determinar se na Função Alternativa o pino será uma entrada ou uma saída, ou mesmo se o <em><strong>Resistor</strong></em> de <em><strong>Pullup interno</strong></em> (o "<strong>RPU</strong>") será ativado. Caso tenha alguma curiosidade sobre algum sinal em específico mostrado na figura, fique à vontade para perguntar.</span></span></p>
<p><span style="font-size: 12pt;"> Uma informação adicional: na figura anterior, a região que marquei em azul mais escuro, é a que é controlada pelo "<em><strong>digitalWrite</strong></em>", e a região que marquei em verde claro é a que é acessada pelo "<em><strong>digitalRead</strong></em>" (e neste caso específico, essa região <span>também </span>pode ser acessada por uma Função Alternativa).</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Uma vez esclarecido esta questão das <em>Funções Alternativas</em> em relação aos pinos do Processador, respondendo suas questões, de forma enumerada:</span></p>
<p></p>
<p><span style="font-size: 12pt;"> <span style="font-size: 14pt;"><em><strong>1)</strong></em></span> como o <em><strong>RV</strong></em> já disse, vc não pode usar os pinos do SPI para I/O convencional. E o motivo disso é exatamente o que mostrei no texto anterior: quando vc habilita o uso do SPI, os pinos correspondentes <strong><span style="text-decoration: underline;"><em>não</em></span> </strong> estão conectados aos Ports de I/O, e sim ao Hardware do SPI dentro do Processador.</span></p>
<p><span style="font-size: 12pt;"> E se a <em><strong>Interface SPI</strong></em> estiver habilitada, então os pinos correspondentes terão uma <em><strong>temporização específica</strong></em> para esta Interface, conforme vc pode ver na figura a seguir:</span></p>
<p style="text-align: center;"><span style="font-size: 10pt;"><strong><em>(clique na figura para "zoom")</em></strong></span></p>
<p><span style="font-size: 12pt;"><a href="https://storage.ning.com/topology/rest/1.0/file/get/4506867615?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/4506867615?profile=RESIZE_710x" class="align-center" width="600" height="696"/></a></span></p>
<p></p>
<p><span style="font-size: 12pt;"> Note que marquei com cores, os sinais correspondentes ao <em><strong>SPI</strong></em>, e estas cores irão coincidir com as que usei na próxima figura logo adiante, para os mesmos sinais. Mas aqui o importante é perceber que devido às características específicas desta temporização, é praticamente inviável tentar usar estes sinais para outras funções, mesmo com "gambiarras" de Hardware e Firmware (até é possível, mas não é nada prático).</span></p>
<p></p>
<p><span style="font-size: 12pt;"> <span style="font-size: 14pt;"><strong><em>2)</em></strong></span> "espelhamento" não é o termo técnico adequado. Em Hardware, o termo técnico "espelhamento" se refere quando um <em><strong>Sinal</strong> <span style="text-decoration: underline;">sempre</span> </em>acompanha o <em><strong>Estado Lógico</strong></em> de outro sinal, mas estes sinais <strong><span style="text-decoration: underline;"><em>não</em></span></strong> estão fisicamente conectados. Ou seja, apenas um é a cópia lógica do outro, e os sinais são "drivados" cada um por seu circuito específico.</span></p>
<p><span style="font-size: 12pt;"> No caso a que vc se refere sobre os sinais correspondentes ao <em><strong>SPI</strong></em>, que seriam os <em><strong>pinos</strong></em> "<strong>11</strong>", "<strong>12</strong>", e "<strong>13</strong>", seja no conector "<em><strong>ICSP</strong></em>" (ou "<em><strong>In Circuit System Programming</strong></em>"), seja no conector de I/O do <em><strong>Arduino</strong></em>, os sinais <span style="text-decoration: underline;"><em>são exatamente os mesmos</em></span>, ou seja, os três sinais estão em ambos os conectores (e portanto não são "espelhamentos"). E estes sinais são originados nos pinos do Processador. Vc pode ver isso na figura a seguir, onde marquei a conexão destes três sinais na cor "rosa claro":</span></p>
<p style="text-align: center;"><span style="font-size: 10pt;"><strong><em>(clique na figura para "zoom")</em></strong></span></p>
<p><span style="font-size: 12pt;"><a href="https://storage.ning.com/topology/rest/1.0/file/get/4506873344?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/4506873344?profile=RESIZE_710x" class="align-center" width="898" height="565"/></a></span></p>
<p></p>
<p><span style="font-size: 12pt;"> Na figura anterior, o <em><strong>conector</strong> </em>"<em><strong>ICSP</strong></em>" para o <em><strong>Processador</strong> <strong>ATMega328</strong> </em>está marcado na cor amarela. Este conector é usado para programar o Processador, semelhante a quando vc programa o mesmo através da <em><strong>IDE</strong></em> do <em><strong>Arduino</strong></em>. Porém a IDE do Arduino usa uma "<em><strong>Ponte USB para Serial</strong></em>" para enviar os códigos ao Processador "principal", e neste caso é o próprio Processador que se "auto-programa" com o código enviado. Já no caso do uso do "<em><strong>ICSP</strong></em>", os sinais para programação são praticamente idênticos aos do SPI, e por isso os sinais físicos desta Interface são usados nesta função de programação. Porém neste caso, não é exatamente o Processador quem faz a programação, pois quando o "ICSP" é usado, um Hardware "escondido" no Processador é "ativado". Este Hardware é uma <em><strong>Máquina de Estados</strong></em>, e ela é cadenciada pelos sinais do "<em><strong>ICSP</strong></em>", usando um Protocolo específico (este Protocolo está descrito em documentos publicados pelo Fabricante do Processador).</span></p>
<p><span style="font-size: 12pt;"> Então veja que, a função do "<em><strong>ICSP</strong></em>" não tem relação com a <em><strong>Função SPI</strong></em> usada nos sketchs. E apesar de ambas usarem os mesmos sinais, em 99,99% dos casos isso não é um problema, pois o "<em><strong>ICSP</strong></em>" é geralmente usado ou na <em><strong>Programação em Fábrica</strong></em> de um <em><strong>Produto comercial</strong></em>, ou na <em><strong>programação em campo</strong></em> deste produto, e neste caso o Fabricante do produto evita usar a <em><strong>SPI</strong></em> no produto final (e se ele resolver usar, então terá que tomar alguns cuidados). Já no caso do <em><strong>Arduino</strong></em>, em 99,99% dos casos, a programação é feira através da "<em><strong>Ponte USB para Serial</strong></em>", que é totalmente separada do "<em><strong>ISCP</strong></em>", e nenhum conflito ocorre.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> <span style="font-size: 14pt;"><strong><em>3)</em></strong></span> e o "outro" <em><strong>conector</strong></em> "<em><strong>ICSP</strong></em>" na placa no <em><strong>UNO</strong></em> (aquele conector próximo ao conector USB), é para a programação via "ICSP" do Processador que implementa a "<em><strong>Ponte USB para Serial</strong></em>", sendo este Processador geralmente o <em><strong>ATMega16u2</strong> </em>conforme vc pode ver no diagrama elétrico mostrado na figura anterior. O "<em><strong>ICSP</strong></em>" desse outro Processador está na cor laranja na figura anterior. O código que "roda" neste processador, é o que gerencia a "<em><strong>Ponte USB para Serial</strong></em>", ou seja, que envia ao Processador "principal" o código que vc compila na IDE do Arduino. Logo geralmente não "mexemos" com este Processador. Mas o "<em><strong>ICSP</strong></em>" dele está ali, caso por algum motivo seja necessário regravar o código que gerencia a "<em><strong>Ponte USB para Serial</strong></em>",</span></p>
<p><span style="font-size: 12pt;"> Então, de forma convencional, não há como vc usar os sinais deste outro "<em><strong>ISCP</strong></em>", uma vez que ele não está conectado aos sinais do Processador "principal".</span></p>
<p><span style="font-size: 12pt;"> Além disso, a maioria esmagadora das placas <em><strong>UNO</strong></em> (e de outros Arduinos também), atualmente está usando Circuitos Integrados que são uma implementação em Hardware da "<em><strong>Ponte USB para Serial</strong></em>", o que significa que vc não encontrará um conector "<em><strong>ICSP</strong></em>" correspondente (ou seja, nestas placas só há o "<em><strong>ICSP</strong></em>" para o Processador "principal").</span></p>
<p></p>
<p></p>
<p><span style="font-size: 12pt;"> Uma curiosidade: o <em><strong>sinal</strong> </em>"<strong>SS</strong>" (o <em><strong>pino</strong></em> "<strong>10</strong>" no <strong>UNO</strong>), de fato pertence à <em><strong>Interface SPI</strong></em>. Porém só é utilizado quando se usa o <em><strong>SPI</strong> </em>com diversos Processadores e mais de um desses pode ser um "<em><strong>Master SPI</strong></em>". Em todos os outros casos, o <em><strong>sinal</strong></em> "<strong>SS</strong>" está livre para ser um I/O convencional e nenhum "setting" especial é necessário para isto. Note também que para o <em><strong>nRF24L01</strong></em>, vc pode especificar quem será o pino "<em><strong>CSN</strong></em>", e <span style="text-decoration: underline;"><em>não precisa</em></span> ser o "<strong>SS</strong>" do <em><strong>Arduino</strong></em>.</span></p>
<p></p>
<p></p>
<p><span style="font-size: 12pt;"> Uma dica final: caso precise de mais <em><strong>I/Os</strong></em> no <em><strong>UNO</strong></em>, aconselho usar um <em><strong>Expansor I2C</strong></em>, devido à praticidade de fazer isto com esta Interface. Um expansor muito popular e muito bom, é aquele que é usado também para acessar os Displays LCDs convencionais através do <em><strong>I2C</strong></em>, e que pode ser usado para expandir <em><strong>I/Os</strong></em> sem ser necessária qualquer modificação, como mostrado na figura a seguir:</span></p>
<p style="text-align: center;"><span style="font-size: 10pt;"><strong><em>(clique na figura para "zoom")</em></strong></span></p>
<p></p>
<p><a href="https://storage.ning.com/topology/rest/1.0/file/get/4506893676?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/4506893676?profile=RESIZE_710x" width="664" height="311" class="align-center"/></a></p>
<p></p>
<p><span style="font-size: 12pt;"> Este <em><strong>Expansor I2C</strong></em> da figura anterior, usa o CI "<em><strong>PCF8574</strong></em>" ou o "<em><strong>PCF8574A</strong></em>" (a diferença entre eles é apenas o "<strong><em>endereço base</em></strong>" <em><strong>I2C</strong></em>). Cada expansor desses, acrescenta <em><strong>8 pinos</strong></em> de <em><strong>I/O</strong></em> ao <em><strong>Arduino</strong></em>, e vc pode usar até 16 desses expansores simultaneamente (caso use ambos 8574 e 8574A), possibilitando até <em><strong>128 pinos</strong></em> de <em><strong>I/O</strong></em> (e se usar apenas o 8574 <strong><em><span style="text-decoration: underline;">ou</span></em></strong> o 8574A, então até 64 pinos são possíveis usando 8 expansores simultaneamente). E cada pino de I/O do expansor é independente, e pode ser programado para ser <em><strong>entrada</strong></em> ou <em><strong>saída digital</strong></em>. E melhor: há Bibliotecas disponíveis para facilitar a programação e o acesso a estes pinos do expansor. E c</span><span style="font-size: 12pt;">laro: ao usar estes expansores, atente para o consumo de energia, já que está acrescentando Hardware.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Espero ter ajudado a esclarecer as dúvidas.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Abrçs</span></p>
<p><span style="font-size: 12pt;"> Elcids</span></p> Valeu Rui.
Então se usar o os…tag:labdegaragem.com,2020-04-24:6223006:Comment:7307872020-04-24T19:28:47.961ZJose Augusto Cintrahttps://labdegaragem.com/profile/JoseAugustoCintra
<p>Valeu Rui.</p>
<p>Então se usar o os pinos do ICSP para SPI não posso usar os pinos digitais do 11 ao 13.</p>
<p>Beleza, era isso que eu estava em dúvida.</p>
<p>Quanto ao ICSP perto do pino 13 descobri que ele faz conexão com aquele chip do Arduino responsável pela USB.</p>
<p>Então nem adianta usar ele que não vai funcionar com o NRF24.</p>
<p>Como você disse, só existe um interface nativa SPI para o UNO.</p>
<p></p>
<p>Outra coisa que descobri é que no Arduino Nano isso é diferente. A…</p>
<p>Valeu Rui.</p>
<p>Então se usar o os pinos do ICSP para SPI não posso usar os pinos digitais do 11 ao 13.</p>
<p>Beleza, era isso que eu estava em dúvida.</p>
<p>Quanto ao ICSP perto do pino 13 descobri que ele faz conexão com aquele chip do Arduino responsável pela USB.</p>
<p>Então nem adianta usar ele que não vai funcionar com o NRF24.</p>
<p>Como você disse, só existe um interface nativa SPI para o UNO.</p>
<p></p>
<p>Outra coisa que descobri é que no Arduino Nano isso é diferente. A ICSP não espelha os pinos digitais. Então dá para usar o SPI sem ocupar os pinos digitais</p>
<p></p>
<p>Obrigado pela ajuda!</p>
<p></p> Oi JAC, tudo bem por aqui, e…tag:labdegaragem.com,2020-04-24:6223006:Comment:7308652020-04-24T18:54:38.025Zmineirin RVhttps://labdegaragem.com/profile/RuiViana
<p>Oi JAC, tudo bem por aqui, e com você?</p>
<p>Os pinos 11(MOSI), 12(MISO) e 13(SCK) do arduino Uno estão literalmente ligados aos pinos,</p>
<p>4 , 3 e 1 respectivamente do conector ICSP.</p>
<p>Vi pela sia foto que o seu arduino tem um conector a mais na placa,</p>
<p>(aquele que você marcou em vermelho).</p>
<p>Não sei se ele é ligado diretamente como o ISCP, mas acredito que sim, pois o arduino UNO</p>
<p>só tem um SPI nativo.</p>
<p>Quanto a sua dúvida, a resposta é não.,</p>
<p>Você não…</p>
<p>Oi JAC, tudo bem por aqui, e com você?</p>
<p>Os pinos 11(MOSI), 12(MISO) e 13(SCK) do arduino Uno estão literalmente ligados aos pinos,</p>
<p>4 , 3 e 1 respectivamente do conector ICSP.</p>
<p>Vi pela sia foto que o seu arduino tem um conector a mais na placa,</p>
<p>(aquele que você marcou em vermelho).</p>
<p>Não sei se ele é ligado diretamente como o ISCP, mas acredito que sim, pois o arduino UNO</p>
<p>só tem um SPI nativo.</p>
<p>Quanto a sua dúvida, a resposta é não.,</p>
<p>Você não pode usar os pinos do SPI enquanto os usa para SPI, sob o risco de bagunçar</p>
<p>a comunicação do atmega com o dispositivo SPI.</p>
<p>RV</p>
<p><a href="https://storage.ning.com/topology/rest/1.0/file/get/4505800206?profile=original" target="_blank" rel="noopener">Arduino_Uno_Rev3-schematic.pdf</a></p>
<p></p>
<p>PS:</p>
<p>Por este link aqui paraece que este6 pinos perto do pino 13 também estão interligados </p>
<p>com os pinos do SPI (ISCP).</p>
<p><a href="https://br-arduino.org/2015/05/arduino-icsp-attiny-atmega.html">https://br-arduino.org/2015/05/arduino-icsp-attiny-atmega.html</a></p>
<p></p>