<?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>.Net micro framework Archives - Esperimenti con logiche programmabili</title>
	<atom:link href="https://logicaprogrammabile.it/tag/net-micro-framework/feed/" rel="self" type="application/rss+xml" />
	<link>https://logicaprogrammabile.it/tag/net-micro-framework/</link>
	<description>Tutorial in italiano per imparare a programmare usando Arduino, Raspberry PI, Netduino</description>
	<lastBuildDate>Sun, 15 Jan 2017 17:15:35 +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>.Net micro framework Archives - Esperimenti con logiche programmabili</title>
	<link>https://logicaprogrammabile.it/tag/net-micro-framework/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Netduino Plus 2 Speed Test</title>
		<link>https://logicaprogrammabile.it/netduino-plus-2-speed-test/</link>
					<comments>https://logicaprogrammabile.it/netduino-plus-2-speed-test/#respond</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Thu, 17 Jan 2013 11:29:23 +0000</pubDate>
				<category><![CDATA[Tutorial Netduino]]></category>
		<category><![CDATA[.Net micro framework]]></category>
		<category><![CDATA[Speed Test]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=3249</guid>

					<description><![CDATA[<p>Velocità di commutazione del nuovo Netduino Plus 2 Eccoci nuovamente al mio classico speed test per misurare la frequenza massima ottenibile dalla commutazione continua di un singolo pin. La scheda in esame è il nuovo Netduino Plus 2 basato sulla cpu STmicro STM32F4 operante a...</p>
<p>The post <a href="https://logicaprogrammabile.it/netduino-plus-2-speed-test/">Netduino Plus 2 Speed Test</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3>Velocità di commutazione del nuovo Netduino Plus 2</h3>
<p>Eccoci nuovamente al mio classico speed test per misurare la frequenza massima ottenibile dalla commutazione continua di un singolo pin.</p>
<p><img decoding="async" class="aligncenter size-full wp-image-3255" src="https://logicaprogrammabile.it/wp-content/uploads/2013/01/Netduino_Plus_2.png" alt="Netduino Plus 2" width="225" height="168" /><span id="more-3249"></span></p>
<p>La scheda in esame è il nuovo <strong>Netduino Plus 2</strong> basato sulla cpu <strong>STmicro STM32F4</strong> operante a <strong>168Mhz</strong>. Sicuramente l&#8217;incremento di frequenza ha permesso maggiori prestazioni ma il risultato è ben lontano dai 125KHz ottenuti dall&#8217;<strong>Arduino UNO,</strong> infatti la frequenza misurata è di <strong>44.27 KHz,</strong> che paragonata alla prima versione della scheda (quella basata sulla cpu AT91SAM7 operante a 48MHz), è comunque un ottimo risultato che fa ben sperare in evoluzioni future e miglioramenti prestazionali nell&#8217;archittetura <strong>.Net micro framework</strong>.</p>
<p>Di seguito la tabella aggiornata degli speed test delle board che ho provato</p>
<table>
<tbody>
<tr>
<td><strong>Tipo Scheda</strong></td>
<td><strong>Frequenza di commutazione</strong></td>
</tr>
<tr>
<td>Arduino UNO</td>
<td>125 KHz</td>
</tr>
<tr>
<td>Arduino LEONARDO</td>
<td>106 KHz</td>
</tr>
<tr>
<td>FEZ Panda II</td>
<td>12.7 KHz</td>
</tr>
<tr>
<td>Netduino Plus 2</td>
<td>44.27 KHz</td>
</tr>
<tr>
<td>Netduino</td>
<td>8.4 KHz</td>
</tr>
</tbody>
</table>
<p>Questo invece lo screen shot della schermata dell&#8217;oscilloscopio</p>
<p><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-3259" src="https://logicaprogrammabile.it/wp-content/uploads/2013/01/TEK00010.png" alt="Netduino Plus 2 Test toggle pin" width="640" height="480" srcset="https://logicaprogrammabile.it/wp-content/uploads/2013/01/TEK00010.png 640w, https://logicaprogrammabile.it/wp-content/uploads/2013/01/TEK00010-300x225.png 300w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>The post <a href="https://logicaprogrammabile.it/netduino-plus-2-speed-test/">Netduino Plus 2 Speed Test</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/netduino-plus-2-speed-test/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Microsoft Embedded Conference</title>
		<link>https://logicaprogrammabile.it/microsoft-embedded-conference/</link>
					<comments>https://logicaprogrammabile.it/microsoft-embedded-conference/#respond</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Fri, 04 Jan 2013 13:55:01 +0000</pubDate>
				<category><![CDATA[Notizie]]></category>
		<category><![CDATA[.Net micro framework]]></category>
		<category><![CDATA[Conferenze]]></category>
		<category><![CDATA[Sviluppo embedded]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=3218</guid>

					<description><![CDATA[<p>L’associazione culturale DotNetCampania, costituita da un team di persone del territorio campano ed appassionate delle tecnologie Microsoft, ha organizzato a Napoli per il giorno 26 Gennaio 2013 la Microsoft Embedded Conference, una giornata completamente gratuita dedicata alle tecnologie embedded del mondo Microsoft. Si partirà da...</p>
<p>The post <a href="https://logicaprogrammabile.it/microsoft-embedded-conference/">Microsoft Embedded Conference</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="aligncenter size-full wp-image-3219" alt="mec_thumb" src="https://logicaprogrammabile.it/wp-content/uploads/2013/01/mec_thumb.png" width="507" height="188" srcset="https://logicaprogrammabile.it/wp-content/uploads/2013/01/mec_thumb.png 507w, https://logicaprogrammabile.it/wp-content/uploads/2013/01/mec_thumb-300x111.png 300w" sizes="(max-width: 507px) 100vw, 507px" /></p>
<p>L’associazione culturale <a href="http://dotnetcampania.org">DotNetCampania</a>, costituita da un team di persone del territorio campano ed appassionate delle tecnologie Microsoft, ha organizzato a Napoli per il giorno 26 Gennaio 2013 la <strong>Microsoft Embedded Conference</strong>, una giornata completamente gratuita dedicata alle tecnologie embedded del mondo Microsoft.</p>
<p>Si partirà da una panoramica di tutte le soluzioni offerte da Microsoft per la realizzazione dei cosiddetti “Intelligent Systems”, attraverso il .Net Micro Framework ed i prodotti della famiglia Windows Embedded. Questi ultimi saranno analizzati nel dettaglio, partendo con Windows Embedded Compact 7 ed i relativi strumenti di sviluppo per la realizzazione di una BSP e dei drivers di un sistema OEM fino ad arrivare alla famiglia Windows Embedded Standard attraverso la quale è possibile definire un sistema operativo personalizzato, protetto, affidabile ed aggiornabile.</p>
<p>La mattina si concluderà con un’introduzione sul <strong>.Net Micro Framework</strong>, fratello minore della famiglia .Net, per lo sviluppo di applicazioni su sistemi caratterizzati da una disponibilità di risorse limitate ma pur sempre con le potenzialità del codice managed e soprattutto con il paradigma della programmazione ad oggetti.</p>
<p>Il pomeriggio inizierà con la presentazione della piattaforma <strong>.Net Gadgeteer</strong> che la Microsoft mette a disposizione per la realizzazione di dispositivi e prototipi anche in ambiente visuale attraverso Visual Studio. Si proseguirà con un’analisi della situazione attuale e futura sull’interconnessione dei dispositivi embedded nel mondo attraverso l’Internet Of Things e come sia possibile lo scambio di dati e di informazioni su scala mondiale tra di essi.</p>
<p>La giornata si concluderà con una interessantissima sessione dedicata allo sviluppo con Kinect, alla Natural User Interface e su come, attraverso ques’ultima, sia possibile interagire con dispositivi embedded che ci circondano.</p>
<p>Tutti i dettagli sulle sessioni e la logistica sono disponibili sul sito dell’evento raggiungibile all’indirizzo <a href="http://www.microsoftembeddedconference.it">www.microsoftembeddedconference.it</a>.</p>
<p>Un evento da non perdere per tutti gli appassionati e professionisti del mondo embedded!</p>
<p>The post <a href="https://logicaprogrammabile.it/microsoft-embedded-conference/">Microsoft Embedded Conference</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/microsoft-embedded-conference/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>FEZ Cobra esperienze e considerazioni</title>
		<link>https://logicaprogrammabile.it/fez-cobra-esperienze-considerazioni/</link>
					<comments>https://logicaprogrammabile.it/fez-cobra-esperienze-considerazioni/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Tue, 04 Sep 2012 12:21:41 +0000</pubDate>
				<category><![CDATA[Tutorial Netduino]]></category>
		<category><![CDATA[.Net micro framework]]></category>
		<category><![CDATA[FEZ]]></category>
		<category><![CDATA[FEZ Cobra]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=3040</guid>

					<description><![CDATA[<p>Esperienze personali con la FEZ Cobra Circa 5 mesi fà ho realizzato un lettore badge basato sulla FEZ Cobra prodotta da GHI Electronics. Il prodotto è costituito da un display lcd, una tastiera numerica e un lettore rfid, ed è parte di un controllo accessi...</p>
<p>The post <a href="https://logicaprogrammabile.it/fez-cobra-esperienze-considerazioni/">FEZ Cobra esperienze e considerazioni</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3>Esperienze personali con la FEZ Cobra</h3>
<p><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-3043" title="FEZ Cobra" src="https://logicaprogrammabile.it/wp-content/uploads/2012/09/FEZCobra-300x247.jpg" alt="ghi fez cobra" width="300" height="247" srcset="https://logicaprogrammabile.it/wp-content/uploads/2012/09/FEZCobra-300x247.jpg 300w, https://logicaprogrammabile.it/wp-content/uploads/2012/09/FEZCobra.jpg 800w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p>Circa 5 mesi fà ho realizzato un lettore badge basato sulla<a href="http://www.ghielectronics.com/catalog/product/131#" target="_blank"> <strong>FEZ Cobra</strong></a> prodotta da GHI Electronics. Il prodotto è costituito da un display lcd, una tastiera numerica e un lettore rfid, ed è parte di un controllo accessi funzionante 24 ore su 24 7 giorni su 7.<br />
Prima della sua messa in opera, ho seguito alcuni test &#8220;indoor&#8221; per verificarne la stabilità, e non ho avuto nessun tipo di problema sennonché il microprocessore della <strong>Cobra</strong> riscalda parecchio, nonostante il programma non esegua compiti gravosi.<br />
Questo fatto mi ha preoccupato in quanto il lettore è posizionato in un passaggio carrabile ed è esposto ai raggi solari per quasi tutto il giorno, e visto che la scheda è racchiusa in un involucro a tenuta stagna e non avendo la possibilità di inserire un sistema di raffreddamento che mi permettesse di abbassare la temperatura interna, temevo ad un malfunzionamento del dispositivo.</p>
<p>Anche l&#8217;estate non è stata clemente, qui in Sardegna abbiamo raggiunto temperature di 38-40° all&#8217;ombra, di conseguenza la Cobra è stata sottoposta a temperature di lavoro quasi estreme e sinceramente mi aspettavo da un giorno all&#8217;altro la sua rottura.</p>
<p>Invece con mia grande sorpresa la <strong>FEZ Cobra</strong> sta ancora funzionando perfettamente dopo circa 3500 ore di lavoro continuo senza aver mai dato problemi di nessun tipo.</p>
<p>Certamente un solo pezzo non è sufficiente per fare una valutazione completa di questo prodotto ma viste le estreme condizioni a cui ho sottoposto la Cobra devo dire che ne sono rimasto davvero soddisfatto. Questo mi rende anche più fiducioso nel realizzare dei prodotti basati sul .Net micro framework vista la stabilità software che ho ottenuto in questo progetto.</p>
<p>The post <a href="https://logicaprogrammabile.it/fez-cobra-esperienze-considerazioni/">FEZ Cobra esperienze e considerazioni</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/fez-cobra-esperienze-considerazioni/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Caricare nuovo firmware 4.2 sul Netduino</title>
		<link>https://logicaprogrammabile.it/caricare-nuovo-firmware-42-netduino/</link>
					<comments>https://logicaprogrammabile.it/caricare-nuovo-firmware-42-netduino/#respond</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Wed, 29 Aug 2012 07:40:33 +0000</pubDate>
				<category><![CDATA[Tutorial Netduino]]></category>
		<category><![CDATA[.Net micro framework]]></category>
		<category><![CDATA[Firmware]]></category>
		<category><![CDATA[Netduino]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=3002</guid>

					<description><![CDATA[<p>Come uploadare il firmware compatibile con il .Net micro framework 4.2 sul Netduino Dopo aver caricato il nuovo bootloader sul nostro Netduino non ci resta che caricare il firmware 4.2 per rendere la scheda operativa. Questa operazione deve essere eseguita utilizzando il tools MFdeploy contenuto...</p>
<p>The post <a href="https://logicaprogrammabile.it/caricare-nuovo-firmware-42-netduino/">Caricare nuovo firmware 4.2 sul Netduino</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3>Come uploadare il firmware compatibile con il .Net micro framework 4.2 sul Netduino</h3>
<p>Dopo aver caricato il <a title="Aggiornare le schede Netduino alla versione 4.2 del .Net MF" href="https://logicaprogrammabile.it/aggiornare-netduino-versione-42-net-micro-framework/">nuovo bootloader sul nostro Netduino</a> non ci resta che caricare il <strong>firmware 4.2</strong> per rendere la scheda operativa. Questa operazione deve essere eseguita utilizzando il tools<strong> MFdeploy</strong> contenuto nella cartella di installazione del <strong>.Net Micro framework 4.2</strong> (che dovete installare precedentemente).<br />
L&#8217;utility si trova, se avete fatto l&#8217;installazione standard, nella cartella C:\Program Files\Microsoft .NET Micro Framework\v4.2\Tools</p>
<p>Una volta avviato MFdeploy, tramite il blocco <strong>Device</strong>, dobbiamo selezionare il Netduino (precedentemente collegato alla porta USB del PC), utilizzando come canale di collegamento la voce USB. Automaticamente otterremmo nella casella di testo adiacente la voce<strong> Netduino_Netduino</strong>. Verifichiamo, utilizzando il pulsante <strong>Ping</strong>, che la comunicazione tra PC e Netduino sia attiva e funzionante.</p>
<p><span id="more-3002"></span></p>
<p>Nel blocco<strong> Image File</strong> clicchiamo sul pulsante<strong> Browse&#8230;</strong> per selezionare sul nostro disco locale, il due file che compongono il firmware (ER_CONFIG, ER_FLASH) da scrivere sul Netduino.<br />
Cliccando sul pulsante <strong>Deploy</strong> avvieremmo la scrittura, l&#8217;operazione richiede qualche minuto.</p>
<p><span style="text-decoration: underline;">Al termine scolleghiamo il Netduino dalla porta USB e ricolleghiamolo dopo qualche istante.</span></p>
<p>Verifichiamo le informazioni del nuovo firmware tramite il menu <strong>Target-&gt;Device Capabilities</strong>, sempre tramite MFdeploy, per accertarci chel&#8217;operazione sia stata eseguita correttamente.</p>
<p>Le immagini seguenti mostrano tutte le fasi descritte precedentemente</p>
<div class="post-content-gallery justify columns3" data-justify="180"></div>
<p>The post <a href="https://logicaprogrammabile.it/caricare-nuovo-firmware-42-netduino/">Caricare nuovo firmware 4.2 sul Netduino</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/caricare-nuovo-firmware-42-netduino/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Aggiornare le schede Netduino alla versione 4.2 del .Net MF</title>
		<link>https://logicaprogrammabile.it/aggiornare-netduino-versione-42-net-micro-framework/</link>
					<comments>https://logicaprogrammabile.it/aggiornare-netduino-versione-42-net-micro-framework/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Tue, 28 Aug 2012 13:44:43 +0000</pubDate>
				<category><![CDATA[Tutorial Netduino]]></category>
		<category><![CDATA[.Net micro framework]]></category>
		<category><![CDATA[Netduino]]></category>
		<category><![CDATA[SAM-BA]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=2938</guid>

					<description><![CDATA[<p>Come caricare il bootloader e il firmware sul Netduino Con il rilascio della nuova versione del .Net micro framework 4.2 (QFE2) la Secret Labs ha rilasciato un nuovo bootloader e un nuovo firmware per le board Netduino, Netduino Plus e Netduino Mini. Viste le molte...</p>
<p>The post <a href="https://logicaprogrammabile.it/aggiornare-netduino-versione-42-net-micro-framework/">Aggiornare le schede Netduino alla versione 4.2 del .Net MF</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3>Come caricare il bootloader e il firmware sul Netduino</h3>
<p>Con il rilascio della nuova versione del <a href="http://netmf.codeplex.com/releases/view/91594" target="_blank">.Net micro framework 4.2 (QFE2)</a> la <strong>Secret Labs</strong> ha rilasciato un nuovo bootloader e un nuovo firmware per le board <strong>Netduino</strong>, <strong>Netduino Plus</strong> e <strong>Netduino Mini</strong>. Viste le molte novità e migliorie della versione 4.2 consiglio vivamente l&#8217;upgrade delle board.</p>
<p>Le procedure principali sono le seguenti</p>
<ol>
<li>Ricaricare il nuovo bootloader</li>
<li>Ricaricare il nuovo firmware</li>
</ol>
<p>Prima di iniziare dobbiamo scaricare i seguenti software</p>
<ul>
<li><a href="http://forums.netduino.com/index.php?/topic/5115-netduino-firmware-v420/" target="_blank">Firmware 4.2 del Netduino</a> (Contenente anche il nuovo bootloader)</li>
<li><a href="http://forums.netduino.com/index.php?/topic/4-netduino-drivers/" target="_blank">Driver Netduino</a> (Necessario per installare la scheda dop aver caricato il bootloader)</li>
<li><a href="http://netmf.codeplex.com/releases/view/91594" target="_blank">.Net Micro Framework 4.2</a></li>
<li><a href="http://www.atmel.com/tools/ATMELSAM-BAIN-SYSTEMPROGRAMMER.aspx" target="_blank">Atmel SAM-BA versione 2.12 o superiore</a> (Contiene il software ed il driver del chip AT91SAM7X512-ex)</li>
</ul>
<p><span id="more-2938"></span></p>
<p>Installiamo il software<strong> SAM-BA</strong> che useremmo per caricare il bootloader. Di seguito alcuni screen shot dell&#8217;installazione</p>
<div class="post-content-gallery justify columns3" data-justify="180"></div>
<p>Scarichiamo il pacchetto zip contenente il firmware ed il bootloader. Teniamo da parte il file <strong>TinyBooterDecompressor.bin</strong> che caricheremo sul microcontrollore.</p>
<p>Eseguiamo la cancellazione del firmware e del bootloader del <strong>Netduino</strong> utilizzando un filo elettrico che, dal pin 3.3V andrà collegato al piccolo quadrato dorato vicino al pin0.<br />
Alimentiamo per qualche istante il Netduino (tramite USB o alimentazione esterna) tenendo sempre collegato filo sul pad dorato. Togliamo alimentazione. Il nostro dispositivo è ora privo di firmware e di bootloader.</p>
<p>Ricollegando Il Netduino verrà avviata la ricerca <strong>Nuovo Hardware</strong>, annulliamo questa operazione per caricare manualmente i driver del microcontrolloare AT91SAM7X512-ek.</p>
<p>Le seguenti figure mostrano il processo di installazione della scheda</p>
<div class="post-content-gallery justify columns3" data-justify="180"></div>
<p>Una volta che il dispositivo è stato riconosciuto da Windows 7  possiamo caricare il nuovo bootloader.</p>
<p>Clicchiamo sull&#8217;icona SAM-BA v2.12. Nella prima schermata dobbiamo selezionare, alla voce <strong>Select the connection</strong> la porta <strong>COM</strong> dove è collegato il dispositivo, alla voce<strong> Select your board</strong> selezioniamo il chip<strong> AT91SAM7X512-ek</strong>. Clicchiamo sul pulsante <strong>connect</strong>.<br />
Caricata la finestra principale del programma SAM-BA, bisogna, per prima, eseguire due script. Selezioniamo nel blocco <strong>Script</strong> la voce<strong> Boot from flash (GPNVM2)</strong>, clicchiamo sul pulsante <strong>Execute</strong>, successivamente selezioniamo lo script <strong>Enable Flash Access,</strong> clicchiamo sempre su <strong>Execute</strong>.</p>
<p>Ora nel blocco <strong>Download/Upload file</strong>, selezioniamo dalla casella<strong> Send file Name</strong> il file <strong>TinyBooterDecompressor.bin</strong> precedentemente messo da parte sul nostro PC, clicchiamo sul pulsante <strong>Send File</strong>. Dopo qualche istante apparirà una finestra popup per richiedere il <strong>Lock Region</strong>, clicchiamo sul pulsante <strong>NO</strong>.</p>
<p>Se non si verificano errori il bootloader è stato scritto correttamente sul microcontrollore.</p>
<p>Le immagini seguenti mostrano il processo:</p>
<div class="post-content-gallery justify columns3" data-justify="180"></div>
<p>A questo punto scolleghiamo la scheda dalla porta usb per poi ricollegarla dopo qualche istante. Nuovamente verrà avviata l&#8217;installazione nuovo hardware relativa alla scheda Netduino. Seguiamo i passi rappresentati nelle seguenti figure per installare i driver della scheda Netduino:</p>
<div class="post-content-gallery justify columns3" data-justify="180"></div>
<p>Nel prossimo articolo vedremmo come caricare il nuovo firmware.</p>
<p>The post <a href="https://logicaprogrammabile.it/aggiornare-netduino-versione-42-net-micro-framework/">Aggiornare le schede Netduino alla versione 4.2 del .Net MF</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/aggiornare-netduino-versione-42-net-micro-framework/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Riflessioni personali sullo sviluppo embedded</title>
		<link>https://logicaprogrammabile.it/riflessioni-personali-sviluppo-embedded/</link>
					<comments>https://logicaprogrammabile.it/riflessioni-personali-sviluppo-embedded/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Wed, 24 Aug 2011 23:12:13 +0000</pubDate>
				<category><![CDATA[Notizie]]></category>
		<category><![CDATA[Tutorial Arduino]]></category>
		<category><![CDATA[Tutorial Netduino]]></category>
		<category><![CDATA[.Net micro framework]]></category>
		<category><![CDATA[Sviluppo embedded]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=1761</guid>

					<description><![CDATA[<p>I Sistemi Embedded Ho notato che negli ultimi anni molti sviluppatori software, provenienti da ambienti desktop, hanno iniziato ad interessarsi ai dispositivi programmabili, in particolare ad Arduino e Netduino. Di pari passo le case costruttrici hanno iniziato a produrre componenti di ogni sorta, semplificandone il...</p>
<p>The post <a href="https://logicaprogrammabile.it/riflessioni-personali-sviluppo-embedded/">Riflessioni personali sullo sviluppo embedded</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>I Sistemi Embedded</h1>
<p>Ho notato che negli ultimi anni molti sviluppatori software, provenienti da ambienti desktop, hanno iniziato ad interessarsi ai dispositivi programmabili, in particolare ad Arduino e Netduino. Di pari passo le case costruttrici hanno iniziato a produrre componenti di ogni sorta, semplificandone il loro impiego e garantendo un prezzo molto competitivo.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-4767 size-full" src="https://logicaprogrammabile.it/wp-content/uploads/2011/08/embedded.jpg" alt="embedded system" width="240" height="240" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/08/embedded.jpg 240w, https://logicaprogrammabile.it/wp-content/uploads/2011/08/embedded-150x150.jpg 150w" sizes="auto, (max-width: 240px) 100vw, 240px" /></p>
<p>Questo interesse continuerà ad aumentare e credo che gli sviluppatori per dispositivi embedded eguaglieranno ben presto quelli desktop. Questo, in parte, è dovuto grazie all&#8217;impegno di aziende quali Microsoft e Google, che con il .Net micro framework e Android hanno contribuito a richiamare l&#8217;interesse per queste tecnologie.<br />
Queste aziende stanno cercando, a mio avviso, di creare dispositivi semplici da programmare che possano collegarsi a smatphone e tablet e di conseguenza avere un accesso semplice ad internet. Lo scenario che si presenta è una richiesta sempre crescente di software e hardware capaci di colloquiare tra loro al fine di potere interagire con la grande rete.</p>
<p>Anche aver reso open, sia dal punto di vista hardware sia software, questi sistemi, ha dato la possibilità di far nascere cloni capaci di attirare sviluppatori e creare nuove community.</p>
<p>Dal punto di vista hobbystico, il gran numero di esempi e tutorial sui crescenti forum e blog, danno la possibilità di imparare autonomamente i principi della programmazione e della prototipazione hardware.</p>
<p>Parlando del mondo professionale credo che tutto ciò sia una buona opportunità di lavoro vista la possibilità di realizzare shield che risolvono problemi particolari o addirittura sviluppare un proprio sistema complesso.</p>
<p>Tu cosa ne pensi?</p>
<p>The post <a href="https://logicaprogrammabile.it/riflessioni-personali-sviluppo-embedded/">Riflessioni personali sullo sviluppo embedded</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/riflessioni-personali-sviluppo-embedded/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Netduino, linee GPIO configurarle con InputPort e OutputPort</title>
		<link>https://logicaprogrammabile.it/netduino-inputport-outputport-tristateport/</link>
					<comments>https://logicaprogrammabile.it/netduino-inputport-outputport-tristateport/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Mon, 13 Jun 2011 08:35:28 +0000</pubDate>
				<category><![CDATA[Tutorial Netduino]]></category>
		<category><![CDATA[.Net micro framework]]></category>
		<category><![CDATA[InputPort]]></category>
		<category><![CDATA[Netduino]]></category>
		<category><![CDATA[OutPort]]></category>
		<category><![CDATA[TRiStatePort]]></category>
		<category><![CDATA[Visual C#]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=1507</guid>

					<description><![CDATA[<p>InputPort OutputPort come utilizzare e configurare le porte digitali del Netduino Pin digitali La scheda Netduino prende spunto dal progetto Arduino, infatti, la forma della scheda e la disposizione dei connettori è identica a quella di Arduino UNO. I pin digitali sono 14 e possono...</p>
<p>The post <a href="https://logicaprogrammabile.it/netduino-inputport-outputport-tristateport/">Netduino, linee GPIO configurarle con InputPort e OutputPort</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>InputPort OutputPort come utilizzare e configurare le porte digitali del Netduino</h1>
<h2>Pin digitali</h2>
<p>La scheda Netduino prende spunto dal progetto Arduino, infatti, la forma della scheda e la disposizione dei connettori è identica a quella di <strong>Arduino UNO</strong>. I pin digitali sono 14 e possono essere configurati via software come ingressi o uscite (InputPort OutputPort). La possibilità di decidere programmaticamente la funzione di ognuno di questi pin permette una elevata flessibilità nell&#8217;adattare Netduino al mondo esterno.</p>
<p>La tensione di lavoro dei pin è di 3.3Vdc ma è possibile lavorare anche con tensioni in ingresso di 5Vdc (TTL). Per quanto riguarda la corrente prelevabile abbiamo valori massimi di 8 mA; i pin 2, 3, e 7 riescono a fornire 16mA massimi.</p>
<p><span style="text-decoration: underline;">I pin sono collegati direttamente al chip Atmel, occorre fare molta attenzione ai collegamenti esterni, un corto circuito o una tensione di sovraccarico potrebbero danneggiare irreparabilmente il microcontrollore.</span></p>
<h2>Configurazione pin in uscita</h2>
<p>Vediamo come configurare un pin digitale in uscita, utilizzando la classe <strong>OutputPort</strong> (Microsoft.SPOT.Hardware.OutputPort). I parametri da passare al costruttore sono l&#8217;identificativo del pin che vogliamo usare come uscita e il suo stato iniziale (Livello logico alto pari a3.3Vdc oppure livello logico basso pari a 0Vdc).<br />
Ecco un esempio che mostra come configurare il pin0 del Netduino come uscita</p>
<pre class="lang:c# decode:true ">//Pin 0 in uscita, inizializzato a livello logico basso
OutputPort pin0 = new OutputPort(Cpu.Pin.GPIO_Pin0, false);</pre>
<p>Se stiamo realizzando un circuito di esempio consiglio di inizializzare la porta in uscita a false (livello logico basso) per evitare di collegare per errore il pin a massa (corto circuito) con conseguente possibile rottura della porta del chip Atmel.<br />
La classe Pins enumera tutte le porte del Netduino disponibili per la configurazione come uscite o ingressi.</p>
<p><span id="more-1507"></span></p>
<p>L&#8217;operazione fondamentale disponibile per il pin è il cambio di livello utilizzando il metodo Write() dell&#8217;oggetto appena istanziato.<br />
Il codice seguente mostra come utilizzare il metodo Write()</p>
<pre class="lang:c# decode:true ">//Mette a livello alto (3.3Vdc) il pin D0
pin0.Write(true);
//Mette a livello basso (0Vdc) il pin D0
pin0.Write(false);
[/csharp]

Sebbene il pin0 sia configurato come uscita, possiamo leggere, tramite il metodo Read(), il livello logico impostato con il metodo Write():

[csharp]
//creo una variabile bool per memorizzare lo stato della porta
Boolean Livello = false;
//Mette a livello alto (3.3Vdc) il pin D0
pin0.Write(true);
//leggo lo stato del livello
Livello = pin0.Read();
//restituisce true
Debug.Print(Livello.ToString());
//Mette a livello basso (0Vdc) il pin D0
pin0.Write(false);
//leggo lo stato del livello
Livello = pin0.Read();
//restituisce false
Debug.Print(Livello.ToString());</pre>
<p>&nbsp;</p>
<p>La proprietà InitialState restituisce lo stato del livello al momento della creazione dell&#8217;oggetto</p>
<pre class="lang:c# decode:true">//creo una variabile bool per memorizzare lo stato della porta
Boolean Livello = false;
//Pin 0 in uscita, inizializzato a livello logico basso
OutputPort pin0 = new OutputPort(Cpu.Pin.GPIO_Pin0, false);
//Mette a livello alto (3.3Vdc) il pin D0
pin0.Write(true);
//leggo lo stato del livello al momento della creazione
//dell'oggetto pin0
Livello = pin0.InitialState;
//restituisce false
Debug.Print(Livello.ToString());</pre>
<p>La proprietà ID fornisce il nome del piedino del microcontrollore Atmel (come definito nel datasheet)</p>
<pre class="lang:c# decode:true ">//Creo un oggetto Pin
Cpu.Pin nomePin;
//Pin 0 in uscita, inizializzato a livello logico basso
OutputPort pin0 = new OutputPort(Cpu.Pin.GPIO_Pin0, false);
//Ottengo il nome del pin riferito al microcontrollore Atmel
nomePin = pin0.Id;
Debug.Print(nomePin.ToString());</pre>
<h2>Configurazione pin in ingresso</h2>
<p>Per accettare segnali in ingresso dobbiamo decidere quali pin utilizzare e configurarli con la classe InputPort (Microsoft.SPOT.Hardware.InputPort). In questo caso i parametri da passare al costruttore sono 3, il primo definisce l&#8217;identificativo del pin da utilizzare come ingresso, il secondo permette di attivare il filtro antirimbalzo (glitch filter) e il terzo permette di attivare l&#8217;eventuale resistenza di pull-up interna al microcontrollore.<br />
Il codice seguente utilizza il pin3 del Netduino come ingresso.</p>
<pre class="lang:c# decode:true ">//Definisco il pin 3 come ingresso, abilito l'antirimbalzo e la reistenza di pullup
InputPort pin3 = new InputPort(Cpu.Pin.GPIO_Pin3, true, Port.ResistorMode.PullUp);</pre>
<p>Il metodo Read() permette di leggere il livello logico presente sul pin di ingresso. Read() restituisce un valore booleano in funzione del livello logico.</p>
<pre class="lang:c# decode:true ">Boolean Livello = false;
//Pin3 in ingresso
InputPort pin3 = new InputPort(Cpu.Pin.GPIO_Pin0, true, Port.ResistorMode.PullUp);
//leggo dal pin3
Livello = pin3.Read();</pre>
<p>Le proprietà esposte dall&#8217;oggetto sono <strong>ID</strong>, <strong>GlitchFilter</strong> e <strong>Resistor</strong></p>
<pre class="lang:c# decode:true ">Boolean Livello = false;
Boolean StatoFiltro= false;
Port.ResistorMode Resistenza;
//Variabile per contenere il nome del pin
Cpu.Pin nomePin;

//nome del pin come indicato nel datasheet del microcontrollore
nomePin = pin3.Id;
Debug.Print(nomePin.ToString());
//stato del filtro antirimbalso
StatoFiltro = pin3.GlitchFilter;
Debug.Print("StatoFiltro " + StatoFiltro.ToString());
//tipo di resistenza selezionato
Resistenza = pin3.Resistor;
Debug.Print("Resistenza " + Resistenza.ToString());</pre>
<p>&nbsp;</p>
<blockquote><p>GlitchFilter</p>
<p>Il filtro antirimbalzo permette di eliminare gli impulsi spurii che si formano nei contatti metallici di un pulsante. All&#8217;atto della chiusura del pulsante il contatto non avviene immediatamente ma esiste un piccolo tempo di assestamento che da luogo a degli impulsi spurii che possono essere interpretati erroneamente dal Netduino. Attivando il filtro, introduciamo un certo ritardo prima di leggere lo stato dell&#8217;ingresso, in questo modo possiamo avere una lettura sicura poichè il contatto meccanico si è ormai stabilizzato.<br />
La figura mostra gli impulsi spurii generati dall&#8217;interruttore:</p>
<p><a href="https://logicaprogrammabile.it/netduino-inputport-outport-tristateport/filter/" rel="attachment wp-att-1541"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1541" title="GlitchFilter" src="https://logicaprogrammabile.it/wp-content/uploads/2011/06/Filter.gif" alt="Filtro antirimbalzo del Netduino" width="307" height="335" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/06/Filter.gif 307w, https://logicaprogrammabile.it/wp-content/uploads/2011/06/Filter-274x300.gif 274w" sizes="auto, (max-width: 307px) 100vw, 307px" /></a></p></blockquote>
<blockquote><p>ResistorMode</p>
<p>Questa proprietà è molto importante perché permette di eseguire delle letture sicure del livello logico in ingresso quando, il circuito esterno, non imposta un riferimento di tensione sul pin. Le resistenze di pull up permettono di forzare un livello logico alto stabile sul pin d&#8217;ingresso. Nel caso del microcontrollore SAM7X possiamo utilizzare solo le resistenze di PullUp, dato che non sono presenti quelle di pull down (Impostando Port.ResistorMode.PullDown otteniamo un eccezione).</p>
<p><a href="https://logicaprogrammabile.it/netduino-inputport-outport-tristateport/pullup/" rel="attachment wp-att-1555"><img loading="lazy" decoding="async" class="aligncenter wp-image-1555 size-full" title="Gestione Resistenza Pull up InputPort OutputPort" src="https://logicaprogrammabile.it/wp-content/uploads/2011/06/PullUp.gif" alt="Impostare le resistenze di Pull-up sul Netduino" width="351" height="524" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/06/PullUp.gif 351w, https://logicaprogrammabile.it/wp-content/uploads/2011/06/PullUp-200x300.gif 200w" sizes="auto, (max-width: 351px) 100vw, 351px" /></a></p></blockquote>
<p>Abbiamo visto che per leggere dai pin dobbiamo richiamare il metodo Read(), quindi se vogliamo tenere sempre sotto controllo lo stato dell&#8217;ingresso è necessario eseguire ciclicamente il metodo Read();  sarebbe comodo un sistema che monitorizzi l&#8217;ingresso in modo da rilevare i cambiamenti di stato. Fortunatamente il Netduino ed il .Net micro framework mettono a disposizione la classe InterruptPort che svolge proprio questa funzionalità.</p>
<h2>Configurazione pin in ingresso con InterruptPort</h2>
<p>La classe InterruptPort permette di utilizzare un pin come ingresso e di eseguire un metodo ogni qualvolta che si verifica un cambiamento di stato su tale pin. Vediamo come configurare un pin in ingresso con la classe InterruptPort</p>
<pre class="lang:c# decode:true ">InterruptPort pin0 = new InterruptPort(Cpu.Pin.GPIO_Pin0, false,
Port.ResistorMode.PullUp,
 Port.InterruptMode.InterruptEdgeBoth);</pre>
<p>Il costruttore è molto simile alla classe InputPort ma in questo caso abbiamo un parametro aggiuntivo che definisce in che modo deve essere generato l&#8217;interrupt per quel pin. Le possibili opzioni sono:</p>
<table>
<tbody>
<tr>
<td><strong> <a id="#Port.InterruptMode.InterruptEdgeBoth"></a> InterruptEdgeBoth</strong></td>
<td>L&#8217;interrupt viene generato sia sul fronte di salita che sul fronte di discesa del segnale in ingresso</td>
</tr>
<tr>
<td><strong>InterruptEdgeHigh</strong></td>
<td>L&#8217;interrupt viene generato solo sul fronte di salita del segnale in ingresso</td>
</tr>
<tr>
<td><strong> <a id="#Port.InterruptMode.InterruptEdgeLevelHigh"></a> InterruptEdgeLevelHigh</strong></td>
<td>L&#8217;interrupt viene generato quando il segnale in ingresso diventa alto</td>
</tr>
<tr>
<td><strong> <a id="#Port.InterruptMode.InterruptEdgeLevelLow"></a> InterruptEdgeLevelLow</strong></td>
<td>L&#8217;interrupt viene generato quando il segnale in ingresso diventa basso</td>
</tr>
<tr>
<td><strong> <a id="#Port.InterruptMode.InterruptEdgeLow"></a> InterruptEdgeLow</strong></td>
<td>L&#8217;interrupt viene generato solo sul fronte di discesa del segnale in ingresso</td>
</tr>
<tr>
<td><strong> <a id="#Port.InterruptMode.InterruptNone"></a> InterruptNone</strong></td>
<td>non viene generato nessun interrupt</td>
</tr>
</tbody>
</table>
<p><a href="https://logicaprogrammabile.it/netduino-inputport-outport-tristateport/interrupt/" rel="attachment wp-att-1584"><img loading="lazy" decoding="async" class="aligncenter wp-image-1584 size-full" title="Gestione Interrupt Netduino InputPort OutputPort" src="https://logicaprogrammabile.it/wp-content/uploads/2011/06/Interrupt.gif" alt="Interrupt segnale in ingresso" width="564" height="311" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/06/Interrupt.gif 564w, https://logicaprogrammabile.it/wp-content/uploads/2011/06/Interrupt-300x165.gif 300w" sizes="auto, (max-width: 564px) 100vw, 564px" /></a></p>
<p>Le opzioni sono diverse e riescono a soddisfare tutte le variazioni di segnale che possono interessare il pin in ingresso.<br />
La parte importante è la possibilità di generare un evento ogni volta che si verifica un&#8217;interrupt. Il codice di esempio mostra come farlo</p>
<pre class="lang:c# decode:true ">public static void Main()
{
//Definisco il pin0 come InterruptPort
//L'interrupt viene generato sul fronte di salita
InterruptPort pin0 = new InterruptPort(Cpu.Pin.GPIO_Pin0, false,
Port.ResistorMode.PullUp,
Port.InterruptMode.InterruptEdgeHigh);
//Creo un evento quando si scatena un interrupt
//Ogni volta che viene generato un evento viene eseguito il metodo EventoPinIngresso
pin0.OnInterrupt += new NativeEventHandler(EventoPinIngresso);

while(true)
{
//eseguo qualcosa
Thread.Sleep(100);
}
}

public static void EventoPinIngresso(uint data1, uint data2, DateTime time)
{
//eseguo qualcosa quando viene generato un interrupt
Debug.Print(data1.ToString());
Debug.Print(data2.ToString());
Debug.Print(time.ToString());
}</pre>
<p>&nbsp;</p>
<p>In questo modo ogni volta che il segnale in ingresso scatena un interrupt, Netduino esegue il codice contenuto in EventoPinIngresso.<br />
La firma del metodo EventoPinIngresso deve contenere due valori <strong>uint</strong> e una <strong>DateTime</strong>. Il primo valore (data1) contiene il numero del pin del microcontrollore, il secondo contiene il livello logico sul pin e il terzo (time) contiene il tempo in cui è stato scatenato l&#8217;evento.<br />
Da notare che la gestione dell&#8217;evento è asincrona e quindi il Netduino continua ad eseguire il codice del ciclo while ed esegue autonomamente il metodo EventoPinIngresso quando si verifica un interrupt.</p>
<p>Questa funzionalità permette di creare codice che reagisce autonomamente agli eventi esterni e fa in modo che il Netduino si adatti meglio alle esigenze progettuali moderne.</p>
<p>The post <a href="https://logicaprogrammabile.it/netduino-inputport-outputport-tristateport/">Netduino, linee GPIO configurarle con InputPort e OutputPort</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/netduino-inputport-outputport-tristateport/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Netduino e irrigazione automatica fai da te (Teoria)</title>
		<link>https://logicaprogrammabile.it/irrigazione-automatica-netduino/</link>
					<comments>https://logicaprogrammabile.it/irrigazione-automatica-netduino/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Fri, 13 May 2011 06:33:56 +0000</pubDate>
				<category><![CDATA[Elettronica]]></category>
		<category><![CDATA[Notizie]]></category>
		<category><![CDATA[.Net micro framework]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Autocostruzione]]></category>
		<category><![CDATA[Automatismo]]></category>
		<category><![CDATA[Elettrovalvola]]></category>
		<category><![CDATA[Fai da te]]></category>
		<category><![CDATA[Irrrigazione]]></category>
		<category><![CDATA[Netduino]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=1135</guid>

					<description><![CDATA[<p>Come realizzare centralina di micro irrigazione Mi è sempre piaciuta l&#8217;idea di un orto/giardino automatizzato, magari con Netduino, capace di sfruttare l&#8217;irrigazione in modo coscienzioso e senza sprechi d&#8217;acqua. Penso sia uno di quei progetti molto ricercati per la sua evidente utilità pratica, e anche...</p>
<p>The post <a href="https://logicaprogrammabile.it/irrigazione-automatica-netduino/">Netduino e irrigazione automatica fai da te (Teoria)</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Come realizzare centralina di micro irrigazione</h1>
<p>Mi è sempre piaciuta l&#8217;idea di un orto/giardino automatizzato, magari con <strong>Netduino</strong>, capace di sfruttare l&#8217;irrigazione in modo coscienzioso e senza sprechi d&#8217;acqua.<br />
Penso sia uno di quei progetti molto ricercati per la sua evidente utilità pratica, e anche perché la coltivazione e la cura di piante è un istinto innato che ci avvicina alla natura e ci fa sentire bene!</p>
<p>Abito in un piccolo paese dove ogni famiglia possiede un piccolo orto per la coltivazione di verdure e frutti. La tecnica di irrigazione principale è quella a solco (scorrimento), decisamente svantaggiosa e poco efficace per l&#8217;eccessivo spreco d&#8217;acqua.<br />
Fortunatamente oggi ci sono molte tecnologie efficienti che permettono l&#8217;impiego di sistemi programmabili per la gestione delle attività di irrigazione.</p>
<p>Anche io ho voluto sviluppare il mio sistema a microcontrollore per gestire le fasi di irrigazione di un piccolo orto.<br />
Per la realizzazione di questo sistema bisogna avere un minimo di esperienza nella coltivazione di piante ed essere consapevoli che ci dovremmo sporcare le mani!!</p>
<p>La tecnica di irrigazione migliore per questo progetto si basa sulla microirrigazione a goccia. E&#8217; necessario quindi procurarci tutto il materiale per l&#8217;impianto. Le mie informazioni progettuali sono da considerare di carattere generale, dato che il sistema è influenzato da vari parametri come, la tipologia del terreno (inclinazione, consistenza, composizione, esposizione agli agenti atmosferici) il tipo e la quantità di piantine da coltivare.<span id="more-1135"></span>La figura seguente rappresenta un tipico impianto a goccia automatizzato:</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter wp-image-1144 size-full" title="OrtoAutomatizzato" src="https://logicaprogrammabile.it/wp-content/uploads/2011/05/OrtoAutomatizzato1.gif" alt="Schema di principio orto automatizzato" width="621" height="427" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/05/OrtoAutomatizzato1.gif 621w, https://logicaprogrammabile.it/wp-content/uploads/2011/05/OrtoAutomatizzato1-300x206.gif 300w" sizes="auto, (max-width: 621px) 100vw, 621px" /></p>
<p>La cisterna contiene l&#8217;acqua necessaria ad irrigare le piante, le sue dimensioni variano a seconda della dimensione dell&#8217;orto, un valore sufficiente per una autonomia di 2-3 settimane potrebbe essere di 1000 litri.<br />
Subito dopo troviamo il filtro, questo elemento è essenziale per un impianto di <strong>microirrigazione </strong>in quanto blocca le impurità dell&#8217;acqua che col tempo potrebbero otturare i gocciolatori.<br />
L&#8217;elettrovalvola è un rubinetto elettronico che permette, tramite la centralina elettronica, di gestire tutte le fasi d&#8217;irrigazione. La centralina riceve input dai sensori di umidità, temperatura e luminosità, in questo modo possiamo sviluppare algoritmi che gestiscono l&#8217;irrigazione in funzione dei parametri ambientali.</p>
<p>Il tubo di mandata principale permette di alimentare i vari rami dell&#8217;impianto, ogni ramo (ala gocciolante) è sezionabile tramite un minirubinetto, questo permette di effettuare operazioni di manutenzione anche durante l&#8217;irrigazione.<br />
L&#8217;ala gocciolante è composta da un tubo, solitamente da 16mm, dove sono collocati i gocciolatori. Ogni gocciolatore irriga una singola pianta.</p>
<p>La realizzazione dell&#8217;impianto dipende dalla dimensione del terreno a disposizione e dal numero e tipo di piante da coltivare. Secondo la mia esperienza vi posso dire che per il fabbisogno di una famiglia di 5-6 persone potete coltivare i seguenti prodotti</p>
<ul>
<li>20 piante Pomodoro</li>
<li>10 piante Melanzane</li>
<li>10 piante Peperoni</li>
<li>20 piante Fagiolini</li>
<li>10 piante Cetrioli</li>
<li>5 piante Zucchine</li>
<li>20 piante Lattuga</li>
</ul>
<p>naturalmente ognuno può aumentare o diminuire queste quantità a seconda delle preferenze e dei gusti personali.<br />
Per quanto riguarda la distanza tra gocciolatori possiamo dimensionare in questo modo</p>
<ul>
<li>40-50 cm per Pomodori, Melanzane, Peperoni, Fagiolini e Cetrioli</li>
<li>60-70 cm per le Zucchine</li>
<li>15-20 cm per le Lattughe</li>
</ul>
<p>Mentre la distanza tra un <strong>ala gocciolante</strong> e la successiva può variare da 40-50 cm a  80-100cm a seconda dello spazio a disposizione, e della comodità che vogliamo avere per passare tra i filari.</p>
<p>Dopo l&#8217;assemblaggio dell&#8217;impianto è necessario verificare che tutti i gocciolatori funzionino a dovere e che non ci siano perdite d&#8217;acqua dai raccordi di connessione.</p>
<p>La parte che ora bisogna studiare, riguarda la centralina elettronica. Certamente sul mercato esistono vari modelli con prezzi anche di poche decine di euro, che potrebbero farci abbandonare l&#8217;idea dell&#8217;autocostruzione, ma il nostro scopo è quello di sperimentare e imparare nuovi concetti per poi applicarli in altri ambiti o per accrescere il nostro bagaglio culturale.</p>
<p>Apro una piccola parentesi sull&#8217;elettrovalvola: a parte le varie dimensioni e capacità idriche, esistono modelli a 24Vac e a 9Vcc. Volendo creare un impianto autonomo è meglio utilizzare il modello a 9Vcc in modo da eliminare qualsiasi trasformatore. Il costo delle elettrovalvole in continua è purtroppo superiore a quelle in ca (circa 30€).</p>
<p>Il circuito elettronico deve acquisire come input i dati dai sensori e pilotare l&#8217;elettrovalvola per un tempo che può essere fisso o variabile a seconda del software che andremmo a sviluppare.<br />
Come microcontrollore possiamo optare per diverse soluzioni come <strong>Netduino </strong>piuttosto che <strong>Arduino</strong> o <strong>Picmicro</strong>. Certamente un fattore importante è il costo, che si aggira intono ai 30€ per Netduino/Arduino mentre per i Picmicro siamo intorno ai 3-8€.<br />
In una prima fase possiamo usare Netduino per creare un prototipo, per poi eseguire un porting del progetto su Picmicro in modo da abbattere i costi di realizzazione della centralina.</p>
<p>I sensori del mio prototipo sono tre, un sensore di temperatura analogico tipo <strong>MCP9700a</strong>, un sensore di luminosità basato su <strong>fotoresistenza</strong> e un sensore di umidità realizzato con due puntali da inserire nel terreno.<br />
Il Netduino acquisisce tramite gli ingressi analogici questi segnali e in base al suo software gestisce un piccolo relè che va a pilotare l&#8217;elettrovalvola.<br />
Nella figura seguente è rappresentato lo schema a blocchi:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-1165 size-full" title="SchemaBlocchiAutoIrrigazione" src="https://logicaprogrammabile.it/wp-content/uploads/2011/05/SchemaBlocchiAutoIrrigazione.gif" alt="Schema Sistema Irrigazione Fai da Te" width="513" height="408" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/05/SchemaBlocchiAutoIrrigazione.gif 513w, https://logicaprogrammabile.it/wp-content/uploads/2011/05/SchemaBlocchiAutoIrrigazione-300x238.gif 300w" sizes="auto, (max-width: 513px) 100vw, 513px" /></p>
<p>Credo che le informazioni di questo articolo siano sufficienti per iniziare a costruire il proprio orto automatizzato. Certamente le nozioni per la realizzazione dell&#8217;impianto di microirrigazione sono da approfondire ma con un po di manualità si può apprendere da soli come impostare e realizzare il proprio sistema idrico.<br />
Per quanto riguarda la parte della realizzazione della centralina elettronica vi rimando al prossimo articolo.</p>
<p>The post <a href="https://logicaprogrammabile.it/irrigazione-automatica-netduino/">Netduino e irrigazione automatica fai da te (Teoria)</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/irrigazione-automatica-netduino/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>FEZ Panda 2 GHI Electronics caratteristiche tecniche</title>
		<link>https://logicaprogrammabile.it/fez-panda-2-caratteristiche/</link>
					<comments>https://logicaprogrammabile.it/fez-panda-2-caratteristiche/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Mon, 09 May 2011 08:46:38 +0000</pubDate>
				<category><![CDATA[Notizie]]></category>
		<category><![CDATA[.Net micro framework]]></category>
		<category><![CDATA[FEZ]]></category>
		<category><![CDATA[Fez Panda 2]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=950</guid>

					<description><![CDATA[<p>Ghi Electronics FEZ panda II Ho acquistato la scheda FEZ Panda II della GHI Electronics, sinceramente non ho ancora provato ad usarla ma le sue caratteristiche tecniche mi hanno incuriosito. Anche la FEZ Panda è basata sul .Net micro framework, come il Netduino, e nonostante le...</p>
<p>The post <a href="https://logicaprogrammabile.it/fez-panda-2-caratteristiche/">FEZ Panda 2 GHI Electronics caratteristiche tecniche</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Ghi Electronics FEZ panda II</h1>
<p>Ho acquistato la scheda <strong>FEZ Panda II</strong> della <strong>GHI Electronics</strong>, sinceramente non ho ancora provato ad usarla ma le sue caratteristiche tecniche mi hanno incuriosito. Anche la <strong>FEZ Panda</strong> è basata sul <strong>.Net micro framework</strong>, come il <strong>Netduino</strong>, e nonostante le sue dimensioni siano leggermente superiori rispetto al <strong>Netduino</strong> le funzionalità della Panda II sono notevolmente superiori. L&#8217;immagine riepiloga le funzioni principali della scheda:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-952 size-full" title="FEZ Panda 2" src="https://logicaprogrammabile.it/wp-content/uploads/2011/04/28450_large.jpg" alt="Fez panda 2 con micro framework" width="620" height="400" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/04/28450_large.jpg 620w, https://logicaprogrammabile.it/wp-content/uploads/2011/04/28450_large-300x193.jpg 300w" sizes="auto, (max-width: 620px) 100vw, 620px" /></p>
<p>Il cuore della scheda è il processore è un<strong> NXP LPC2387</strong> a 32bit, con una frequenza di ben 72Mhz. Oltre ai classici connettori Arduino compatibili, ne troviamo un&#8217;altro che dispone di ulteriori 32 pin digitali configurabili come ingressi o uscite, inoltre sono presenti 3 porte <strong>UART</strong> una <strong>SPI</strong> e una <strong>CAN</strong>.<br />
La scheda presenta anche uno slot micro SD per come supporto di memorizzazione una scheda <strong>SD</strong>. La porta usb che viene normalmente utilizzata per il debug delle applicazioni può essere programmata come porta seriale in modo da creare programmi che permettono di scambiare dati tramite la porta <strong>USB</strong>.<br />
Da notare la presenza di un quarzo aggiuntivo che permette di creare un <strong>RTC</strong> (real Time clock) e di tenerlo attivo tramite una batteria esterna.</p>
<p>La tabella seguente riepiloga le altre caratteristiche della scheda</p>
<table>
<tbody>
<tr>
<td>6 Ingressi analogici con convertitore AD a 10bit</td>
</tr>
<tr>
<td>6 Canali PWM</td>
</tr>
<tr>
<td>2 Canale CAN</td>
</tr>
<tr>
<td>2 KB RAM di BAckup tramite batteria esterna</td>
</tr>
<tr>
<td>Pulsante e Led onboard configurabili</td>
</tr>
<tr>
<td>4 porte UART di cui una con possibilità di handshaking</td>
</tr>
<tr>
<td>Interfaccia ONEWIRE attivabile si qualsiasi pin IO</td>
</tr>
<tr>
<td>Accesso ai registri del microcontrollore</td>
</tr>
<tr>
<td>1 uscita analogica per la generazione di segnali</td>
</tr>
<tr>
<td>Capacita di multi Threading</td>
</tr>
<tr>
<td>XML, FAT file system e crittografia (AES)</td>
</tr>
<tr>
<td>Capacità di passare in modalità basso consumo e ibernazione</td>
</tr>
</tbody>
</table>
<p>Nei prossimi post cercherò di realizzare qualche esperimento con questa scheda.<br />
Se qualcuno di voi ha avuto esperienza con questa scheda fatemi sapere cosa ne pensate.</p>
<p>The post <a href="https://logicaprogrammabile.it/fez-panda-2-caratteristiche/">FEZ Panda 2 GHI Electronics caratteristiche tecniche</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/fez-panda-2-caratteristiche/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Cosa posso fare con Arduino Netduino?</title>
		<link>https://logicaprogrammabile.it/cosa-posso-fare-con-arduino-netduino/</link>
					<comments>https://logicaprogrammabile.it/cosa-posso-fare-con-arduino-netduino/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Tue, 29 Mar 2011 09:11:24 +0000</pubDate>
				<category><![CDATA[Tutorial Arduino]]></category>
		<category><![CDATA[Tutorial Netduino]]></category>
		<category><![CDATA[.Net micro framework]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Esperimenti]]></category>
		<category><![CDATA[Progetti]]></category>
		<category><![CDATA[RFID]]></category>
		<category><![CDATA[Utilizzo]]></category>
		<category><![CDATA[Visual C#]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=618</guid>

					<description><![CDATA[<p>Idee sull&#8217;uso delle schede Netduino ed Arduino Era il 1999 quando acquistai il libro Programmare Microsoft Visual Basic 6.0, di Francesco Balena, quello fu il mio ingresso nel mondo della programmazione. Ancora non sapevo cosa potessi fare, che programmi potessi sviluppare, quali problemi sarei riuscito...</p>
<p>The post <a href="https://logicaprogrammabile.it/cosa-posso-fare-con-arduino-netduino/">Cosa posso fare con Arduino Netduino?</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Idee sull&#8217;uso delle schede Netduino ed Arduino</h1>
<p>Era il 1999 quando acquistai il libro Programmare Microsoft Visual Basic 6.0, di Francesco Balena, quello fu il mio ingresso nel mondo della programmazione. Ancora non sapevo cosa potessi fare, che programmi potessi sviluppare, quali problemi sarei riuscito a risolvere. Ero entusiasta di quel libro, tutto veniva spiegato accuratamente e con grande precisione e professionalità. Sognavo di realizzare software di ogni tipo, di aiutare amici e parenti con i miei programmi.</p>
<p>La cosa che più mi intrigava fu la possibilità che il software potesse interagire con il mondo esterno. Sfruttando la porta seriale oppure quella parallela, avevo l&#8217;intenzione di costruire piccoli dispositivi per acquisire segnali da sensori e pilotare attuatori. La cosa che però mi impedì di realizzare questi circuiti, fu l&#8217;ingombro fisico del pc. Non potevo creare un sistema di irrigazione automatizzato poiché era improbabile mettere un pc nei pressi di un giardino e farlo funzionare costantemente evitando malfunzionamenti. Senza pensare ai costi realizzazione di un sistema di questo tipo!</p>
<p>Passarono gli anni e la parte &#8216;hardware&#8217; dei miei progetti fu sopraffatta da quella software&#8230; Nel mentre nacque il .Net Framework e incominciai a migrare, dopo tanto codice vb6, verso il  nuovo linguaggio C#.</p>
<p>Ogni tanto sentivo parlare su vari forum e blog del .Net micro framework e di alcuni (pochi) dispositivi che potevano essere programmati utilizzando Visual C#, ma ormai ero lanciato verso lo sviluppo desktop e web e la voglia di riprendere in mano il saldatore era <del>quasi</del> svanita.</p>
<p>Successivamente il mondo dello sviluppo software ha iniziato ad entrare nelle case, nelle auto, nei dispositivi portatili, nel controllo accessi ed in generale ha ridato linfa al mondo embedded che era una nicchia riservato all&#8217;industria e alle medio-grandi imprese.<span id="more-618"></span>Alche io ho iniziato a domandarmi se i programmatori desktop e web potessero lavorare non solo con i pc ed i server ma anche con questi piccoli dispositivi che ormai potevano essere paragonati a dei pc in miniatura.<br />
La risposta giunse quando scoprii l&#8217;esistenza di Arduino e di Netduino poi. L&#8217;idea di poter scrivere codice per queste piattaforme era sorprendentemente fantastica! Potevo riprendere a sperimentare con i dispositivi hardware è creare nuove applicazioni.</p>
<p>Ma la domanda principale che mi sono posto è, <strong>cosa posso fare con Arduino Netduino</strong>?</p>
<p>Sicuramente trovo che questi dispositivi siano davvero versatili e duttili, ma certamente penso che non possano essere impiegati ovunque. In base alla mia esperienza professionale credo che gli ambiti migliori dove utilizzare Arduino e Netduino sono:</p>
<ul>
<li>Domotica</li>
<li>Agricoltura</li>
<li>Controllo accessi</li>
<li>Robotica amatoriale</li>
<li>Dispositivi di allarme</li>
<li>Stazioni meteo</li>
<li>Sistemi di controllo, anche remoti (esclusi quelli real time)</li>
<li>Dispositivi wireless</li>
<li>Dispositivi con accesso LAN</li>
<li>Utilizzo per scopi didattici e sperimentali</li>
</ul>
<p>certamente esistono altri impieghi, ma questa lista nasce secondo le mie esperienze, secondo quello che io potrei realmente realizzare con questi dispositivi. Non mi sembra giusto scrivere una serie di applicazioni, solo per avere un elenco più lungo e importante, che poi non saprei giustificare!</p>
<p>Analizzo meglio queste voci per dare un&#8217;idea più precisa sui vari punti</p>
<p><strong>Domotica</strong>:</p>
<p style="padding-left: 30px;">Circuiti elettronici che riguardano l&#8217;ambito domestico come controllo del sistema di illuminazione, gestione dell&#8217;impianto di riscaldamento, rivelazione fumi e gas, azionamento sistemi di irrigazione del giardino.</p>
<p><strong>Agricoltura:</strong></p>
<p style="padding-left: 30px;">Sistemi automatici di irrigazione, riscaldamento e refrigerazione serre.</p>
<p><strong>Controllo Accessi</strong>:</p>
<p style="padding-left: 30px;">Gestione lettori RFID per apertura ingressi, sistemi i accesso basati su tastiere o lettori di schede magnetiche. Possibilità di interfacciamento del sistema alla rete Lan.</p>
<p><strong>Robotica Amatoriale</strong>:</p>
<p style="padding-left: 30px;">Creazione automi basati sulla gestione di diversi sensori e attuatori. Creazione di piccoli robot autonomi che svolgono compiti predefiniti.</p>
<p><strong>Dispositivi di Allarme</strong>:</p>
<p style="padding-left: 30px;">Gestione di sensori di movimento e interruttori, attivazione sirene e segnalazione intrusione via rete gsm o internet.</p>
<p><strong>Stazione Meteo</strong>:</p>
<p style="padding-left: 30px;">Controllo di sensori di temperatura, pressione, umidità, anemometri e pluviometri e possibilità di registrare tutti i dati su memoria solida o invio tramite lan.</p>
<p><strong>Sistemi di Controllo</strong>:</p>
<p style="padding-left: 30px;">Controllo e gestione di sistemi numerici, acquisizione segnali, elaborazione e attuazione. Escluderei però sistemi real-time, e impieghi in ambito industriale.</p>
<p><strong>Dispositivi Wireless</strong>:</p>
<p style="padding-left: 30px;">Comunicazioni e controllo di dispositivi senza file utilizzando trasmettitori RF.</p>
<p><strong>Dispositivi con Accesso Lan</strong>:</p>
<p style="padding-left: 30px;">Creazione di sistemi con controllo remoto del dispositivo, piccoli server web, comunicazione con protocolli UDP e TCP/IP</p>
<p><strong>Utilizzo per scopi didattici</strong>:</p>
<p style="padding-left: 30px;">Realizzazione di semplici esperimenti per iniziare a imparare il funzionamento dei sistemi di controllo, dell&#8217;acquisizione segnali e loro elaborazione. Come sistema sperimentale per iniziare ad esplorare il mondo dell&#8217;elettronica.</p>
<p>La mia considerazione non vuole dare una  risposta definitiva alla domanda, ma penso che aiuti molti principianti, che ancora stanno valutando se acquistare questi dispositivi piuttosto che altri.<br />
Il mio consiglio è, visto il basso costo delle schede e la disponibilità di ambienti di sviluppo gratuiti, di investire un po di denaro per poter provare a sperimentare e creare piccoli circuiti. La pratica fa subito capire la potenzialità di queste schede e ci fa entrare in un mondo sicuramente interessante che puo dare tante soddisfazioni.<br />
Buona sperimentazione a tutti!</p>
<p>The post <a href="https://logicaprogrammabile.it/cosa-posso-fare-con-arduino-netduino/">Cosa posso fare con Arduino Netduino?</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/cosa-posso-fare-con-arduino-netduino/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
