<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://wiki.golem.linux.it/index.php?action=history&amp;feed=atom&amp;title=Arduino_e_il_PWM</id>
	<title>Arduino e il PWM - Cronologia</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.golem.linux.it/index.php?action=history&amp;feed=atom&amp;title=Arduino_e_il_PWM"/>
	<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=Arduino_e_il_PWM&amp;action=history"/>
	<updated>2026-04-29T18:52:59Z</updated>
	<subtitle>Cronologia della pagina su questo sito</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=Arduino_e_il_PWM&amp;diff=9921&amp;oldid=prev</id>
		<title>Martinligabue: /* Musica, arduino! */ sottocategoria</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=Arduino_e_il_PWM&amp;diff=9921&amp;oldid=prev"/>
		<updated>2026-04-05T22:39:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Musica, arduino!: &lt;/span&gt; sottocategoria&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 22:39, 5 apr 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l72&quot; &gt;Riga 72:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 72:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Come saprai, il La fondamentale ha una frequenza di 440Hz, ma siccome la frequenza PWM è fissa a 50Hz è stata realizzata una funzione apposita che consente di variarla; per far suonare il buzzer basta chiamare &amp;lt;code&amp;gt;Tone(&amp;lt;var&amp;gt;pin&amp;lt;/var&amp;gt;,&amp;lt;var&amp;gt;frequenza&amp;lt;/var&amp;gt;)&amp;lt;/code&amp;gt;, e per farlo smettere &amp;lt;code&amp;gt;noTone(&amp;lt;var&amp;gt;pin&amp;lt;/var&amp;gt;)&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Come saprai, il La fondamentale ha una frequenza di 440Hz, ma siccome la frequenza PWM è fissa a 50Hz è stata realizzata una funzione apposita che consente di variarla; per far suonare il buzzer basta chiamare &amp;lt;code&amp;gt;Tone(&amp;lt;var&amp;gt;pin&amp;lt;/var&amp;gt;,&amp;lt;var&amp;gt;frequenza&amp;lt;/var&amp;gt;)&amp;lt;/code&amp;gt;, e per farlo smettere &amp;lt;code&amp;gt;noTone(&amp;lt;var&amp;gt;pin&amp;lt;/var&amp;gt;)&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Category&lt;/del&gt;:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Howto&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Categoria&lt;/ins&gt;:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Hardware&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Martinligabue</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=Arduino_e_il_PWM&amp;diff=8027&amp;oldid=prev</id>
		<title>Giomba: Corretto typo periodo PWM da 2 a 20ms</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=Arduino_e_il_PWM&amp;diff=8027&amp;oldid=prev"/>
		<updated>2018-06-01T20:19:28Z</updated>

		<summary type="html">&lt;p&gt;Corretto typo periodo PWM da 2 a 20ms&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 20:19, 1 giu 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot; &gt;Riga 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|successiva=Arduino_e_comunicazione_seriale}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|successiva=Arduino_e_comunicazione_seriale}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Arduino-pwmsig.gif | 650px | center]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Arduino-pwmsig.gif | 650px | center]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''PWM''', Pulse-Width Modulation, significa modulazione a larghezza d'impulso e consente di variare lo stato di un &amp;lt;u&amp;gt;piedino digitale&amp;lt;/u&amp;gt; da HIGH a LOW e viceversa in modo periodico. I piedini digitali di Arduino Duemilanove e di Arduino Uno che possono eseguire questa 	funzionalità sono contrassegnati con PWM o con una tilde &amp;amp;#126; e sono i n° 3, 5, 6, 9, 10, 11. Come vedi nell'immagine, l'impulso PWM è caratterizzato da un periodo, evidenziato in rosso, che su Arduino equivale a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;2 &lt;/del&gt;millisecondi e da un '''duty cycle''', ovvero la percentuale di tempo in cui l'impulso &amp;amp;egrave; ''HIGH''. Ma a cosa serve? Abbiamo parlato dei led, che possono accendersi solo con una determinata tensione. Se volessi accenderne uno con una '''luminosità ridotta''' potrei collegarlo ad una resistenza maggiore, ma l'energia in eccesso verrebbe dissipata in calore. Attraverso il PWM invece posso ''variare rapidamente la tensione'' da 0 a 5v, cos&amp;amp;igrave; il LED passa da acceso a spento in modo talmente veloce che l'occhio non riesce a percepire un netto distacco buio/luce, ma avrà una sensazione di luminosità minore. Quindi, facendo riferimento al grafico in alto, pi&amp;amp;ugrave; aumento la durata dello stato HIGH e pi&amp;amp;ugrave; il LED sembrer&amp;amp;agrave; luminoso.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''PWM''', Pulse-Width Modulation, significa modulazione a larghezza d'impulso e consente di variare lo stato di un &amp;lt;u&amp;gt;piedino digitale&amp;lt;/u&amp;gt; da HIGH a LOW e viceversa in modo periodico. I piedini digitali di Arduino Duemilanove e di Arduino Uno che possono eseguire questa 	funzionalità sono contrassegnati con PWM o con una tilde &amp;amp;#126; e sono i n° 3, 5, 6, 9, 10, 11. Come vedi nell'immagine, l'impulso PWM è caratterizzato da un periodo, evidenziato in rosso, che su Arduino equivale a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;20 &lt;/ins&gt;millisecondi e da un '''duty cycle''', ovvero la percentuale di tempo in cui l'impulso &amp;amp;egrave; ''HIGH''. Ma a cosa serve? Abbiamo parlato dei led, che possono accendersi solo con una determinata tensione. Se volessi accenderne uno con una '''luminosità ridotta''' potrei collegarlo ad una resistenza maggiore, ma l'energia in eccesso verrebbe dissipata in calore. Attraverso il PWM invece posso ''variare rapidamente la tensione'' da 0 a 5v, cos&amp;amp;igrave; il LED passa da acceso a spento in modo talmente veloce che l'occhio non riesce a percepire un netto distacco buio/luce, ma avrà una sensazione di luminosità minore. Quindi, facendo riferimento al grafico in alto, pi&amp;amp;ugrave; aumento la durata dello stato HIGH e pi&amp;amp;ugrave; il LED sembrer&amp;amp;agrave; luminoso.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Esempi di impulsi PWM:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Esempi di impulsi PWM:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Giomba</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=Arduino_e_il_PWM&amp;diff=5852&amp;oldid=prev</id>
		<title>Giulio: linkate correttamente immagini</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=Arduino_e_il_PWM&amp;diff=5852&amp;oldid=prev"/>
		<updated>2012-10-31T20:18:36Z</updated>

		<summary type="html">&lt;p&gt;linkate correttamente immagini&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 20:18, 31 ott 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot; &gt;Riga 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|indice=Elettronica_Opensource&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|indice=Elettronica_Opensource&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|successiva=Arduino_e_comunicazione_seriale}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|successiva=Arduino_e_comunicazione_seriale}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pwm&lt;/del&gt;.gif | 650px | center]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Arduino-pwmsig&lt;/ins&gt;.gif | 650px | center]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''PWM''', Pulse-Width Modulation, significa modulazione a larghezza d'impulso e consente di variare lo stato di un &amp;lt;u&amp;gt;piedino digitale&amp;lt;/u&amp;gt; da HIGH a LOW e viceversa in modo periodico. I piedini digitali di Arduino Duemilanove e di Arduino Uno che possono eseguire questa 	funzionalità sono contrassegnati con PWM o con una tilde &amp;amp;#126; e sono i n° 3, 5, 6, 9, 10, 11. Come vedi nell'immagine, l'impulso PWM è caratterizzato da un periodo, evidenziato in rosso, che su Arduino equivale a 2 millisecondi e da un '''duty cycle''', ovvero la percentuale di tempo in cui l'impulso &amp;amp;egrave; ''HIGH''. Ma a cosa serve? Abbiamo parlato dei led, che possono accendersi solo con una determinata tensione. Se volessi accenderne uno con una '''luminosità ridotta''' potrei collegarlo ad una resistenza maggiore, ma l'energia in eccesso verrebbe dissipata in calore. Attraverso il PWM invece posso ''variare rapidamente la tensione'' da 0 a 5v, cos&amp;amp;igrave; il LED passa da acceso a spento in modo talmente veloce che l'occhio non riesce a percepire un netto distacco buio/luce, ma avrà una sensazione di luminosità minore. Quindi, facendo riferimento al grafico in alto, pi&amp;amp;ugrave; aumento la durata dello stato HIGH e pi&amp;amp;ugrave; il LED sembrer&amp;amp;agrave; luminoso.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''PWM''', Pulse-Width Modulation, significa modulazione a larghezza d'impulso e consente di variare lo stato di un &amp;lt;u&amp;gt;piedino digitale&amp;lt;/u&amp;gt; da HIGH a LOW e viceversa in modo periodico. I piedini digitali di Arduino Duemilanove e di Arduino Uno che possono eseguire questa 	funzionalità sono contrassegnati con PWM o con una tilde &amp;amp;#126; e sono i n° 3, 5, 6, 9, 10, 11. Come vedi nell'immagine, l'impulso PWM è caratterizzato da un periodo, evidenziato in rosso, che su Arduino equivale a 2 millisecondi e da un '''duty cycle''', ovvero la percentuale di tempo in cui l'impulso &amp;amp;egrave; ''HIGH''. Ma a cosa serve? Abbiamo parlato dei led, che possono accendersi solo con una determinata tensione. Se volessi accenderne uno con una '''luminosità ridotta''' potrei collegarlo ad una resistenza maggiore, ma l'energia in eccesso verrebbe dissipata in calore. Attraverso il PWM invece posso ''variare rapidamente la tensione'' da 0 a 5v, cos&amp;amp;igrave; il LED passa da acceso a spento in modo talmente veloce che l'occhio non riesce a percepire un netto distacco buio/luce, ma avrà una sensazione di luminosità minore. Quindi, facendo riferimento al grafico in alto, pi&amp;amp;ugrave; aumento la durata dello stato HIGH e pi&amp;amp;ugrave; il LED sembrer&amp;amp;agrave; luminoso.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot; &gt;Riga 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   |_______| |________ 25%  -&amp;amp;gt; 63&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   |_______| |________ 25%  -&amp;amp;gt; 63&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:pwm-schema.gif | 500px | center]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Arduino-&lt;/ins&gt;pwm-schema.gif | 500px | center]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l41&quot; &gt;Riga 41:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 41:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Musica, arduino!==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Musica, arduino!==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:buzzer.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;gif &lt;/del&gt;| &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;150px &lt;/del&gt;| '''Un buzzer:''' piccolo altoparlante | thumb | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;left&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Arduino-&lt;/ins&gt;buzzer.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;jpg &lt;/ins&gt;| &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;100px &lt;/ins&gt;| '''Un buzzer:''' piccolo altoparlante | thumb | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;right&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Chi ha studiato un po' di fisica o acustica saprà che il '''suono''' non è altro che una vibrazione, e che le casse suonano perché una sottile membrana magnetizzata viene eccitata a frequenza determinata da un'elettrocalamita, quindi si potrebbe usare il PWM per far suonare degli speaker. Detto così è molto tirato via, però è il principio applicabile in linea di massima per generare suoni su un piccolo altoparlante: il buzzer. Se hai un computer rotto lo puoi trovare lì, è quel componente che fa il ''bip'' all'accensione.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Chi ha studiato un po' di fisica o acustica saprà che il '''suono''' non è altro che una vibrazione, e che le casse suonano perché una sottile membrana magnetizzata viene eccitata a frequenza determinata da un'elettrocalamita, quindi si potrebbe usare il PWM per far suonare degli speaker. Detto così è molto tirato via, però è il principio applicabile in linea di massima per generare suoni su un piccolo altoparlante: il buzzer. Se hai un computer rotto lo puoi trovare lì, è quel componente che fa il ''bip'' all'accensione.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Giulio</name></author>
	</entry>
	<entry>
		<id>https://wiki.golem.linux.it/index.php?title=Arduino_e_il_PWM&amp;diff=5832&amp;oldid=prev</id>
		<title>Giulio: bozza</title>
		<link rel="alternate" type="text/html" href="https://wiki.golem.linux.it/index.php?title=Arduino_e_il_PWM&amp;diff=5832&amp;oldid=prev"/>
		<updated>2012-10-31T17:06:11Z</updated>

		<summary type="html">&lt;p&gt;bozza&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Guide&lt;br /&gt;
|immagine=Pulsante-arduino.gif&lt;br /&gt;
|guida=Arduino&lt;br /&gt;
|precedente=Arduino_e_sensori_analogici&lt;br /&gt;
|indice=Elettronica_Opensource&lt;br /&gt;
|successiva=Arduino_e_comunicazione_seriale}}&lt;br /&gt;
[[File:pwm.gif | 650px | center]]&lt;br /&gt;
'''PWM''', Pulse-Width Modulation, significa modulazione a larghezza d'impulso e consente di variare lo stato di un &amp;lt;u&amp;gt;piedino digitale&amp;lt;/u&amp;gt; da HIGH a LOW e viceversa in modo periodico. I piedini digitali di Arduino Duemilanove e di Arduino Uno che possono eseguire questa 	funzionalità sono contrassegnati con PWM o con una tilde &amp;amp;#126; e sono i n° 3, 5, 6, 9, 10, 11. Come vedi nell'immagine, l'impulso PWM è caratterizzato da un periodo, evidenziato in rosso, che su Arduino equivale a 2 millisecondi e da un '''duty cycle''', ovvero la percentuale di tempo in cui l'impulso &amp;amp;egrave; ''HIGH''. Ma a cosa serve? Abbiamo parlato dei led, che possono accendersi solo con una determinata tensione. Se volessi accenderne uno con una '''luminosità ridotta''' potrei collegarlo ad una resistenza maggiore, ma l'energia in eccesso verrebbe dissipata in calore. Attraverso il PWM invece posso ''variare rapidamente la tensione'' da 0 a 5v, cos&amp;amp;igrave; il LED passa da acceso a spento in modo talmente veloce che l'occhio non riesce a percepire un netto distacco buio/luce, ma avrà una sensazione di luminosità minore. Quindi, facendo riferimento al grafico in alto, pi&amp;amp;ugrave; aumento la durata dello stato HIGH e pi&amp;amp;ugrave; il LED sembrer&amp;amp;agrave; luminoso.&lt;br /&gt;
&lt;br /&gt;
 Esempi di impulsi PWM:&lt;br /&gt;
 ____________________&lt;br /&gt;
                      100% -&amp;amp;gt; 255&lt;br /&gt;
 _____     _____&lt;br /&gt;
      |___|     |____ 50%  -&amp;amp;gt; 127&lt;br /&gt;
 ___       ___&lt;br /&gt;
    |_____|   |______ 30%  -&amp;amp;gt; 85&lt;br /&gt;
 _         _&lt;br /&gt;
  |_______| |________ 25%  -&amp;amp;gt; 63&lt;br /&gt;
&lt;br /&gt;
[[File:pwm-schema.gif | 500px | center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//pwm.ino&lt;br /&gt;
const short pwm=9;&lt;br /&gt;
//Sensore analogico per variare il duty cycle&lt;br /&gt;
const short sensore=0;&lt;br /&gt;
void setup() {&lt;br /&gt;
	pinMode(pwm, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
void loop() {&lt;br /&gt;
	//Variabile che contiene il valore proporzionato letto dal sensore analogico&lt;br /&gt;
	byte valore=map(analogRead(sensore),0,1023,0,255);&lt;br /&gt;
	//Il valore viene attuato sul piedino PWM&lt;br /&gt;
	analogWrite(pwm,valore);&lt;br /&gt;
	//Piccola pausa&lt;br /&gt;
	delay(10);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo programma ti consente di sperimentare facilmente come funziona il PWM: se hai collegato tutto correttamente avrai costruito un '''varialuce''', perché ruotando il potenziometro vedrai l'intensità luminosa del led variare. Riprendiamo un po' la teoria, dell'impulso posso variare la percentuale di tempo &amp;quot;HIGH&amp;quot;, ovvero il duty cycle: questa percentuale viene espressa con un valore 0-255 (nota le potenze del 2 ricorrenti), e puoi variarlo facilmente con un sensore analogico, tipo il solito potenziometro;	ruotandolo &amp;quot;al massimo&amp;quot; vedrai il led completamente acceso, che piano piano si spegne se ruoti la manopola del potenziometro. Per convertire il range 0-1023 in 0-255 ho usato la funzione &amp;lt;code&amp;gt;map()&amp;lt;/code&amp;gt;, che avevamo già visto.&lt;br /&gt;
&lt;br /&gt;
==Musica, arduino!==&lt;br /&gt;
[[File:buzzer.gif | 150px | '''Un buzzer:''' piccolo altoparlante | thumb | left]]&lt;br /&gt;
&lt;br /&gt;
Chi ha studiato un po' di fisica o acustica saprà che il '''suono''' non è altro che una vibrazione, e che le casse suonano perché una sottile membrana magnetizzata viene eccitata a frequenza determinata da un'elettrocalamita, quindi si potrebbe usare il PWM per far suonare degli speaker. Detto così è molto tirato via, però è il principio applicabile in linea di massima per generare suoni su un piccolo altoparlante: il buzzer. Se hai un computer rotto lo puoi trovare lì, è quel componente che fa il ''bip'' all'accensione.&lt;br /&gt;
&lt;br /&gt;
Per usarlo ti basta collegare il filo nero a massa, e quello rosso ad un piedino (se hai colori diversi fai una prova, e se funziona male li inverti), a questo punto carica il seguente listato;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define DO3 262&lt;br /&gt;
#define RE3 294&lt;br /&gt;
#define MI3 330&lt;br /&gt;
#define FA3 349&lt;br /&gt;
#define SOL3 392&lt;br /&gt;
#define LA3 440&lt;br /&gt;
//...&lt;br /&gt;
const short buzzer=3;&lt;br /&gt;
void setup() {&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
	tone(buzzer, LA3);&lt;br /&gt;
	delay(500); //Suona il La per mezzo secondo&lt;br /&gt;
	noTone(buzzer);&lt;br /&gt;
	delay(500); //Mezzo secondo di pausa&lt;br /&gt;
	tone(buzzer, DO3);&lt;br /&gt;
	delay(300); //Suona il Do per 300 millisecondi&lt;br /&gt;
	noTone(buzzer);&lt;br /&gt;
	delay(500); //Mezzo secondo di pausa&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Come saprai, il La fondamentale ha una frequenza di 440Hz, ma siccome la frequenza PWM è fissa a 50Hz è stata realizzata una funzione apposita che consente di variarla; per far suonare il buzzer basta chiamare &amp;lt;code&amp;gt;Tone(&amp;lt;var&amp;gt;pin&amp;lt;/var&amp;gt;,&amp;lt;var&amp;gt;frequenza&amp;lt;/var&amp;gt;)&amp;lt;/code&amp;gt;, e per farlo smettere &amp;lt;code&amp;gt;noTone(&amp;lt;var&amp;gt;pin&amp;lt;/var&amp;gt;)&amp;lt;/code&amp;gt;.&lt;br /&gt;
[[Category:Howto]]&lt;/div&gt;</summary>
		<author><name>Giulio</name></author>
	</entry>
</feed>