<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pi Pico Archives - Esperimenti con logiche programmabili</title>
	<atom:link href="https://logicaprogrammabile.it/tag/pi-pico/feed/" rel="self" type="application/rss+xml" />
	<link>https://logicaprogrammabile.it/tag/pi-pico/</link>
	<description>Tutorial in italiano per imparare a programmare usando Arduino, Raspberry PI, Netduino</description>
	<lastBuildDate>Sun, 14 Feb 2021 15:04:01 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>

<image>
	<url>https://logicaprogrammabile.it/wp-content/uploads/2017/11/cropped-logicaprogrammabile-logo-02-32x32.png</url>
	<title>Pi Pico Archives - Esperimenti con logiche programmabili</title>
	<link>https://logicaprogrammabile.it/tag/pi-pico/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Come usare pin IO digitali della Pico</title>
		<link>https://logicaprogrammabile.it/come-usare-pin-gpio-digitali-raspberry-pico/</link>
					<comments>https://logicaprogrammabile.it/come-usare-pin-gpio-digitali-raspberry-pico/#respond</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Mon, 15 Feb 2021 07:00:43 +0000</pubDate>
				<category><![CDATA[Tutorial Raspberry PI]]></category>
		<category><![CDATA[GPIO]]></category>
		<category><![CDATA[Pi Pico]]></category>
		<category><![CDATA[Speed Test]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=6562</guid>

					<description><![CDATA[<p>Gestire linee IO della Pico La Pi Pico possiede 26 linee GPIO. Per poterle utilizzarle dobbiamo definirle come linee di ingresso o come linee di uscita, come avviene con Arduino con l&#8217;istruzione pinMode(). Realizziamo un semplice circuito come il seguente: In questo caso le istruzioni...</p>
<p>The post <a href="https://logicaprogrammabile.it/come-usare-pin-gpio-digitali-raspberry-pico/">Come usare pin IO digitali della Pico</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p></p>
<h1>Gestire linee IO della Pico</h1>
<p>La Pi Pico possiede 26 linee GPIO. Per poterle utilizzarle dobbiamo definirle come linee di ingresso o come linee di uscita, come avviene con Arduino con l&#8217;istruzione pinMode().</p>
<figure id="attachment_6577" aria-describedby="caption-attachment-6577" style="width: 592px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" class="wp-image-6577 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/02/pipo_pinout.jpg" alt="pico pinout" width="592" height="599" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/02/pipo_pinout.jpg 592w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/pipo_pinout-296x300.jpg 296w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/pipo_pinout-148x150.jpg 148w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/pipo_pinout-80x80.jpg 80w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/pipo_pinout-585x592.jpg 585w" sizes="(max-width: 592px) 100vw, 592px" /><figcaption id="caption-attachment-6577" class="wp-caption-text">pinout della raspberry pi pico</figcaption></figure>
<p>Realizziamo un semplice circuito come il seguente:</p>
<figure id="attachment_6579" aria-describedby="caption-attachment-6579" style="width: 395px" class="wp-caption aligncenter"><img decoding="async" class="wp-image-6579 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/02/blink_test_led.jpg" alt="led test gpio" width="395" height="415" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/02/blink_test_led.jpg 395w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/blink_test_led-286x300.jpg 286w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/blink_test_led-143x150.jpg 143w" sizes="(max-width: 395px) 100vw, 395px" /><figcaption id="caption-attachment-6579" class="wp-caption-text">led collegato al GPIO 15 (pin 20 della scheda)</figcaption></figure>
<p><span id="more-6562"></span></p>
<p>In questo caso le istruzioni da utilizzare fanno parte del modulo machine, quindi la prima istruzione da usare e l&#8217;importazione del modulo:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">import machine</pre>
<p>per definire un pin come uscita digitale utilizzeremo questa istruzione:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">led = machine.Pin(15, machine.Pin.OUT)</pre>
<p>L&#8217;oggetto led possiede il metodo value che permette di portare a livello alto o basso lo stato del pin:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">led.value(1) # mette alto il pin 15
led.value(0) # mette basso il pin 15</pre>
<p>Il classico blink del led si esegue con il seguente codice:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">import machine
import utime

#definisco il pin gpio 15 come uscita
led = machine.Pin(15, machine.Pin.OUT)

while(1):
    led.value(1) # uscita a livello logico alto
    utime.sleep(1) # pausa di 1 secondo
    led.value(0) # uscita a livello logico basso
    utime.sleep(1) # pausa di 1 secondo
    
</pre>
<h2>GPIO Speed Test</h2>
<p>Dal codice precedente, eliminando l&#8217;istruzione sleep() possiamo misurare la velocita massima di commutazione del pin</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">import machine
import utime

#definisco il pin gpio 15 come uscita
led = machine.Pin(15, machine.Pin.OUT)

while(1):
    led.toggle() # mette l'uscita alta e poi bassa </pre>
<p>ottenendo una frequenza di commutazione di circa 60,5 KHz ma che presenta una continua variazione del livello alto dell&#8217;onda di circa  +- 1.3uS</p>
<p><img decoding="async" class="aligncenter size-full wp-image-6581" src="https://logicaprogrammabile.it/wp-content/uploads/2021/02/flutuazione.jpg" alt="flutuazione" width="416" height="451" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/02/flutuazione.jpg 416w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/flutuazione-277x300.jpg 277w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/flutuazione-138x150.jpg 138w" sizes="(max-width: 416px) 100vw, 416px" /></p>
<p>Questo fenomeno e tipico in tutti i microcontrollori che eseguono codice interpretato, queste latenze sono intrinseche e tipicamente tollerate in questi sistemi. Per avere tempistiche certe nell&#8217;esecuzione dei programmi dobbiamo usare codici compilati e ottimizzati per l&#8217;architettura del microcontrollore.</p>
<h2>Configurare un ingresso digitale</h2>
<figure id="attachment_6582" aria-describedby="caption-attachment-6582" style="width: 440px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6582 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/02/test_button.jpg" alt="button pin in" width="440" height="498" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/02/test_button.jpg 440w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/test_button-265x300.jpg 265w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/test_button-133x150.jpg 133w" sizes="auto, (max-width: 440px) 100vw, 440px" /><figcaption id="caption-attachment-6582" class="wp-caption-text">pulsante sul pin 16 con resistenza di pull-up</figcaption></figure>
<p>allo stesso modo delle istruzioni viste in precedenza possiamo definire un pin in ingresso con il seguente codice:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">import machine
import utime

#definisco il pin gpio 15 come uscita
led = machine.Pin(15, machine.Pin.OUT)
#definisco il pin gpio 16 come ingresso
pulsante = machine.Pin(16, machine.Pin.IN)

while(1):
    if pulsante.value() == 0:
        print("pulsante premuto!")

        utime.sleep(0.2)
    <br />    # continuo a commutare il pin 15<br />    #la frequenza ora è di circa 26KHz
    led.toggle()

</pre>
<h2>Utilizzare un thread</h2>
<p>Lo svantaggio di avere delle latenze dovute alla presenza dell&#8217;interprete MicroPython può essere in parte compensato da un linguaggio ad alto livello che permette di scrivere il codice con un approccio moderno come quello dell&#8217;uso dei Thread.</p>
<p>Un thread è un processo che può essere eseguito in contemporanea (o quasi) con l&#8217;esecuzione di altro codice. Nell&#8217;esempio seguente il codice del thread controllerà quando premiamo il pulsante. Mentre il resto del programma continuerà a eseguirà le altre istruzioni.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">import machine
import utime
import _thread

#creo una variabile globale che verrà usata in tutte le funzioni
global stato_pulsante
stato_pulsante = False

#definisco il pin gpio 15 come uscita
led = machine.Pin(15, machine.Pin.OUT)
#definisco il pin gpio 16 come ingresso
pulsante = machine.Pin(16, machine.Pin.IN)
<br />#creo una funzione che verrà gestita dal thread
def leggi_stato_pulsante():
    global stato_pulsante
    while True:<br />        # se premo il pulsante cambio il valore della <br />        # variabile globale
        if pulsante.value() == 0:
            stato_pulsante = True
            utime.sleep(0.2)
<br />#creo un thread e lo associo alla funzione precedentemente creata
_thread.start_new_thread(leggi_stato_pulsante, ())
<br />#questo è il codice del thread principale
while True:<br />    #controllo il valore della variabile globale
    if (stato_pulsante == True):
        print("pulsante premuto!")
        #reimposto la variabile globale a False
        global stato_pulsante
        stato_pulsante = False
    <br />    #continuo a eseguire la commutazione del pin 15
    led.toggle()</pre>
<p>L&#8217;effetto di questo codice è uguale al precedente ma la scrittura del codice rimane qualitativamente migliore.</p>
<p>&nbsp;</p><p>The post <a href="https://logicaprogrammabile.it/come-usare-pin-gpio-digitali-raspberry-pico/">Come usare pin IO digitali della Pico</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/come-usare-pin-gpio-digitali-raspberry-pico/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Caricare un programma MicroPython sulla Pi Pico</title>
		<link>https://logicaprogrammabile.it/caricare-programma-micropython-raspberry-pico/</link>
					<comments>https://logicaprogrammabile.it/caricare-programma-micropython-raspberry-pico/#respond</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Mon, 08 Feb 2021 07:00:42 +0000</pubDate>
				<category><![CDATA[Tutorial Python]]></category>
		<category><![CDATA[Tutorial Raspberry PI]]></category>
		<category><![CDATA[Pi Pico]]></category>
		<category><![CDATA[raspberry]]></category>
		<category><![CDATA[Sensore Temperatura]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=6563</guid>

					<description><![CDATA[<p>Come programmare la Pi Pico con MicroPython Nello scorso articolo abbiamo visto come configurare la Raspberry Pi Pico per poter essere programmata utilizzando il linguaggio MicroPython. In particolare abbiamo installato e configurato Thonny e caricato l&#8217;interprete MicroPython sulla scheda Pico. In questo articolo vediamo come...</p>
<p>The post <a href="https://logicaprogrammabile.it/caricare-programma-micropython-raspberry-pico/">Caricare un programma MicroPython sulla Pi Pico</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Come programmare la Pi Pico con MicroPython</h1>
<p>Nello <a href="https://logicaprogrammabile.it/programmare-configurare-raspberry-pi-pico-micropython/">scorso articolo abbiamo visto</a> come configurare la Raspberry Pi Pico per poter essere programmata utilizzando il linguaggio <strong>MicroPython</strong>. In particolare abbiamo installato e configurato <strong>Thonny</strong> e caricato l&#8217;interprete <strong>MicroPython</strong> sulla scheda <strong>Pico</strong>.</p>
<p>In questo articolo vediamo come scrivere il nostro primo programma <strong>MicroPython</strong> e come caricarlo sulla Pico.</p>
<p>Colleghiamo la Pi Pico alla porta usb del computer e lanciamo l&#8217;ide <strong>Thonny</strong>. Dopo qualche istante sulla finestra shell dovremmo vedere la finestra interattiva di <strong>Python (REPL)</strong>:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6566" src="https://logicaprogrammabile.it/wp-content/uploads/2021/02/repl.jpg" alt="" width="650" height="569" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/02/repl.jpg 650w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/repl-300x263.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/repl-150x131.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/repl-585x512.jpg 585w" sizes="auto, (max-width: 650px) 100vw, 650px" /></p>
<p>Utilizzando la finestra <strong>Shell</strong> è possibile eseguire direttamente dei semplici comandi. In questo modo è possibile testare delle funzioni o piccole parti di codice in modo molto veloce.</p>
<p><span id="more-6563"></span></p>
<p>Ad esempio digitiamo sulla <strong>Shell</strong> il seguente codice e premiamo invio</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">print("Ciao Mondo!! Questa è la mia prima istruzione in MicroPython")</pre>
<p>otterremo la risposta della <strong>Pico</strong>:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6567" src="https://logicaprogrammabile.it/wp-content/uploads/2021/02/repl_print.jpg" alt="" width="700" height="195" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/02/repl_print.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/repl_print-300x84.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/repl_print-150x42.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/repl_print-585x163.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>niente di entusiasmante! Ma comunque un semplice test per verificare che la scheda stia eseguendo il codice Python.</p>
<h2>Scrivere un semplice programma</h2>
<p>Nell&#8217;editor dei Thonny andiamo a scrivere delle istruzioni un po più utili. Sappiamo che il chip RP2040 è dotato di un sensore di temperature collegato all&#8217;ingresso analogico ADC4, quindi con il codice seguente andiamo a prelevare la tensione sulla linea ADC4 per poi convertirla in un valore espresso in gradi centigradi:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">import machine
import utime

sensor_temp = machine.ADC(4)
conversion_factor = 3.3 / (65535)

while True:
    reading = sensor_temp.read_u16() * conversion_factor
    temperature = 27 - (reading - 0.706)/0.001721
        
    print(temperature)
    
    utime.sleep(2)</pre>
<p>Il codice è stato copiato dal libro <a href="https://hackspace.raspberrypi.org/books/micropython-pico">Get started with MicroPython</a>.</p>
<p>Premiamo il pulsante<strong> Esegui lo script corrente (F5)</strong> per eseguire il programma. <strong>Thonny</strong> ci chiede dove vogliamo salvare il programma, salviamo sulla <strong>Raspberry Pi Pico</strong>:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6570" src="https://logicaprogrammabile.it/wp-content/uploads/2021/02/run_program.jpg" alt="" width="700" height="613" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/02/run_program.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/run_program-300x263.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/run_program-150x131.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/run_program-585x512.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Diamo un nome al nostro programma e premiamo sul pulsante <strong>OK</strong>:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6571" src="https://logicaprogrammabile.it/wp-content/uploads/2021/02/temp.jpg" alt="" width="700" height="613" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/02/temp.jpg 700w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/temp-300x263.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/temp-150x131.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/02/temp-585x512.jpg 585w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>Non appena premiamo il pulsante <strong>OK</strong> la <strong>Raspberry Pi Pico</strong> inizierà ad eseguire il programma. Sulla finestra <strong>Shell</strong> potremmo osservare il valore della temperatura rilevata dal microprocessore.</p>
<p>&nbsp;</p>
<p>The post <a href="https://logicaprogrammabile.it/caricare-programma-micropython-raspberry-pico/">Caricare un programma MicroPython sulla Pi Pico</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/caricare-programma-micropython-raspberry-pico/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Programmare la Raspberry Pi Pico con MicroPython</title>
		<link>https://logicaprogrammabile.it/programmare-configurare-raspberry-pi-pico-micropython/</link>
					<comments>https://logicaprogrammabile.it/programmare-configurare-raspberry-pi-pico-micropython/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Mon, 01 Feb 2021 07:00:55 +0000</pubDate>
				<category><![CDATA[Tutorial Raspberry PI]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[Pi Pico]]></category>
		<category><![CDATA[raspberry]]></category>
		<category><![CDATA[thonny]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=6522</guid>

					<description><![CDATA[<p>Configurare e programmare la Pi Pico Dopo l&#8217;annuncio della produzione della Raspberry Pi Pico ho acquistato alcuni moduli per poterli testare e capire se questo nuovo microcontrollore potrà ritagliarsi una fetta importante nel mondo dei makers. A prima vista sono rimasto molto contento del form...</p>
<p>The post <a href="https://logicaprogrammabile.it/programmare-configurare-raspberry-pi-pico-micropython/">Programmare la Raspberry Pi Pico con MicroPython</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Configurare e programmare la Pi Pico</h2>
<p>Dopo l&#8217;annuncio della produzione della <strong>Raspberry Pi Pico</strong> ho acquistato alcuni moduli per poterli testare e capire se questo nuovo microcontrollore potrà ritagliarsi una fetta importante nel mondo dei makers.</p>
<p>A prima vista sono rimasto molto contento del form factor della <strong>PI Pico</strong> data la flessibilità di poterlo inserire in un proprio custom pcb,  della mancanza del power led (non capisco perchè nelle schede <strong>Arduino MKR</strong> sia presente questo led che non può essere disabilitato a meno che non si proceda a dissaldarlo!) utile nei progetti a basso consumo. Inoltre un pin del microcontrollore (GPIO23) va a gestire il Power Saving del convertitore DC/DC.</p>
<p>Il led sulla scheda è furbamente collegato ad un pin del microcontrollore, dando la possibilità al programmatore di tenerlo acceso o meno. Non è presente un pulsante di reset integrato certamente escluso per tenere basso il costo del prodotto (per resettare la scheda è sufficiente collegare un pulsante esterno).</p>
<p>Un altro punto di forza della Pi Pico è la possibilità di essere programmata con due linguaggi, <strong>Python (MicroPython)</strong> o <strong>C/C++</strong>.</p>
<p>Con <strong>MicroPython</strong> abbiamo una curva di apprendimento rapida, subito pronti a programmare la PI Pico con ambienti di sviluppo semplici come <strong>Thonny</strong> (disponibile per diversi sistemi operativi e preinstallato su Raspberry OS).</p>
<p>Con <strong>C/C++</strong> e con un completo <strong>SDK</strong>, possiamo spingerci a sviluppare programmi con performance elevate, di sfruttare tutta la potenza del microcontrollore <strong>RP2040</strong> e di avere ambienti più sviluppo professionali come <strong>Visual Studio Code</strong> o <strong>Eclipse</strong>.</p>
<h2>Utilizzare Thonny su Windows 10</h2>
<p><strong>Thonny</strong> è un ambiente di sviluppo integrato per principianti, preinstallato su <strong>Raspberry OS</strong> e disponibile anche per <strong>Windows</strong>, <strong>Mac</strong> e <strong>Linux</strong>. Dal sito <a href="https://thonny.org/">thonny.org</a> procediamo al download del software (versione 3.3.3 al momento in cui scrivo), versione per Windows. Terminato il download avviamo l&#8217;installazione lanciando l&#8217;eseguibile thonny-3.3.3.exe. Seguiamo le semplici istruzioni della procedura guidata:</p>
<p><figure id="attachment_6527" aria-describedby="caption-attachment-6527" style="width: 499px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6527 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-20.png" alt="Installazione di Thonny" width="499" height="392" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-20.png 499w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-20-300x236.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-20-150x118.png 150w" sizes="auto, (max-width: 499px) 100vw, 499px" /><figcaption id="caption-attachment-6527" class="wp-caption-text">Schermata di benvenuto &#8211; Installazione di Thonny IDE</figcaption></figure></p>
<p>&nbsp;</p>
<p><figure id="attachment_6528" aria-describedby="caption-attachment-6528" style="width: 498px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6528 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-21.png" alt="contratto thonny" width="498" height="390" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-21.png 498w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-21-300x235.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-21-150x117.png 150w" sizes="auto, (max-width: 498px) 100vw, 498px" /><figcaption id="caption-attachment-6528" class="wp-caption-text">Contratto di licenza</figcaption></figure></p>
<p>&nbsp;</p>
<p><figure id="attachment_6529" aria-describedby="caption-attachment-6529" style="width: 499px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6529 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-22.png" alt="Percorso installazione di thonny" width="499" height="391" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-22.png 499w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-22-300x235.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-22-150x118.png 150w" sizes="auto, (max-width: 499px) 100vw, 499px" /><figcaption id="caption-attachment-6529" class="wp-caption-text">Scelta del percorso di installazione</figcaption></figure></p>
<p>&nbsp;</p>
<p><figure id="attachment_6530" aria-describedby="caption-attachment-6530" style="width: 497px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6530 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-23.png" alt="creazione icona desktop" width="497" height="390" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-23.png 497w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-23-300x235.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-23-150x118.png 150w" sizes="auto, (max-width: 497px) 100vw, 497px" /><figcaption id="caption-attachment-6530" class="wp-caption-text">Creazione icona desktop di Thonny</figcaption></figure></p>
<p>&nbsp;</p>
<p><figure id="attachment_6531" aria-describedby="caption-attachment-6531" style="width: 498px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6531 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-25.png" alt="riepilogo installazione thonny" width="498" height="390" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-25.png 498w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-25-300x235.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-25-150x117.png 150w" sizes="auto, (max-width: 498px) 100vw, 498px" /><figcaption id="caption-attachment-6531" class="wp-caption-text">Riepilogo installazione di Thonny</figcaption></figure></p>
<p>&nbsp;</p>
<p><figure id="attachment_6532" aria-describedby="caption-attachment-6532" style="width: 497px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6532 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-26.png" alt="installazione" width="497" height="389" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-26.png 497w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-26-300x235.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-26-150x117.png 150w" sizes="auto, (max-width: 497px) 100vw, 497px" /><figcaption id="caption-attachment-6532" class="wp-caption-text">Installazione del programma Thonny</figcaption></figure></p>
<p>&nbsp;</p>
<p><figure id="attachment_6533" aria-describedby="caption-attachment-6533" style="width: 498px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6533 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-28.png" alt="installazione thonny" width="498" height="390" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-28.png 498w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-28-300x235.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-28-150x117.png 150w" sizes="auto, (max-width: 498px) 100vw, 498px" /><figcaption id="caption-attachment-6533" class="wp-caption-text">Installazione del programma Thonny</figcaption></figure></p>
<p>&nbsp;</p>
<p><figure id="attachment_6534" aria-describedby="caption-attachment-6534" style="width: 496px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6534 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-29.png" alt="installazione completata" width="496" height="390" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-29.png 496w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-29-300x236.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-29-150x118.png 150w" sizes="auto, (max-width: 496px) 100vw, 496px" /><figcaption id="caption-attachment-6534" class="wp-caption-text">Termine installazione del programma Thonny</figcaption></figure></p>
<p><figure id="attachment_6535" aria-describedby="caption-attachment-6535" style="width: 497px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6535 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-30.png" alt="conferma installazione" width="497" height="390" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-30.png 497w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-30-300x235.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-30-150x118.png 150w" sizes="auto, (max-width: 497px) 100vw, 497px" /><figcaption id="caption-attachment-6535" class="wp-caption-text">Conferma installazione di Thonny</figcaption></figure></p>
<p>Terminata l&#8217;installazione avviamo Thonny eseguendo un doppio clic sull&#8217;icona nel desktop.</p>
<p>Al primo avvio verrà richiesta la scelta della lingua da utilizzare nell&#8217;interfaccia grafica, selezioniamo quella che preferiamo e andiamo avanti premendo il pulsante <strong>Let&#8217;s go!</strong>:</p>
<p><figure id="attachment_6536" aria-describedby="caption-attachment-6536" style="width: 545px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6536 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-32.png" alt="lengiage selection" width="545" height="289" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-32.png 545w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-32-300x159.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-32-150x80.png 150w" sizes="auto, (max-width: 545px) 100vw, 545px" /><figcaption id="caption-attachment-6536" class="wp-caption-text">Seleziona la lingua dell&#8217;interfaccia</figcaption></figure></p>
<p>Dopo qualche istante vi ritroverete davanti l&#8217;interfaccia grafica di Thonny:</p>
<p><figure id="attachment_6537" aria-describedby="caption-attachment-6537" style="width: 799px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6537 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-33.png" alt="thonny" width="799" height="700" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-33.png 799w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-33-300x263.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-33-150x131.png 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-33-768x673.png 768w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Screenshot-33-585x513.png 585w" sizes="auto, (max-width: 799px) 100vw, 799px" /><figcaption id="caption-attachment-6537" class="wp-caption-text">interfaccia grafica di Thonny ide</figcaption></figure></p>
<h2>Caricare MycroPython sulla Pi Pico</h2>
<p>Per programmare la <strong>Pi Pico</strong> con <strong>Thonny</strong> è necessario caricare l&#8217;<strong>interprete MicroPython</strong>. Questa procedura è stata eseguita utilizzando Windows 10 versione 20H2. Colleghiamo la PI Pico alla porta usb del computer. La scheda viene riconosciuta dal sistema e viene avviata una procedura automatica di configurazione.</p>
<p>Clicchiamo, col pulsante destro del mouse, sul pulsante <strong>Start</strong>, dal menu contestuale scegliamo la voce <strong>Gestione Dispositivi</strong>. Sotto la voce <strong>Altri dispositivi</strong> dovrà essere presente l&#8217;elemento con nome <strong>RP2 Boot</strong>.</p>
<blockquote><p>In caso contrario rimuoviamo la scheda dalla porta usb, teniamo premuto il pulsante BOOTSEL della Pico e contemporaneamente ricolleghiamo la scheda alla porta usb.</p>
<p>Rilasciate il pulsante BOOTSEL.</p></blockquote>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6542" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Gestione_Dispositivi.png" alt="RP2 Boot" width="251" height="232" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Gestione_Dispositivi.png 251w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Gestione_Dispositivi-150x139.png 150w" sizes="auto, (max-width: 251px) 100vw, 251px" /></p>
<p>In <strong>Esplora risorse</strong> dovremmo anche avere una nuova unita disco chiamata <strong>RPI-RP2</strong>.</p>
<p>Portiamoci sul sito <strong>raspberrypi.org</strong>, nella sezione <a href="https://www.raspberrypi.org/documentation/pico/getting-started/">dedicata alla Pico scarichiamo Micropython</a> cliccando sul pulsante <strong>Download UF2 File</strong>:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6559" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/download_mp.jpg" alt="Pi Pico uf2 file" width="732" height="627" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/download_mp.jpg 732w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/download_mp-300x257.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/download_mp-150x128.jpg 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/download_mp-585x501.jpg 585w" sizes="auto, (max-width: 732px) 100vw, 732px" /></p>
<p>Ora copiamo il file <strong>pico_micropython_20210121.uf2</strong> sul disco <strong>RPI-RP2</strong>. Attendiamo la copia del file e il riavvio della scheda <strong>Pi Pico</strong>.</p>
<p><figure id="attachment_6548" aria-describedby="caption-attachment-6548" style="width: 380px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6548 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Copy_mp.png" alt="Coping micropython" width="380" height="131" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Copy_mp.png 380w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Copy_mp-300x103.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Copy_mp-150x52.png 150w" sizes="auto, (max-width: 380px) 100vw, 380px" /><figcaption id="caption-attachment-6548" class="wp-caption-text">Copia del file pico_micropython dentro il disco RPI-RP2</figcaption></figure></p>
<p><figure id="attachment_6547" aria-describedby="caption-attachment-6547" style="width: 451px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6547 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Coping_mp.png" alt="copia del file " width="451" height="288" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Coping_mp.png 451w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Coping_mp-300x192.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Coping_mp-150x96.png 150w" sizes="auto, (max-width: 451px) 100vw, 451px" /><figcaption id="caption-attachment-6547" class="wp-caption-text">Copia del file pico_micropython sulla Pi Pico</figcaption></figure></p>
<p>Controllando in gestione dispositivi dovremmo avere che la voce <strong>Altri Dispositivi-&gt; RP2 Boot</strong> viene eliminata e sostituita da una nuova periferica <strong>COM</strong>, nel mio caso la <strong>COM22</strong></p>
<p><figure id="attachment_6549" aria-describedby="caption-attachment-6549" style="width: 432px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6549 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Gestione_Dispositivi_COM.jpg" alt="nuova porta seriale" width="432" height="564" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/Gestione_Dispositivi_COM.jpg 432w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Gestione_Dispositivi_COM-230x300.jpg 230w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/Gestione_Dispositivi_COM-115x150.jpg 115w" sizes="auto, (max-width: 432px) 100vw, 432px" /><figcaption id="caption-attachment-6549" class="wp-caption-text">Creazione nuova porta seriale per la Pi Pico</figcaption></figure></p>
<h2>Configurazione dell&#8217;ambiente di sviluppo</h2>
<p>La versione 3.3.3 di <strong>Thonny</strong> ha già preinstallato il plug-in per comunicare con la <strong>Raspberry Pi Pico</strong>. E&#8217; sufficiente selezionare l&#8217;interprete dal menu posizionato in basso a destra della finestra principale:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6550" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/micropython.png" alt="micropython" width="850" height="358" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/micropython.png 850w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/micropython-300x126.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/micropython-150x63.png 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/micropython-768x323.png 768w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/micropython-585x246.png 585w" sizes="auto, (max-width: 850px) 100vw, 850px" /></p>
<p>Selezionando la voce <strong>MicroPython (Raspberry Pi Pico)</strong> permetterà a Thonny di collegarsi alla Pico attivando la comunicazione seriale con la Pico e mostrando l&#8217;interfaccia interattiva REPL.</p>
<p>Per selezionare la scheda e la porta COM manualmente è possibile farlo dal menu<strong> Esegui-&gt;Seleziona Interprete</strong>:</p>
<p><figure id="attachment_6556" aria-describedby="caption-attachment-6556" style="width: 525px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6556 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/seleziona_interprete.png" alt="interprete micropython" width="525" height="465" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/seleziona_interprete.png 525w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/seleziona_interprete-300x266.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/seleziona_interprete-150x133.png 150w" sizes="auto, (max-width: 525px) 100vw, 525px" /><figcaption id="caption-attachment-6556" class="wp-caption-text">Seleziona Interprete</figcaption></figure></p>
<p><figure id="attachment_6553" aria-describedby="caption-attachment-6553" style="width: 589px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6553 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/interprete.png" alt="interprete micropython pi pico" width="589" height="508" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/interprete.png 589w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/interprete-300x259.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/interprete-150x129.png 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/interprete-585x505.png 585w" sizes="auto, (max-width: 589px) 100vw, 589px" /><figcaption id="caption-attachment-6553" class="wp-caption-text">tab interprete</figcaption></figure></p>
<p>Nel tab <strong>Interprete</strong> possiamo <strong>selezionare l&#8217;interprete</strong> e la <strong>porta COM</strong> della scheda Pi Pico:</p>
<p><figure id="attachment_6555" aria-describedby="caption-attachment-6555" style="width: 589px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6555 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/interprete_pico.png" alt="pi pico python" width="589" height="508" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/interprete_pico.png 589w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/interprete_pico-300x259.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/interprete_pico-150x129.png 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/interprete_pico-585x505.png 585w" sizes="auto, (max-width: 589px) 100vw, 589px" /><figcaption id="caption-attachment-6555" class="wp-caption-text">Seleziona interprete micropython per pi pico</figcaption></figure></p>
<p><figure id="attachment_6554" aria-describedby="caption-attachment-6554" style="width: 589px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-6554 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2021/01/interprete_com.png" alt="com interptere" width="589" height="508" srcset="https://logicaprogrammabile.it/wp-content/uploads/2021/01/interprete_com.png 589w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/interprete_com-300x259.png 300w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/interprete_com-150x129.png 150w, https://logicaprogrammabile.it/wp-content/uploads/2021/01/interprete_com-585x505.png 585w" sizes="auto, (max-width: 589px) 100vw, 589px" /><figcaption id="caption-attachment-6554" class="wp-caption-text">Seleziona porta Pi Pico</figcaption></figure></p>
<p>Nel prossimo articolo vedremmo come caricare il primo programma sulla Pi Pico</p>
<p>The post <a href="https://logicaprogrammabile.it/programmare-configurare-raspberry-pi-pico-micropython/">Programmare la Raspberry Pi Pico con MicroPython</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/programmare-configurare-raspberry-pi-pico-micropython/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
