tag:blogger.com,1999:blog-90262790492579594802024-02-20T18:39:40.327+01:00Alessandro Riva elettronicaAlessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.comBlogger36125tag:blogger.com,1999:blog-9026279049257959480.post-45899964646193384072014-06-26T13:12:00.000+02:002014-06-26T13:12:36.775+02:00Come programmare Arduino Pro Mini cineseDopo solo 11 giorni mi è arrivato l'Arduino Pro Mini dalla Cina al fantastico prezzo di 2€! (<a href="http://www.ebay.it/itm/131053554958?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649">LINK ACQUISTO</a>)<br />
Viene venduto con gli header maschi inclusi, ma da saldare.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXlzo-6PQlGOi8iLZZtGzw5oHLvaVQ-iua8v77QAZCnbjV9elFuTUZBKnJ24kVw0moo1U_Aj7epE3cYC0kfaxAMF0wj7VlMg8kW4SVOmSFfc19WQ1kGGhtKy0Qt7kaVJH4v8U63pQq7R0/s1600/20140625_133120.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXlzo-6PQlGOi8iLZZtGzw5oHLvaVQ-iua8v77QAZCnbjV9elFuTUZBKnJ24kVw0moo1U_Aj7epE3cYC0kfaxAMF0wj7VlMg8kW4SVOmSFfc19WQ1kGGhtKy0Qt7kaVJH4v8U63pQq7R0/s1600/20140625_133120.jpg" height="300" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Con gli header ancora da saldare</td></tr>
</tbody></table>
L'Arduino Pro Mini non è dotato di ports USB, oggi vediamo come programmarlo usando un convertitore FT232.<br />
Su Ebay ci sono molti tipi di convertitori USB-seriale, ma prima di acquistarlo dovete verificare se è presente il pin DTR che ha lo scopo di resettare il nostro Arduino, altrimenti non può essere programmato.<br />
L'adattatore che ho usato io è questo, e costa circa 5€ da Ebay: (<a href="http://www.ebay.it/itm/1pcs-FT232RL-USB-to-Serial-adapter-module-USB-TO-232-for-Arduino-download-cable-/251155233587?pt=LH_DefaultDomain_0&hash=item3a7a04bb33&_uhb=1">LINK ACQUISTO</a>)<br />
Scaricate i driver da: <a href="http://www.ftdichip.com/Drivers/VCP.htm">QUI</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZfENToC3mptgBfqjS-7Z79mj7g6GBhqHMYp6BuA3L8Ta9v7cAGGoMgDQ5XhC6X0HJm2M2RufsPuA74g8QHsakSOnAGogacIOrECf3wYE3RJ5oPacdXo7en0Qiw7LjHB_4LPeUqAOkesk/s1600/DSC_0394.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZfENToC3mptgBfqjS-7Z79mj7g6GBhqHMYp6BuA3L8Ta9v7cAGGoMgDQ5XhC6X0HJm2M2RufsPuA74g8QHsakSOnAGogacIOrECf3wYE3RJ5oPacdXo7en0Qiw7LjHB_4LPeUqAOkesk/s1600/DSC_0394.JPG" height="267" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Riguardo al Pin-Out dell'Arduino Pro Mini, su internet su trovano molti immagini errate, quello corretto lo trovate qui di seguito:<br />
<div>
<a name='more'></a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgzyohrRuygpay8mOOd7A-8mg93mFiZyRCtg02MLiXUw0ih0AAe4-TrYqlGtnU7MACLzsKto4N9N0JFqTG0MRDoG-Lk1dzSFgGxsKKalkfAcKzP7ggBJBguNC8zarJNTj0eDQsOC2i4cE/s1600/ardu.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgzyohrRuygpay8mOOd7A-8mg93mFiZyRCtg02MLiXUw0ih0AAe4-TrYqlGtnU7MACLzsKto4N9N0JFqTG0MRDoG-Lk1dzSFgGxsKKalkfAcKzP7ggBJBguNC8zarJNTj0eDQsOC2i4cE/s1600/ardu.JPG" height="156" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
I collegamenti con l'adattatore USB - FT232 sono i seguenti:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div>
Arduino Pro Mini -------->> FT232</div>
<div>
<br /></div>
<div>
GND--------------------->GND</div>
<div>
VCC---------------------> VCC</div>
<div>
RX----------------------->TX</div>
<div>
TX----------------------->RX</div>
<div>
DTR(grn)----------------->DTR</div>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKEvCTAv4hsIpCy6SNerOnuV7eRxvC7jK4uzhG_KDQ5VHF-Vy4pWK_bw6HxXtiRXh4uoKfpTf4AX5B0kk_myCKvKzoprhWl0jJHmCV1NtJLi4OeN3yVVEUX_uZXMJrvU6JXrW6o2sUB_c/s1600/DSC_0395.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKEvCTAv4hsIpCy6SNerOnuV7eRxvC7jK4uzhG_KDQ5VHF-Vy4pWK_bw6HxXtiRXh4uoKfpTf4AX5B0kk_myCKvKzoprhWl0jJHmCV1NtJLi4OeN3yVVEUX_uZXMJrvU6JXrW6o2sUB_c/s1600/DSC_0395.JPG" height="267" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Risultato finale.</td></tr>
</tbody></table>
<div>
<br /></div>
<div>
<br /></div>
<div>
Nell'IDE di Arduino ricordatevi di selezionare la porta seriale corretta e il tipo di Arduino:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgi9NRPXSx6ms3tOJM8wn5d00gGiAiSvjX_mrZhFxl402tVdH6pgnof9cS-T6LyzwBqLHKiO7htjVeWqUKhyDxzX4qAJjLxjknRKqwjV1v0BaeyVlPbAmffNnK4C6mbXeTaED473JzXCA/s1600/Cattura+di+schermata+(31).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgi9NRPXSx6ms3tOJM8wn5d00gGiAiSvjX_mrZhFxl402tVdH6pgnof9cS-T6LyzwBqLHKiO7htjVeWqUKhyDxzX4qAJjLxjknRKqwjV1v0BaeyVlPbAmffNnK4C6mbXeTaED473JzXCA/s1600/Cattura+di+schermata+(31).png" height="273" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: red; font-size: large;"><b>Breve video:</b></span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
<br /></div>
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/SG9eplyiffk" width="560"></iframe>
<br />
<span style="text-align: center;">Piccolo consiglio: Per saldare gli header maschio sull'Arduino Pro Mini appoggiatelo sulla breadboard così rimarrà fermo e potrete fare delle buone saldature.</span><br />
<span style="text-align: center;"><br /></span>
<span style="text-align: center;">Per qualsiasi domanda o chiarimento scrivete qua sotto nei commenti!</span></div>
Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com4tag:blogger.com,1999:blog-9026279049257959480.post-22992381070149590432014-06-24T21:38:00.000+02:002014-06-24T22:36:14.261+02:00Programmare Arduino in puro C #1: Facciamo lampeggiare un ledVoglio iniziare una serie di articoli su come programmare Arduino UNO (basato sull'ATmega328p).<br />
Per programmare non userò il classico IDE di Arduino, ma un programma di casa Atmel: AVR studio 6 che potete scaricare da <a href="http://www.atmel.com/System/BaseForm.aspx?target=tcm:26-56038">QUI</a> (dovete registrarvi).<br />
Programmare arduino senza passare dall'IDE ufficiale hai il vantaggio che si può avere il pieno controllo del microcontrollore, e soprattutto è molto utile per capire a fondo come funziona questo micro, lo svantaggio è che è più difficile da programmare, ma con voglia e passione piano piano si impara, il mio obiettivo è di riuscire a fare con Atmel studio tutto quello che so fare con l'IDE ufficiale di Arduino.<br />
Dopo aver installato il programma andare su file --> nuovo progetto<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgekzGg8Ml-xnYcSMJHQRhNQXD2n7x1B8BcKKf-T5WeixTsg5p6hpniRB0K-BTL7wbxoc9bBe6yjjp0u6xwbqQ_t64guZW77eJLClzfw5LP8kPIh9lu2PSFEGkVkIqfDvDGrJO9lyR_DX4/s1600/nuovo+progetto.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgekzGg8Ml-xnYcSMJHQRhNQXD2n7x1B8BcKKf-T5WeixTsg5p6hpniRB0K-BTL7wbxoc9bBe6yjjp0u6xwbqQ_t64guZW77eJLClzfw5LP8kPIh9lu2PSFEGkVkIqfDvDGrJO9lyR_DX4/s1600/nuovo+progetto.png" height="205" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Poi selezioniamo il tipo di progetto: GCC C executable project, scegliamo un nome e facciamo OK.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtTxFe6LZYAqam1LHc-14-Xy6aUfZt9H6-FORCmxUICa7YMTAY8QArLDti8GLB48sFvGqasjXVItsPymwuUOreyzDgmi9Tw_vQlXdyPIiLijmXwHZ02S1GyikwwZWuGQOY_3cniwREVig/s1600/tipo+progetto.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtTxFe6LZYAqam1LHc-14-Xy6aUfZt9H6-FORCmxUICa7YMTAY8QArLDti8GLB48sFvGqasjXVItsPymwuUOreyzDgmi9Tw_vQlXdyPIiLijmXwHZ02S1GyikwwZWuGQOY_3cniwREVig/s1600/tipo+progetto.png" height="280" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Poi selezioniamo il modello del microcontrollore di Arduino UNO , l'ATmega328p:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmmuCQl3FLg7KIIjq2mOcPeGBU_6mzwWLduID9XXvXW7k-LG56JlKLv8XRbL1BwVf14PeYOg4m-QaUbS73R7BTAJ4DE5dQgEKn9smcWffmotxCEOqQHjxorwQ3Z0TygQqGqWZFF33Qj2M/s1600/cerchiamo+il+micro.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmmuCQl3FLg7KIIjq2mOcPeGBU_6mzwWLduID9XXvXW7k-LG56JlKLv8XRbL1BwVf14PeYOg4m-QaUbS73R7BTAJ4DE5dQgEKn9smcWffmotxCEOqQHjxorwQ3Z0TygQqGqWZFF33Qj2M/s1600/cerchiamo+il+micro.png" height="276" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Dovremo trovarci davanti ad una schermata come questa:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWuu5vAsnsnJv8yJQLapuGh8by-69pGrzeE98MW9KGF6mb41DYt9IxsMcQqXLjCOiTtmoFPZhqhNBs80XW8H2NZab8fkdzEkQXO9tFxzw-u2uMHsNd82wx7xZiGyV_AXTNEXSDI1F2dg0/s1600/codice+base.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWuu5vAsnsnJv8yJQLapuGh8by-69pGrzeE98MW9KGF6mb41DYt9IxsMcQqXLjCOiTtmoFPZhqhNBs80XW8H2NZab8fkdzEkQXO9tFxzw-u2uMHsNd82wx7xZiGyV_AXTNEXSDI1F2dg0/s1600/codice+base.png" height="166" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Bene, la parte più noiosa è terminata.</div>
<div class="separator" style="clear: both; text-align: left;">
L'instruzione <i><span style="color: blue;">while</span>(1),</i> è una condizione sempre vera e corrisponde al void loop() nel linguaggio di Arduino.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
<a name='more'></a><br />
<br />
Per le numerazioni dei pin del micro non dobbiamo riferirci ai nomi di Arduino, ma al seguente schema:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvf3BO96BPpCCoN4E8kBeVfntLFq7N-_F1wn7wVtYeOFqXJ4ROmJbT2y9GLxDVj-RUmrQjkmSO3qayjCDgmH3s5HhyPt9vgG-yqgqwpfvzuOkfrHWKjeUJ0CqW956ZCaIeBY-wL3V1OpE/s1600/arduinocircuit_fig12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvf3BO96BPpCCoN4E8kBeVfntLFq7N-_F1wn7wVtYeOFqXJ4ROmJbT2y9GLxDVj-RUmrQjkmSO3qayjCDgmH3s5HhyPt9vgG-yqgqwpfvzuOkfrHWKjeUJ0CqW956ZCaIeBY-wL3V1OpE/s1600/arduinocircuit_fig12.jpg" height="261" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Nell'ATmega328p ci sono 3 tipi di porte:</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul>
<li>PORTB: comprende i pin digitali dal 8 al 13</li>
<li>PORTC: comprende i pin analogici da A0 a A5</li>
<li>PORTD: comprende i pin digitali dal pin 0 al 7</li>
</ul>
Questi nomi fanno riferimento all'indirizzo di memoria dei registri per poter manipolare i pin.<br />
<div class="separator" style="clear: both; text-align: left;">
Per ogni "PORT" (B,C,D) ci sono altri 3 tipi di registri:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq4DgexUWm4yOe_KFIc8bgEat7k3gZEo1z_Y9YtzpNSeDKL-dI6TOKzn_EWdIKs_s-xazk5UdSu8VRf5GdO-ERsqfAaGw-0Bmt7yrJk-sED5H1JtjtfSu-r9vAUa1k2uEsFWV6oQ4wQjk/s1600/Cattura.PNG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq4DgexUWm4yOe_KFIc8bgEat7k3gZEo1z_Y9YtzpNSeDKL-dI6TOKzn_EWdIKs_s-xazk5UdSu8VRf5GdO-ERsqfAaGw-0Bmt7yrJk-sED5H1JtjtfSu-r9vAUa1k2uEsFWV6oQ4wQjk/s1600/Cattura.PNG" height="177" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Esempio registri della PORTB</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul>
<li>DDRx: Serve per impostare un pin come input (0) o come output (1), possono essere letti e scritti.</li>
<li>PORTx: Serve per impostare il lo stato del pin (HIGH/LOW)</li>
<li>PINx: Serve per leggere il valore digitale (0,1) di un pin.</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: left;">
Questo è il programma che ho scritto che andremo ad analizzare:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfmCrYvD_ej6v_k1jdGQAJbxu7pYdnKrOc5NZEQX238PSVipFaqxAB0B6z8gbJZLeZUxqmV8646J26IAR4QJNkMM1KlRIKUWtrH6hjirpf9HUs0bZH6omahwhi0AVkbbUCQjgF22_NrYKK/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> /*
* Blink ATmega328.c
*
* Created: 24/06/2014 12:40:41
* Author: Alessandro
*/
#define F_CPU_CPU 16000000
#include <util/delay.h>
#include <avr/io.h>
int main(void)
{
DDRB=0xFF;
while(1)
{
PORTB=0xFF;
_delay_ms(500);
PORTB=0;
_delay_ms(500);
}
} </code></pre>
<div class="separator" style="clear: both; text-align: left;">
Questo programma farà lampeggiare il led su tutti i pin della PORTB.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ol>
<li>La prima istruzione <i>#define F_CPU_CPU 16000000 </i>definisce il clock del micro di 16Mhz</li>
<li>La libreria util/delay.h serve per la funzione di delay, mentrw avr/io.h è una libreria standard.</li>
<li>L'istruzione DDRB=0xFF; dichiara tutti i pin sulla PORTB come output, 0xFF corrisponde a 255 in decimale.</li>
<li>Nel ciclo infinito, while(1) vengono impostati come HIGH tutti i pin sulla PORTB.</li>
<li>L'istruzione _delay_ms(500); corrisponde a delay(500); di arduino e mette in pausa il programma per mezzo secondo.</li>
<li>PORTB=0; spegne tutti i pin sulla PORTB</li>
</ol>
Poi c'è un altro delay e ciclo ricomincia.<br />
Per compilare il programma basta premere F7, e il file .HEX verrà salvato nella cartella del progetto.<br />
<div class="separator" style="clear: both; text-align: left;">
Per caricare il programma sull'Arduino uno dovete scaricare (da <a href="http://russemotto.com/xloader/">QUI</a>) questo semplicissimo programma:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVYeox9H4bHkuyg2MC2U4ORiDyq5RhSxTn1Va5QiQPJL3u1CvSgEBiFllsP0aR4GGO-VisKR7mH2NKTAKdMVHhL3kjWMVoLzhW0FTdvT7wFM0BQfVhyH4NwC7t5KCsPNtenzYYwtAT7oY/s1600/screen1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVYeox9H4bHkuyg2MC2U4ORiDyq5RhSxTn1Va5QiQPJL3u1CvSgEBiFllsP0aR4GGO-VisKR7mH2NKTAKdMVHhL3kjWMVoLzhW0FTdvT7wFM0BQfVhyH4NwC7t5KCsPNtenzYYwtAT7oY/s1600/screen1.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Selezionate il file .HEX, il tipo di Arduino, e la porta seriale.</div>
<div class="separator" style="clear: both; text-align: left;">
Collegate un led dal pin 8 al 13 e dovrebbe lampeggiare ;)</div>
<div class="separator" style="clear: both; text-align: left;">
Nei prossimi articoli vedremo come manipolare i registri in modo indipendente e come leggere un input da un pulsante.</div>
<div class="separator" style="clear: both; text-align: left;">
In questo articolo ho preso spunto in parte da: <a href="http://www.xploreautomation.com/programmare-larduino-in-puro-c-primi-passi/">questo sito</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com0tag:blogger.com,1999:blog-9026279049257959480.post-27979379542467655302014-04-29T21:58:00.003+02:002015-09-02T11:50:40.282+02:00Misurare la velocità di una ventola per PC a 3 fili con ArduinoOggi vediamo un programma che ho scritto io semplificandolo e prendendo spunto da <a href="http://themakersworkbench.com/content/tutorial/reading-pc-fan-rpm-arduino">questo progetto</a>, lo sketch misura la velocità di una classica ventola da PC a tre PIN come quella in figura:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1KQ46TQuudBjkkYpBn-Iz7pBMvSoklhfBHVU4L5tDWKwhYfebvQ6kNcOCXVaSCCrmYDQHQNN-ZwSD9KANV4tOeb6uouB4fiFyIuxKiZoB6zt1owMWKcx8FWbCtJBrYxuNjIqF5ASbxzo/s1600/73649xxl.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1KQ46TQuudBjkkYpBn-Iz7pBMvSoklhfBHVU4L5tDWKwhYfebvQ6kNcOCXVaSCCrmYDQHQNN-ZwSD9KANV4tOeb6uouB4fiFyIuxKiZoB6zt1owMWKcx8FWbCtJBrYxuNjIqF5ASbxzo/s1600/73649xxl.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Il pin-out del connettore della ventola è questo:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKGmlEVBzGS7fL9z8nXGBCeR4pD6r5622a_xofQzm_U5merrhkyXkylNNKOmTaxh4tlNXdJC4-b9G5mFbAwJyeAGoSAjSISKYtqniyt41eWKNqMYoOyX43Ps0gIyWy5_sOAtpyDRvp1hM/s1600/2014-04-29+19.36.32.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKGmlEVBzGS7fL9z8nXGBCeR4pD6r5622a_xofQzm_U5merrhkyXkylNNKOmTaxh4tlNXdJC4-b9G5mFbAwJyeAGoSAjSISKYtqniyt41eWKNqMYoOyX43Ps0gIyWy5_sOAtpyDRvp1hM/s1600/2014-04-29+19.36.32.png" width="273" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Per contare i giri della ventola ho utilizzato gli interrupt, collegando in led tra VCC 9V e il filo giallo tachimetrico con resistenza da 1K ho verificato che il led si spegne e si accende 4 volte in ogni giro che fa la ventola.</div>
<pre style="text-align: center;"><span style="color: red; font-family: 'Times New Roman'; font-size: x-large; white-space: normal;"><b>Video:</b></span></pre>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/O8K6tGK3mAw" width="560"></iframe>
<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Oppure potete usare questo semplice sketch come test: </div>
<pre><span style="color: #cc6600;">int</span> pin = 13;
volatile <span style="color: #cc6600;">int</span> state = <span style="color: #006699;">LOW</span>;
<span style="color: #cc6600;">void</span> <span style="color: #cc6600;"><b>setup</b></span>()
{
<span style="color: #cc6600;">pinMode</span>(pin, <span style="color: #006699;">OUTPUT</span>);
<span style="color: #cc6600;">attachInterrupt</span>(0, <span style="color: #cc6600;">blink</span>, <span style="color: #006699;">CHANGE</span>);
}
<span style="color: #cc6600;">void</span> <span style="color: #cc6600;"><b>loop</b></span>()
{
<span style="color: #cc6600;">digitalWrite</span>(pin, state);
}
<span style="color: #cc6600;">void</span> <span style="color: #cc6600;">blink</span>()
{
state = !state;
}
<a name='more'></a>
</pre>
Collegate la ventola ad Arduino come nel seguente schema:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmoAzIR3tCVwRHMxmDo2q5dxgNEyd3YBqjw9-PPAgw-f0B3-CiW0b8DKpvuINrtYB7va1nrKGa9GLc10bhzGFkmG99A6f7kKPdEEkdo1u9LAGoErGkilI6xjq7oNUpXZRSVA8jsRZzNcw/s1600/rpm+ventola+arduino_bb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmoAzIR3tCVwRHMxmDo2q5dxgNEyd3YBqjw9-PPAgw-f0B3-CiW0b8DKpvuINrtYB7va1nrKGa9GLc10bhzGFkmG99A6f7kKPdEEkdo1u9LAGoErGkilI6xjq7oNUpXZRSVA8jsRZzNcw/s1600/rpm+ventola+arduino_bb.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Lo sketch che misura i giri al minuto è questo:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<pre><span style="color: #7e7e7e;">//Sketch creato da Alessandro Riva</span>
<span style="color: #7e7e7e;">//Sito web: http://alessandro-riva-elettronica.blogspot.it/</span>
volatile <span style="color: #cc6600;">int</span> Giri; <span style="color: #7e7e7e;">//memorizza il numero di giri al secondo</span>
<span style="color: #cc6600;">int</span> Calc;
<span style="color: #cc6600;">int</span> cambiamenti=4; <span style="color: #7e7e7e;">// numero di cambiamenti di stato per ogni giro//The pin location of the sensor</span>
<span style="color: #cc6600;">int</span> pinTachimetrico = 2; <span style="color: #7e7e7e;">// Filo tachometrico della ventola, connettere resistenza di pull-up da 10kohm</span>
<span style="color: #cc6600;">void</span> rpm () <span style="color: #7e7e7e;">//Funzione che viene cambiata dall'interrupt</span>
{
Giri++;
}
<span style="color: #cc6600;">void</span> <span style="color: #cc6600;"><b>setup</b></span>()
{
<span style="color: #cc6600;">pinMode</span>(pinTachimetrico, <span style="color: #006699;">INPUT</span>);
<span style="color: #cc6600;"><b>Serial</b></span>.<span style="color: #cc6600;">begin</span>(9600);
<span style="color: #cc6600;">attachInterrupt</span>(0, rpm, <span style="color: #006699;">CHANGE</span>); <span style="color: #7e7e7e;">//interrupt sul pin 2</span>
}
<span style="color: #cc6600;">void</span> <span style="color: #cc6600;"><b>loop</b></span> ()
{
Giri = 0; <span style="color: #7e7e7e;">//Azzare il numero di giri per il calcolo</span>
<span style="color: #cc6600;">interrupts</span>(); <span style="color: #7e7e7e;">// Attiva gli interrupt</span>
<span style="color: #cc6600;">delay</span> (1000); <span style="color: #7e7e7e;">//Aspetta un secondo</span>
<span style="color: #cc6600;">noInterrupts</span>(); <span style="color: #7e7e7e;">// disattiva gli interrupt</span>
Calc = ((Giri * 60)/cambiamenti);
<span style="color: #cc6600;"><b>Serial</b></span>.<span style="color: #cc6600;">print</span> (Calc, <span style="color: #006699;">DEC</span>); <span style="color: #7e7e7e;">//Scrive il valore calcolato sulla seriale</span>
<span style="color: #cc6600;"><b>Serial</b></span>.<span style="color: #cc6600;">print</span> (<span style="color: #006699;">" Giri al minuto\r\n"</span>); <span style="color: #7e7e7e;">//Scrive "giri al minuto</span>
}</pre>
<pre></pre>
<pre></pre>
<pre><span style="font-family: 'Times New Roman'; white-space: normal;">Lo sketch conta i giri al secondo attraverso gli interrupt, moltiplica per 60 per ottenere i giri al minuto e divide per 4 (cambiamenti di stato al secondo, questo numero può variare da ventola a ventola) per ottenere i giri reali.</span></pre>
<pre><pre style="text-align: center;"><span style="color: red; font-family: 'Times New Roman'; font-size: x-large; white-space: normal;"><b>Video:</b></span></pre>
</pre>
<pre><span style="font-family: 'Times New Roman'; white-space: normal;">
</span></pre>
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/7l80g4W22oM" width="560"></iframe>
<br />
<pre><pre><span style="font-family: 'Times New Roman'; white-space: normal;">Ho anche realizzato uno sketch che indica gli RPM su un display LCD, ecco lo sketch:</span></pre>
</pre>
<div>
<br /></div>
<pre></pre>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP-r0D8dBNarEzWa8tO4Yg2QAVjBnuJFf_StoAjGZ5vLq94wD3Q48lfheemRIX8ve0wZ-2zjJiqh6KRW9x_bIDot92ID4W4EldIkK43CoNv6lm6NUW5jbYIdZcVEUYSG68iFa06x2g2KA/s1600/20140429_200552.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP-r0D8dBNarEzWa8tO4Yg2QAVjBnuJFf_StoAjGZ5vLq94wD3Q48lfheemRIX8ve0wZ-2zjJiqh6KRW9x_bIDot92ID4W4EldIkK43CoNv6lm6NUW5jbYIdZcVEUYSG68iFa06x2g2KA/s1600/20140429_200552.jpg" width="400" /></a></div>
<pre><span style="color: #7e7e7e;">//Sketch creato da Alessandro Riva</span>
<span style="color: #7e7e7e;">//Sito web: http://alessandro-riva-elettronica.blogspot.it/</span>
#include <<span style="color: #cc6600;">LiquidCrystal</span>.h>
<span style="color: #cc6600;">LiquidCrystal</span> lcd(8, 9, 4, 5, 6, 7); <span style="color: #7e7e7e;">//RS, ER, data PIN</span>
volatile <span style="color: #cc6600;">int</span> Giri; <span style="color: #7e7e7e;">//memorizza il numero di giri al secondo</span>
<span style="color: #cc6600;">int</span> Calc;
<span style="color: #cc6600;">int</span> cambiamenti=4; <span style="color: #7e7e7e;">// numero di cambiamenti di stato per ogni giro//The pin location of the sensor</span>
<span style="color: #cc6600;">int</span> pinTachimetrico = 2; <span style="color: #7e7e7e;">// Filo tachometrico della ventola, connettere resistenza di pull-up da 10kohm</span>
<span style="color: #cc6600;">void</span> rpm () <span style="color: #7e7e7e;">//Funzione che viene cambiata dall'interrupt</span>
{
Giri++;
}
<span style="color: #cc6600;">void</span> <span style="color: #cc6600;"><b>setup</b></span>()
{
lcd.<span style="color: #cc6600;">begin</span>(16,2);
<span style="color: #cc6600;">pinMode</span>(pinTachimetrico, <span style="color: #006699;">INPUT</span>);
<span style="color: #cc6600;"><b>Serial</b></span>.<span style="color: #cc6600;">begin</span>(9600);
<span style="color: #cc6600;">attachInterrupt</span>(0, rpm, <span style="color: #006699;">CHANGE</span>); <span style="color: #7e7e7e;">//interrupt sul pin 2</span>
}
<span style="color: #cc6600;">void</span> <span style="color: #cc6600;"><b>loop</b></span> ()
{
Giri = 0; <span style="color: #7e7e7e;">//Azzare il numero di giri per il calcolo</span>
<span style="color: #cc6600;">interrupts</span>(); <span style="color: #7e7e7e;">// Attiva gli interrupt</span>
<span style="color: #cc6600;">delay</span> (1000); <span style="color: #7e7e7e;">//Aspetta un secondo</span>
<span style="color: #cc6600;">noInterrupts</span>(); <span style="color: #7e7e7e;">// disattiva gli interrupt</span>
Calc = ((Giri * 60)/cambiamenti);
<span style="color: #cc6600;"><b>Serial</b></span>.<span style="color: #cc6600;">print</span> (Calc, <span style="color: #006699;">DEC</span>); <span style="color: #7e7e7e;">//Scrive il valore calcolato sulla seriale</span>
<span style="color: #cc6600;"><b>Serial</b></span>.<span style="color: #cc6600;">print</span> (<span style="color: #006699;">" Giri al minuto\r\n"</span>); <span style="color: #7e7e7e;">//Scrive "giri al minuto</span>
lcd.<span style="color: #cc6600;">setCursor</span>(0, 0);
lcd.<span style="color: #cc6600;">print</span>(<span style="color: #006699;">"RPM: "</span>);
lcd.<span style="color: #cc6600;">setCursor</span>(0, 1);
lcd.<span style="color: #cc6600;">print</span>(Calc);
}</pre>
<pre></pre>
<pre><pre><span style="font-family: 'Times New Roman'; white-space: normal;">Il display va collegato nel seguente modo:</span><blockquote class="tr_bq">
<ul style="background-color: white; box-sizing: border-box; direction: ltr; line-height: 1.6; list-style-position: outside; list-style-type: none; margin: 0px; padding: 0px 0px 0px 30px; white-space: normal;">
<li style="box-sizing: border-box; direction: ltr; margin: 0.235294118rem 0px; padding: 0px; text-indent: -18px;"><span style="font-family: inherit;">LCD RS pin to digital pin 8</span></li>
</ul>
<ul style="background-color: white; box-sizing: border-box; direction: ltr; line-height: 1.6; list-style-position: outside; list-style-type: none; margin: 0px; padding: 0px 0px 0px 30px; white-space: normal;">
<li style="box-sizing: border-box; direction: ltr; margin: 0.235294118rem 0px; padding: 0px; text-indent: -18px;"><span style="font-family: inherit;">LCD Enable pin to digital pin 9</span></li>
</ul>
<ul style="background-color: white; box-sizing: border-box; direction: ltr; line-height: 1.6; list-style-position: outside; list-style-type: none; margin: 0px; padding: 0px 0px 0px 30px; white-space: normal;">
<li style="box-sizing: border-box; direction: ltr; margin: 0.235294118rem 0px; padding: 0px; text-indent: -18px;"><span style="font-family: inherit;">LCD D4 pin to digital pin 4</span></li>
</ul>
<ul style="background-color: white; box-sizing: border-box; direction: ltr; line-height: 1.6; list-style-position: outside; list-style-type: none; margin: 0px; padding: 0px 0px 0px 30px; white-space: normal;">
<li style="box-sizing: border-box; direction: ltr; margin: 0.235294118rem 0px; padding: 0px; text-indent: -18px;"><span style="font-family: inherit;">LCD D5 pin to digital pin 5</span></li>
</ul>
<ul style="background-color: white; box-sizing: border-box; direction: ltr; line-height: 1.6; list-style-position: outside; list-style-type: none; margin: 0px; padding: 0px 0px 0px 30px; white-space: normal;">
<li style="box-sizing: border-box; direction: ltr; margin: 0.235294118rem 0px; padding: 0px; text-indent: -18px;"><span style="font-family: inherit;">LCD D6 pin to digital pin 6</span></li>
</ul>
<ul style="background-color: white; box-sizing: border-box; direction: ltr; line-height: 1.6; list-style-position: outside; list-style-type: none; margin: 0px; padding: 0px 0px 0px 30px; white-space: normal;">
<li style="box-sizing: border-box; direction: ltr; margin: 0.235294118rem 0px; padding: 0px; text-indent: -18px;"><span style="font-family: inherit;">LCD D7 pin to digital pin 7</span></li>
</ul>
</blockquote>
<pre style="text-align: center;"><span style="color: red; font-family: 'Times New Roman'; font-size: x-large; white-space: normal;"><b>Video:</b></span></pre>
<pre style="text-align: center;"><span style="color: red; font-family: 'Times New Roman'; font-size: x-large; white-space: normal;"><b>
</b></span></pre>
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/xQuTrrjZEF8" width="560"></iframe>
</pre>
<span style="font-family: inherit;">Per qualsiasi domanda o informazione scrivete qua sotto nei commenti.</span>
</pre>
Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com6tag:blogger.com,1999:blog-9026279049257959480.post-85168192634822689452014-02-02T14:47:00.002+01:002014-02-02T16:45:02.245+01:00Amplificatore a transistor TIP41 - TIP42<div class="separator" style="clear: both; text-align: center;">
</div>
Ho realizzato su breadboard questo amplificatore a BJT preso da <a href="http://digilander.libero.it/nick47/mamu.htm">digilander</a>.<br />
E' un amplificatore molto semplice con 3 transistor, con una qualità audio abbastanza buona.<br />
Lo schema è il seguente, l'ho modificato e ho aggiunto i nomi dei componenti.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1YrtyADLVt_fOCs_zpAvfBSLTSPrK_TdN3UwZqMOO7bFMMVHcULmtJB8Pz3GDwCrZ2WtXVIIFtsPOF1srVUBLVaKdC2-1rq5QX-1nY0R5JDeBa7Q5SkWH1KRhjlmc5LhZGb3lAJqSoMc/s1600/ampli+a+BJT+con+componenti.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1YrtyADLVt_fOCs_zpAvfBSLTSPrK_TdN3UwZqMOO7bFMMVHcULmtJB8Pz3GDwCrZ2WtXVIIFtsPOF1srVUBLVaKdC2-1rq5QX-1nY0R5JDeBa7Q5SkWH1KRhjlmc5LhZGb3lAJqSoMc/s1600/ampli+a+BJT+con+componenti.gif" height="400" width="318" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Questo amplificatore funziona i Push - Pull (spingi e tira) , grazie ai 2 transistor complementari fra di loro.</div>
<div class="separator" style="clear: both; text-align: center;">
Le 2 resistenze da 1ohm servono a proteggere i transistor.</div>
<div class="" style="clear: both; text-align: center;">
Il condensatore all'entrata audio è necessario per adattare il livello di impedenza senza modificare la polarizzazione del transistor.</div>
<div class="separator" style="clear: both; text-align: center;">
Il condensatore in serie all'altoparlante serve a generare la corrente alternata necessaria per il correttetto funzionamento dell'altoparlante.</div>
<div class="separator" style="clear: both; text-align: center;">
Il circuito come dice nel sito va alimentato a 6 / 9V, io l'ho alimentato a 12V e con 2 casse da 8ohm 2W collegate in serie i 2 transistor di potenza non erano per niente caldi.</div>
<div class="" style="clear: both; text-align: center;">
Aggiungendo un banco di condensatori in parallelo all'alimentazione, la qualità audio migliora notevolmente se alimentato da un alimentatore da rete, io ho aggiunto un banco di condensatori da 9000uF.</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<b><span style="color: red; font-size: x-large;">Foto circuito</span></b></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFxYSNpwfoOXJQ3OhnS-e-3PzYFj8N649VtM9ZZyXPKs2E0C6uSJIRtXcqCgXD5RHrKexucyrqsrCaix054q7aXieo9YOutvSXyDK3m3wiV8GcMf0-2TDhPkBD96QUfRj7NtVQRVHR0og/s1600/DSC_0001.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFxYSNpwfoOXJQ3OhnS-e-3PzYFj8N649VtM9ZZyXPKs2E0C6uSJIRtXcqCgXD5RHrKexucyrqsrCaix054q7aXieo9YOutvSXyDK3m3wiV8GcMf0-2TDhPkBD96QUfRj7NtVQRVHR0og/s1600/DSC_0001.JPG" height="267" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Circuito su breadboard</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggJjljdtn20ViCjduOH0sE0X6G7-zSTWXuVtBfE10WevrUGRsWzjFTBtvqDLEmMP5IpCoIhrw0gR16T0StQGyY-YTBt53WjW0LGN0djLqb5xwclvxlwFKJ3uFIel0hPj7weSv3AB_pKS8/s1600/DSC_0003.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggJjljdtn20ViCjduOH0sE0X6G7-zSTWXuVtBfE10WevrUGRsWzjFTBtvqDLEmMP5IpCoIhrw0gR16T0StQGyY-YTBt53WjW0LGN0djLqb5xwclvxlwFKJ3uFIel0hPj7weSv3AB_pKS8/s1600/DSC_0003.JPG" height="267" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Dettaglio potenziometro</td></tr>
</tbody></table>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha6pH36OFAfYUlB1Q2rEInlZWJPZ2OlIeCWBMtZ15kDIo1f5SvctMg8WJFseJRkrXX3yCeeaJou-L_hrF1BAQFu2F8j5GlaWj6THn-c53V_1vS1HNbIBGKs4bn8sgTbwcY81DI83IaxrM/s1600/DSC_0002.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha6pH36OFAfYUlB1Q2rEInlZWJPZ2OlIeCWBMtZ15kDIo1f5SvctMg8WJFseJRkrXX3yCeeaJou-L_hrF1BAQFu2F8j5GlaWj6THn-c53V_1vS1HNbIBGKs4bn8sgTbwcY81DI83IaxrM/s1600/DSC_0002.JPG" height="267" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Banco di condensatori</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZoikiPFxMuYDUe2bQM9Dh57vzoBk-iaJyzP4bQdY0Qx9c_ReCrYEe3uqnBpRuhCOdPYZywoNFz8UaTU6515uEVr5oPT5Me_bMg1Nk5Sqmf8DOtfTiCKInOhUVMcuOSlFLJFTOoxQqeVc/s1600/DSC_0005.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZoikiPFxMuYDUe2bQM9Dh57vzoBk-iaJyzP4bQdY0Qx9c_ReCrYEe3uqnBpRuhCOdPYZywoNFz8UaTU6515uEVr5oPT5Me_bMg1Nk5Sqmf8DOtfTiCKInOhUVMcuOSlFLJFTOoxQqeVc/s1600/DSC_0005.JPG" height="267" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Dettaglio breadboard</td></tr>
</tbody></table>
<br />
<br />
<div style="text-align: center;">
<br /></div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT-33qu4WNVjbqDdJqbHyDpdSbGK6bBkSA6AjnWxsaLmrW553AZiC0a2Axr0gHplcfcqR5U-e-yAz4CLh8NPisuhRMVZo20hv6FMpSoUhi-F9iBDL61-Xbp3i93vtUs8o780R8WlkW60Y/s1600/DSC_0006.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT-33qu4WNVjbqDdJqbHyDpdSbGK6bBkSA6AjnWxsaLmrW553AZiC0a2Axr0gHplcfcqR5U-e-yAz4CLh8NPisuhRMVZo20hv6FMpSoUhi-F9iBDL61-Xbp3i93vtUs8o780R8WlkW60Y/s1600/DSC_0006.JPG" height="267" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Le mie casse</td></tr>
</tbody></table>
<br />
<div style="text-align: center;">
<b><span style="color: red; font-size: x-large;">Video</span></b></div>
<div style="text-align: center;">
<br /></div>
<br />
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/eZTU2UHIaSQ" width="420"></iframe></div>
<br />
Prossimamente realizzerò il circuito su millefori e poi magari anche su PCB.<br />
Fonte: http://digilander.libero.it/nick47/mamu.htm<br />
Per qualsiasi domanda commentate qui sotto.Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com3tag:blogger.com,1999:blog-9026279049257959480.post-22903933909934154662013-12-30T19:14:00.000+01:002013-12-30T19:19:20.892+01:00Detonatore per petardi a infrarossi con ArduinoCon il mio Arduino ho costruito questo detonatore per petardi comandato da un comune telecomando ad infrarossi.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7RNnZJ3vgiknE8mEdhdocRY9ivo6q08BNlJxrN74xs9C02Jdt1rY-8RDIfd6kIBBoxiREhotSCNQhWP8TxurosLusWe7UJcv1fvzuMNHRw66YxAyCDKp5ThVhtadG0b2iKATdeI1NdTI/s1600/DSCN2516.JPG" imageanchor="1"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7RNnZJ3vgiknE8mEdhdocRY9ivo6q08BNlJxrN74xs9C02Jdt1rY-8RDIfd6kIBBoxiREhotSCNQhWP8TxurosLusWe7UJcv1fvzuMNHRw66YxAyCDKp5ThVhtadG0b2iKATdeI1NdTI/s400/DSCN2516.JPG" width="400" /></a></div>
<br />
<div style="text-align: center;">
<span style="color: red; font-size: large;"><b>Materiale necessario</b></span></div>
<div style="text-align: center;">
</div>
<ul>
<li style="text-align: left;">Un Arduino (va bene uno qualsiasi, io ho usato l'UNO).</li>
<li style="text-align: left;">Un ricevitore infrarossi (io ho usato un TSOP4838).</li>
<li style="text-align: left;">Un telecomando a infrarossi.</li>
<li style="text-align: left;">Un Relè (io ho usato <a href="http://www.ebay.it/itm/1pcs-5V-1-Channel-Relay-Module-Optocoupler-H-L-Level-Triger-Arduino-/400525108297?pt=LH_DefaultDomain_0&hash=item5d41282449">questa scheda</a>).</li>
<li style="text-align: left;">Una batteria da 9V per alimentare Arduino e Relè</li>
<li style="text-align: left;">Una batteria da 12V per l'innesco</li>
</ul>
<b style="color: red; font-size: x-large;">Collegamenti</b><br />
<div style="text-align: left;">
</div>
<ol>
<li>Il sensore infrarossi l'ho collegato al pin 11 di Arduino.</li>
<li>La scheda a Relè l'ho collegata al pin 2.</li>
<li>La scheda a Relè e il sensore IR sono alimementati da 5V di Arduino.</li>
<li>Il filo che va ai contati per l'innesco è collegato tra il contatto COM e NA (normalmente aperto) del Relè.</li>
</ol>
Volendo si può usare solo la batteria da 12V per alimentare l'Arduino ma io per sicurezza ho preferito usarne 2.<br />
<a name='more'></a><br />
<ol>
</ol>
<div style="text-align: center;">
<span style="color: red; font-size: large;"><b>Lo sketch</b></span></div>
<div style="text-align: left;">
Il programma <span style="font-family: inherit;">è semplici</span>ssimo, con la libreria IrRemote viene decodificato il segnale del telecomando a infrarossi e viene posto il pin 2 allo stato HIGH per 3 secondi, e il relè chiude il contatto e fa fondere il filamento della paglietta da cucina:<br />
<br /></div>
<pre>#include <IRremote.h>
<span style="color: #cc6600;">int</span> RECV_PIN = 11;
<span style="color: #cc6600;">IRrecv</span> irrecv(RECV_PIN);
<span style="color: #cc6600;">decode_results</span> results;
<span style="color: #cc6600;">void</span> <span style="color: #cc6600;"><b>setup</b></span>()
{
<span style="color: #cc6600;"><b>Serial</b></span>.<span style="color: #cc6600;">begin</span>(9600);
irrecv.<span style="color: #cc6600;">enableIRIn</span>(); <span style="color: #7e7e7e;">// Start the receiver</span>
<span style="color: #cc6600;">pinMode</span>(2,<span style="color: #006699;">OUTPUT</span>);
<span style="color: #cc6600;">digitalWrite</span>(2,<span style="color: #006699;">LOW</span>);
}
<span style="color: #cc6600;">void</span> <span style="color: #cc6600;"><b>loop</b></span>() {
<span style="color: #cc6600;">if</span> (irrecv.<span style="color: #cc6600;">decode</span>(&results)) {
<span style="color: #cc6600;"><b>Serial</b></span>.<span style="color: #cc6600;">println</span>(results.value, <span style="color: #006699;">HEX</span>);
<span style="color: #cc6600;">if</span> (results.value == 0x39D41DC6) <span style="color: #7e7e7e;">//mettete il codice del vostro telecomando</span>
{
<span style="color: #cc6600;">digitalWrite</span>(2,<span style="color: #006699;">HIGH</span>);
<span style="color: #cc6600;">delay</span>(3000);
<span style="color: #cc6600;">digitalWrite</span>(2,<span style="color: #006699;">LOW</span>);
results.value=0;
}
irrecv.<span style="color: #cc6600;">resume</span>();
}
}</pre>
<pre><div style="text-align: center;">
<b><span style="color: red; font-size: x-large;">L'innesco</span></b></div>
<span style="font-family: Times New Roman;"><span style="white-space: normal;">Le uscite sono collegate a 2 morsetti a coccodrillo dove collego il filamento della<a href="http://www.enduristianonimi.it/pagine/tecnica/manutenzione/silenziatore/spugnetta.jpg"> paglietta</a> da cucina.</span></span></pre>
<pre><span style="font-family: Times New Roman;"><span style="white-space: normal;">
</span></span></pre>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvxZh3QHOsNqmEVBMx8Npvj5TMxv7_7yQPQEo8eLbHsKT2AGP9rKZWmnhJfAISz9E2jI_Q2Kdct-hMzAJwrBPKST2h76kt9m-F0DMgXExiHsxs85Ajm3GwxJnbaesLOvn-BkV97_x0FOc/s1600/DSCN2522.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvxZh3QHOsNqmEVBMx8Npvj5TMxv7_7yQPQEo8eLbHsKT2AGP9rKZWmnhJfAISz9E2jI_Q2Kdct-hMzAJwrBPKST2h76kt9m-F0DMgXExiHsxs85Ajm3GwxJnbaesLOvn-BkV97_x0FOc/s400/DSCN2522.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Morsetti a coccodrillo all'uscita</td></tr>
</tbody></table>
<br />
<pre><span style="font-family: Times New Roman;"><span style="white-space: normal;">
</span></span><div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhieP1_nSt0SKDgZmr9WI9GQvrUuz95fA5TM8YCd_UYHPfN5RaSkpjGu09hOdpL4GLMEFQ0fJ5RmgezNd602PvckHpF8YvXc8AG75_hGcZCm7c-bmJ8QaURB2jhkupKU0l-Oe9NAfQL5gQ/s1600/DSCN2524.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="color: red;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhieP1_nSt0SKDgZmr9WI9GQvrUuz95fA5TM8YCd_UYHPfN5RaSkpjGu09hOdpL4GLMEFQ0fJ5RmgezNd602PvckHpF8YvXc8AG75_hGcZCm7c-bmJ8QaURB2jhkupKU0l-Oe9NAfQL5gQ/s400/DSCN2524.JPG" width="400" /></span></a></td></tr>
<tr><td class="tr-caption"><span style="font-family: 'Times New Roman'; font-size: 13px;">Filamento della paglietta da cucina collegato ai coccodrilli</span></td></tr>
</tbody></table>
<span style="font-family: 'Times New Roman'; text-align: center; white-space: normal;">Quando il filamento diventa incandescente accenderà il petardo.</span></div>
<div>
<b></b><br />
<div style="text-align: center;">
<b><b><span style="color: red; font-size: x-large;">Video</span></b></b></div>
<b>
<div style="text-align: center;">
</div>
</b></div>
</pre>
<object height="315" width="420"><param name="movie" value="//www.youtube.com/v/_hotyRFu60w?version=3&hl=it_IT"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="//www.youtube.com/v/_hotyRFu60w?version=3&hl=it_IT" type="application/x-shockwave-flash" width="420" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<br />
Se avete dubbi o volete avere dei chiarimenti scrivete qui sotto.<br />
Prossimamente userò un radiocomando wireless a 433Mhz al posto del telecomando IR<br />
<span style="color: red;"><b>Non mi ritengo responsabile per eventuali danni commessi per un uso impropio di questo dispositivo</b></span>Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com2tag:blogger.com,1999:blog-9026279049257959480.post-75439855428189394982013-11-16T16:04:00.002+01:002013-11-16T16:05:06.838+01:00Pilotare relè 5V con ArduinoHo recuperato un piccolo relè da 5VDC da una vecchia scheda e li ho saldato 4 fili.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnwaLEKR8YuR7_GO5mvISF0sF30Fm4jfV4xykWZj7Cx-pyDOm-n9mGETcCKRGMSIE0d8ltfL0feWt96cubSFKrRXFMwmTVTsleB7YkFx6WCGlVJaZXulKfPqIauqb7aF4nOJtozysZnqE/s1600/DSCN2498.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnwaLEKR8YuR7_GO5mvISF0sF30Fm4jfV4xykWZj7Cx-pyDOm-n9mGETcCKRGMSIE0d8ltfL0feWt96cubSFKrRXFMwmTVTsleB7YkFx6WCGlVJaZXulKfPqIauqb7aF4nOJtozysZnqE/s1600/DSCN2498.JPG" height="300" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Il relè non può essere direttamente alimentato da uu pin di Arduino perchè può fornire al max 40mA, quindi bisogna amplificare il segnale usando un transistor (BC547 o altri) e un diodo (1N4007) per proteggere l'Arduino dalle alte tensioni che la bobina del relè genera quando viene scollegata.</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
Lo schema base del circuito è il seguente:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoX9tV_FIyOG6pb3OQeXWRY1IDf3psnvFkV2ecuHnk4T4vTOHJcSR2PP9t_sVQuzgrw8SLPp1TAweq7aLUt0QK2trNZhToL4Xsr4VQ-C8y8yd9OxiKBezJN3tFAw6VArRBB2Y2SxGf4bg/s1600/relay.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoX9tV_FIyOG6pb3OQeXWRY1IDf3psnvFkV2ecuHnk4T4vTOHJcSR2PP9t_sVQuzgrw8SLPp1TAweq7aLUt0QK2trNZhToL4Xsr4VQ-C8y8yd9OxiKBezJN3tFAw6VArRBB2Y2SxGf4bg/s1600/relay.png" height="185" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Alle uscite N.A (normal<span style="font-family: inherit;">mente ape</span>rto) ho collegato un led a 5V con resistenza da 200<span style="background-color: white; color: #444444; font-family: arial, sans-serif; font-size: x-small; line-height: 16px;">Ω.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: inherit;"><span style="line-height: 16px;">Lo sketch che ho utilizzato è il classico Blink <u>che trovate negli esempi</u> dell'I.D.E di Arduino.</span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: inherit;"><span style="line-height: 16px;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: red; font-family: inherit; font-size: x-large;"><span style="line-height: 16px;"><b>Alcuno foto:</b></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: red; font-family: inherit; font-size: x-large;"><span style="line-height: 16px;"><b><br /></b></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP2Q0nHbxobVoZYntAyFv3bDtlH76y_n4YX_d7l173xgVRAUdH2Y6uKL8tGnPvHhYVFuryjX1PqebQLFQY6Oi7eiES_JPVzd8LoPLf7nnXw5KzfADjhVO0O5XtT_ndYxIajRBJug5dayo/s1600/DSCN2497.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP2Q0nHbxobVoZYntAyFv3bDtlH76y_n4YX_d7l173xgVRAUdH2Y6uKL8tGnPvHhYVFuryjX1PqebQLFQY6Oi7eiES_JPVzd8LoPLf7nnXw5KzfADjhVO0O5XtT_ndYxIajRBJug5dayo/s1600/DSCN2497.JPG" height="300" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkqw91InCydF6jms0V_5g4wk3VR1fUsNsL8vHFTKcy3wfV3ttkE5fjFeiArQeBsG1VyWapGdlX1KTumq36YncVCZ42x2wgtRqf9UpWJykIUhR3ApExIbjZ2n31QWi6nJFfZBtiq7z82Uw/s1600/DSCN2499.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkqw91InCydF6jms0V_5g4wk3VR1fUsNsL8vHFTKcy3wfV3ttkE5fjFeiArQeBsG1VyWapGdlX1KTumq36YncVCZ42x2wgtRqf9UpWJykIUhR3ApExIbjZ2n31QWi6nJFfZBtiq7z82Uw/s1600/DSCN2499.JPG" height="300" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: red; font-family: inherit; font-size: x-large;"><span style="line-height: 16px;"><b><br /></b></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: red; font-family: inherit; font-size: x-large;"><span style="line-height: 16px;"><b>Video:</b></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: red; font-family: inherit; font-size: x-large;"><span style="line-height: 16px;"><b><br /></b></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/_538saFprjM" width="420"></iframe>
<br />Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com0tag:blogger.com,1999:blog-9026279049257959480.post-11243028930067383162013-11-03T16:45:00.003+01:002013-11-03T16:45:57.518+01:00Semplice Vu . meter con ArduinoOggi vediamo come costruire un vu-meter con Arduino e 12 led.<br />
<span style="font-family: inherit;"><span style="background-color: white; color: #252525; line-height: 19.1875px;">Il </span><b style="background-color: white; color: #252525; line-height: 19.1875px;">VU mete</b><b style="background-color: white; line-height: 19.1875px;">r</b><span style="background-color: white; line-height: 19.1875px;"> è uno </span>strumento di misura<span style="background-color: white; line-height: 19.1875px;"> dell'intensità del segnale neg</span><span style="background-color: white; color: #252525; line-height: 19.1875px;">li apparecchi </span>audio<span style="background-color: white; color: #252525; line-height: 19.1875px;">.</span></span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVP6XPUZHFlIJclKiHk8NVMau2kRvdcfmOOwYrSdFRQMs_YXbMAZwhmjuyxK_rPoefuhfTyla67I2gTRciMg-_ZvV0Eju3IFFAGG4DXjdPF7wzpXVbFy0-xkXDmY0mcMU7Z2juKcirg3k/s1600/VU_Meter.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVP6XPUZHFlIJclKiHk8NVMau2kRvdcfmOOwYrSdFRQMs_YXbMAZwhmjuyxK_rPoefuhfTyla67I2gTRciMg-_ZvV0Eju3IFFAGG4DXjdPF7wzpXVbFy0-xkXDmY0mcMU7Z2juKcirg3k/s1600/VU_Meter.jpg" height="187" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Vu meter analogico</td></tr>
</tbody></table>
<span style="font-family: inherit;"><span style="background-color: white; color: #252525; line-height: 19.1875px;"><br /></span></span>
Ho collegato 12 led dal pin 13 al pin 2 di Arduino uno, 4 verdi, 4 gialli e 4 rossi.<br />
L'ingresso audio l'ho collegato con una resistenza da 10K al potenziometro analogico 0 di Arduino mentre la massa l'ho collegata al gnd di Arduino.<br />
Vediamo subito lo schema del circuito:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNAJYn53pVyBReCVDou4H6F6G-m_MSN2WfjfpXE7XTZGG2AJNCKGr6L58hSORR5dWOjzB5mYoQNV30998_scPh00rYobugp-rOP8CvawAfHhm1BuIpe6oILQvrXjPuKq5Wulfs5cIWtMo/s1600/vu+meter+arduino_bb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNAJYn53pVyBReCVDou4H6F6G-m_MSN2WfjfpXE7XTZGG2AJNCKGr6L58hSORR5dWOjzB5mYoQNV30998_scPh00rYobugp-rOP8CvawAfHhm1BuIpe6oILQvrXjPuKq5Wulfs5cIWtMo/s1600/vu+meter+arduino_bb.png" height="298" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
Passiamo allo sketch:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<pre><span style="color: #7e7e7e;">//sketch creato da Alessandro Riva</span>
<span style="color: #7e7e7e;">//alessandro-riva-elettronica.blogspot.it</span>
<span style="color: #7e7e7e;">//collegare 12 led dal pin 13 al 2 con resistenza da 220ohm</span>
<span style="color: #cc6600;">int</span> tempo=10; <span style="color: #7e7e7e;">//regolare a piacere</span>
<span style="color: #cc6600;">int</span> soglia = 10 ;
<span style="color: #cc6600;">int</span> valore = 0 ;
<span style="color: #cc6600;">void</span> <span style="color: #cc6600;"><b>setup</b></span>() {
<span style="color: #cc6600;">for</span> (<span style="color: #cc6600;">int</span> i=2;i<=13;i++)
{
<span style="color: #cc6600;">pinMode</span> (i, <span style="color: #006699;">OUTPUT</span>);
}
<span style="color: #cc6600;"><b>Serial</b></span>.<span style="color: #cc6600;">begin</span>(9600);
}
<span style="color: #cc6600;">void</span> <span style="color: #cc6600;"><b>loop</b></span>() {
<span style="color: #cc6600;">delay</span>(tempo);
valore = <span style="color: #cc6600;">analogRead</span>(A0);
<span style="color: #7e7e7e;">//Serial.print("Valore audio: "); //l'output sulla seriale rallenta i led</span>
<span style="color: #7e7e7e;">//Serial.println(valore);</span>
<span style="color: #cc6600;">if</span> ( (soglia *1) <valore) {<span style="color: #cc6600;">digitalWrite</span> (13 ,<span style="color: #006699;">HIGH</span>);} <span style="color: #cc6600;">else</span> {<span style="color: #cc6600;">digitalWrite</span> (13 ,<span style="color: #006699;">LOW</span>);}
<span style="color: #cc6600;">if</span> ( (soglia *2) <valore) {<span style="color: #cc6600;">digitalWrite</span> (12 ,<span style="color: #006699;">HIGH</span>);} <span style="color: #cc6600;">else</span> {<span style="color: #cc6600;">digitalWrite</span> (12 ,<span style="color: #006699;">LOW</span>);}
<span style="color: #cc6600;">if</span> ( (soglia *3) <valore) {<span style="color: #cc6600;">digitalWrite</span> (11 ,<span style="color: #006699;">HIGH</span>);} <span style="color: #cc6600;">else</span> {<span style="color: #cc6600;">digitalWrite</span> (11 ,<span style="color: #006699;">LOW</span>);}
<span style="color: #cc6600;">if</span> ( (soglia *4) <valore) {<span style="color: #cc6600;">digitalWrite</span> (10 ,<span style="color: #006699;">HIGH</span>);} <span style="color: #cc6600;">else</span> {<span style="color: #cc6600;">digitalWrite</span> (10 ,<span style="color: #006699;">LOW</span>);}
<span style="color: #cc6600;">if</span> ( (soglia *5) <valore) {<span style="color: #cc6600;">digitalWrite</span> (9 ,<span style="color: #006699;">HIGH</span>);} <span style="color: #cc6600;">else</span> {<span style="color: #cc6600;">digitalWrite</span> (9 ,<span style="color: #006699;">LOW</span>);}
<span style="color: #cc6600;">if</span> ( (soglia *6) <valore) {<span style="color: #cc6600;">digitalWrite</span> (8 ,<span style="color: #006699;">HIGH</span>);} <span style="color: #cc6600;">else</span> {<span style="color: #cc6600;">digitalWrite</span> (8 ,<span style="color: #006699;">LOW</span>);}
<span style="color: #cc6600;">if</span> ( (soglia *7) <valore) {<span style="color: #cc6600;">digitalWrite</span> (7 ,<span style="color: #006699;">HIGH</span>);} <span style="color: #cc6600;">else</span> {<span style="color: #cc6600;">digitalWrite</span> (7 ,<span style="color: #006699;">LOW</span>);}
<span style="color: #cc6600;">if</span> ( (soglia *8) <valore) {<span style="color: #cc6600;">digitalWrite</span> (6 ,<span style="color: #006699;">HIGH</span>);} <span style="color: #cc6600;">else</span> {<span style="color: #cc6600;">digitalWrite</span> (6 ,<span style="color: #006699;">LOW</span>);}
<span style="color: #cc6600;">if</span> ( (soglia *9) <valore) {<span style="color: #cc6600;">digitalWrite</span> (5 ,<span style="color: #006699;">HIGH</span>);} <span style="color: #cc6600;">else</span> {<span style="color: #cc6600;">digitalWrite</span> (5 ,<span style="color: #006699;">LOW</span>);}
<span style="color: #cc6600;">if</span> ( (soglia *10) <valore) {<span style="color: #cc6600;">digitalWrite</span> (4 ,<span style="color: #006699;">HIGH</span>);} <span style="color: #cc6600;">else</span> {<span style="color: #cc6600;">digitalWrite</span> (4 ,<span style="color: #006699;">LOW</span>);}
<span style="color: #cc6600;">if</span> ( (soglia *11) <valore) {<span style="color: #cc6600;">digitalWrite</span> (3 ,<span style="color: #006699;">HIGH</span>);} <span style="color: #cc6600;">else</span> {<span style="color: #cc6600;">digitalWrite</span> (3 ,<span style="color: #006699;">LOW</span>);}
<span style="color: #cc6600;">if</span> ( (soglia *12) <valore) {<span style="color: #cc6600;">digitalWrite</span> (2 ,<span style="color: #006699;">HIGH</span>);} <span style="color: #cc6600;">else</span> {<span style="color: #cc6600;">digitalWrite</span> (2 ,<span style="color: #006699;">LOW</span>);}
}
</pre>
<pre>Caricatelo, e collegate tutti i led, e l'entrata audio.</pre>
<pre>Per ascoltare contemporaneamente la musica potete utilizzare uno sdoppiatore per jack da 3,5mm.</pre>
<pre></pre>
<br />
<div style="text-align: center;">
<b><span style="color: red; font-size: x-large;">Alcune foto</span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBGlKnjTaWtCPVNxCa0QgJkXG0aC7fuyyVcQdPduYDjCF_gGhHDmGahh9zcYWpqRT2fMOKkLXTMH5ZeBS7XnOWXfIhTLubXuReXIkrTCk0JuO6g4RP_PKT4O1M2Vag6_XW0zfIFtQInEo/s1600/DSCN2490.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBGlKnjTaWtCPVNxCa0QgJkXG0aC7fuyyVcQdPduYDjCF_gGhHDmGahh9zcYWpqRT2fMOKkLXTMH5ZeBS7XnOWXfIhTLubXuReXIkrTCk0JuO6g4RP_PKT4O1M2Vag6_XW0zfIFtQInEo/s1600/DSCN2490.JPG" height="300" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgutErZxMNtulmeiEFZcXFHNm_13FEvMarV9mh9BpG5MkyR50b36ZimEiG4IMRJP171S37m-qtkx6mCzb_4hqU4kbOLr4WQVAm4GQb6DD3YDwGHexS9GKdUtL-epCZTcqOrhRmsSacbrvA/s1600/DSCN2486.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgutErZxMNtulmeiEFZcXFHNm_13FEvMarV9mh9BpG5MkyR50b36ZimEiG4IMRJP171S37m-qtkx6mCzb_4hqU4kbOLr4WQVAm4GQb6DD3YDwGHexS9GKdUtL-epCZTcqOrhRmsSacbrvA/s1600/DSCN2486.JPG" height="300" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAkxeM0nKWES9PTsMkwmrFynkWBPd4AfsynvYquGSWnUuUhvHwcreIPthtK7OxVPUGs8xzKNeUPQRTbchgVhR4kyHp3VhPKhm5eB1v8oG55PRVTLQGh9uDRdAcKLHUdGf3QQSzAWmajVA/s1600/DSCN2487.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAkxeM0nKWES9PTsMkwmrFynkWBPd4AfsynvYquGSWnUuUhvHwcreIPthtK7OxVPUGs8xzKNeUPQRTbchgVhR4kyHp3VhPKhm5eB1v8oG55PRVTLQGh9uDRdAcKLHUdGf3QQSzAWmajVA/s1600/DSCN2487.JPG" height="300" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<b><span style="color: red; font-size: x-large;">Video</span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/5riKImFSuXs" width="420"></iframe>
<br />
<div style="text-align: left;">
Per questo progetto è tutto, fatemi sapere se vi è piaciuto lasciando un commento qui sotto, ciao!</div>
Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com6tag:blogger.com,1999:blog-9026279049257959480.post-28376094814217945772013-10-19T15:43:00.000+02:002013-10-19T16:33:01.579+02:00Pianola con buzzer, telecomando infrarossi e arduino<a href="http://forum.arduino.cc//index.php?topic=129145.0">Grazie all'aiuto del forum di Arduino</a> sono riuscito a risolvere un problema durante la compilazione del mio sketch della pianola ad infrarossi.<br />
Con il telecomado della mia tv con codifica RC5 posso riprodurre le 7 note su Arduino (si può usare qualsiasi telecomando, basta sostituire i codici!).<br />
Ho collegato il sensore ad infrarossi TSOP4838 al pin 11 e il buzzer al pin 8.<br />
I suono vengono riprodotti con la funzione tone().<br />
La libreria IrRemote e tone() usano lo stesso timer e quindi ho spostato il timer 2 della IrRemote sul timer 1.<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">// Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, etc</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">#else</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> #define IR_USE_TIMER1 // tx = pin 9</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> //#define IR_USE_TIMER2 // tx = pin 3</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">#endif</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
Prima di tutto dovete aggiungere<a href="https://www.dropbox.com/s/7wi5tmu0n8bt7u1/IRremote_for_tonezip.zip"> questa libreria</a>, modificata da me.<br />
Con la mia libreria modificata il led IR per trasmettere va connesso al pin 9.<br />
Vediamo subito lo schema del circuito:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd4CDBSId_8ApzYnDVMFAR7JvN8h0C8dtmVaEmODENN62vXtJhK3EIBcEqTDm8s4ew19IsNdklJJ2qm896liOTAaNoK9qDLmxcKlWXbNZzgrWFO4pJ2D9wINCRbpEccg_P4M5E54txivM/s1600/pianola+telecomando+infrarossi_bb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd4CDBSId_8ApzYnDVMFAR7JvN8h0C8dtmVaEmODENN62vXtJhK3EIBcEqTDm8s4ew19IsNdklJJ2qm896liOTAaNoK9qDLmxcKlWXbNZzgrWFO4pJ2D9wINCRbpEccg_P4M5E54txivM/s1600/pianola+telecomando+infrarossi_bb.png" height="400" width="315" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Lo sketch è il seguente:</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><br /><br />
<pre><span style="color: #7e7e7e;">/*</span>
<span style="color: #7e7e7e;"> * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv</span>
<span style="color: #7e7e7e;"> * An IR detector/demodulator must be connected to the input RECV_PIN.</span>
<span style="color: #7e7e7e;"> * Version 0.1 July, 2009</span>
<span style="color: #7e7e7e;"> * Copyright 2009 Ken Shirriff</span>
<span style="color: #7e7e7e;"> * http://arcfn.com</span>
<span style="color: #7e7e7e;"> */</span>
#include <IRremote.h>
<span style="color: #cc6600;">int</span> RECV_PIN = 11;
<span style="color: #cc6600;">IRrecv</span> irrecv(RECV_PIN);
<span style="color: #cc6600;">decode_results</span> results;
<span style="color: #cc6600;">void</span> <span style="color: #cc6600;"><b>setup</b></span>()
{
<span style="color: #cc6600;"><b>Serial</b></span>.<span style="color: #cc6600;">begin</span>(9600);
irrecv.<span style="color: #cc6600;">enableIRIn</span>(); <span style="color: #7e7e7e;">// Start the receiver</span>
}
<span style="color: #cc6600;">void</span> <span style="color: #cc6600;"><b>loop</b></span>() {
<span style="color: #cc6600;">if</span> (irrecv.<span style="color: #cc6600;">decode</span>(&results)) {
<span style="color: #cc6600;"><b>Serial</b></span>.<span style="color: #cc6600;">println</span>(results.value, <span style="color: #006699;">HEX</span>);
irrecv.<span style="color: #cc6600;">resume</span>(); <span style="color: #7e7e7e;">// Receive the next value</span>
}
<span style="color: #cc6600;">if</span> (results.value == 0x1) <span style="color: #7e7e7e;">//do</span>
{
<span style="color: #cc6600;">tone</span>(8,261,200);
}
<span style="color: #cc6600;">if</span> (results.value == 0x2) <span style="color: #7e7e7e;">//re</span>
{
<span style="color: #cc6600;">tone</span>(8,293,200);
}
<span style="color: #cc6600;">if</span> (results.value == 0x3) <span style="color: #7e7e7e;">//mi</span>
{
<span style="color: #cc6600;">tone</span>(8,330,200);
}
<span style="color: #cc6600;">if</span> (results.value == 0x4) <span style="color: #7e7e7e;">//fa</span>
{
<span style="color: #cc6600;">tone</span>(8,349,200);
}
<span style="color: #cc6600;">if</span> (results.value == 0x5) <span style="color: #7e7e7e;">//sol</span>
{
<span style="color: #cc6600;">tone</span>(8,392,200);
}
<span style="color: #cc6600;">if</span> (results.value == 0x6) <span style="color: #7e7e7e;">//la</span>
{
<span style="color: #cc6600;">tone</span>(8,435,200);
}
<span style="color: #cc6600;">if</span> (results.value == 0x7) <span style="color: #7e7e7e;">//si</span>
{
<span style="color: #cc6600;">tone</span>(8,494,200);
}
}</pre>
<pre><span style="font-family: inherit;">Lo Per fare suonare Arduino basta premere i tasti dal 1 a 7 con un telecomando Philips con codifica RC5.</span></pre>
<pre><span style="font-family: inherit;">Per cambiare i codici dei pulsanti basta che aprite il moditor seriale e sostituite i codici <b><span style="font-size: large;">0x</span></b>codice.</span></pre>
<pre style="text-align: center;"><span style="font-family: inherit; font-size: x-large;"><b>Foto</b></span></pre>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxpBfq0OZzHmkOFOwkrchJsaKywbGQpp_gThd0IYCBQ3E_3-hQmqCa6VwPrGhV3gG6rkQDnGpwzdukN7M7UDoLE3JATnbqxp_KJYfs7n5MxvJYW1qno8U8WUWqHsWumNeaHg4zQ6tDE8o/s1600/DSCN2478.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxpBfq0OZzHmkOFOwkrchJsaKywbGQpp_gThd0IYCBQ3E_3-hQmqCa6VwPrGhV3gG6rkQDnGpwzdukN7M7UDoLE3JATnbqxp_KJYfs7n5MxvJYW1qno8U8WUWqHsWumNeaHg4zQ6tDE8o/s1600/DSCN2478.JPG" height="300" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<b><span style="font-size: x-large;">Video</span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<pre><span style="font-family: inherit;">
</span></pre>
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/essSjsyJ3zI" width="420"></iframe>
<br />
ciao a tutti, e al prossimo articolo!<br />
<pre></pre>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<br />
<br />Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com1tag:blogger.com,1999:blog-9026279049257959480.post-74612020910343595522013-10-18T22:18:00.004+02:002013-10-18T22:57:27.963+02:00Trasmettere comando infrarossi con funzione sendRaw libreria IrRemoteDopo numerosi tentativi, sono riuscito a ri-trasmettere il codice del mio telecomando samsung con Arduino e la libreria <a href="https://github.com/shirriff/Arduino-IRremote">IrRemote</a> (da copiare - incollare dentro la cartella programmi --> arduino--> libraries.<br />
Sono riuscito grazie all'aiuto del forum di Arduino, potete leggere <a href="http://forum.arduino.cc//index.php?topic=193973.0">qui</a> e <a href="http://forum.arduino.cc//index.php?topic=194070.0">qui</a>.<br />
Per ottenere i valori RAW basta caricare lo sketch "IRrecvDump" inclusso negli esempi della libreria e vedere i codici dal monitor seriale.<br />
Io ho utilizzato un sensore IR TSOP4838 collegato al PIN 11 di Arduino UNO.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB2EnBaozLaBpFmCGmxbXyuuZnr83KkSc6r040-PPtIdv1EVHpvpMYHFVJYVrSWZzww20CsxUtg5mhAfEzJyluGn7ataMu_dE3UA2rUD2o2oSjbeKwn0VwiarTOh3PfP27pNXpXpyWdtQ/s1600/2-sensores-ir-telefunken-tsop4838-38khz-pcm-p-control-remot_MLA-O-3306937218_102012.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB2EnBaozLaBpFmCGmxbXyuuZnr83KkSc6r040-PPtIdv1EVHpvpMYHFVJYVrSWZzww20CsxUtg5mhAfEzJyluGn7ataMu_dE3UA2rUD2o2oSjbeKwn0VwiarTOh3PfP27pNXpXpyWdtQ/s1600/2-sensores-ir-telefunken-tsop4838-38khz-pcm-p-control-remot_MLA-O-3306937218_102012.jpg" height="217" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Pin - out sensore <span style="font-size: small; text-align: start;">TSOP4838</span></td></tr>
</tbody></table>
<br />
<br />
Il codice RAW del mio telecomando (non samsung) è il seguente:<br />
<span style="background-color: white; font-family: monospace; font-size: 12px; line-height: 17.15625px; white-space: nowrap;">Unknown encoding: E0984BB6 (32 bits)</span><br />
<span style="background-color: white; font-family: monospace; font-size: 12px; line-height: 17.15625px; white-space: nowrap;">Raw (24): -8386 1300 -400 1300 -350 450 -1200 1300 -400 1300 -350 450 -1200 450 -1250 450 -1200 1300 -350 450 -1200 500 -1200 450 </span><br />
<span style="background-color: white; font-family: monospace; font-size: 12px; line-height: 17.15625px; white-space: nowrap;"><br /></span>
<span style="background-color: white; line-height: 17.15625px; white-space: nowrap;"><span style="font-family: inherit;">Per poter trasmetterlo bisogna seguire questi passaggi:</span></span><br />
<ol>
<li><span style="line-height: 17.15625px; white-space: nowrap;">Eliminare tutti i "-" meno (usate la funzione sostituisci del notepad)</span></li>
<li><span style="line-height: 17.15625px; white-space: nowrap;">Sostituite tutti gli spazi con delle virgole ","</span></li>
<li><span style="line-height: 17.15625px; white-space: nowrap;">Eliminate il primo valore</span></li>
<li><span style="line-height: 17.15625px; white-space: nowrap;">E poi create un array.</span></li>
</ol>
<span style="line-height: 17.15625px; white-space: nowrap;">Dovrete ottenere qualcosa del genere:</span><br />
<span style="background-color: white; font-family: monospace; font-size: 12px; line-height: 17.15625px; white-space: nowrap;">unsigned int Signal[] = {1300,400,1300,350,450,1200,1300,400,1300,350,450,1200,450,1250,450,1200,1300,350,450,1200,500,1200,450,1000};</span><br />
<span style="background-color: white; font-family: monospace; font-size: 12px; line-height: 17.15625px; white-space: nowrap;"><br /></span>
<span style="font-family: inherit;"><span style="line-height: 17.15625px; white-space: nowrap;">Lo sketch per trasmettere è il seguente:</span></span><br />
<br />
<a name='more'></a><span style="font-family: inherit;"><span style="line-height: 17.15625px; white-space: nowrap;"><br /></span></span>
<span style="background-color: white; font-family: monospace; font-size: 12px; line-height: 17.15625px; white-space: nowrap;"><br /></span>
<br />
<pre><span style="color: #7e7e7e;">//sketch creato da Alessandro Riva</span>
<span style="color: #7e7e7e;">//collegare led IR al pin 3</span>
<span style="color: #7e7e7e;">// sito: alessandro-riva-elettronica.blogspot.it</span>
#include <IRremote.h>
<span style="color: #cc6600;">unsigned</span> <span style="color: #cc6600;">int</span> Signal[] = {1300,400,1300,350,450,1200,1300,400,1300,350,450,1200,450,1250,450,1200,1300,350,450,1200,500,1200,450,1000};
<span style="color: #cc6600;">IRsend</span> irsend;
<span style="color: #cc6600;">void</span> <span style="color: #cc6600;"><b>setup</b></span>()
{
<span style="color: #cc6600;"><b>Serial</b></span>.<span style="color: #cc6600;">begin</span>(9600);
}
<span style="color: #cc6600;">void</span> <span style="color: #cc6600;"><b>loop</b></span>() {
<span style="color: #cc6600;">for</span> (<span style="color: #cc6600;">int</span> i = 0; i < 3; i++) {
irsend.<span style="color: #cc6600;">sendRaw</span>(Signal, sizeof(Signal)/sizeof(<span style="color: #cc6600;">int</span>), 38);
<span style="color: #cc6600;">delay</span>(400);
}
}
</pre>
<pre><span style="font-family: inherit;">Sostituite i valori RAW con quelli del vostro telecomando.</span></pre>
<pre><span style="font-family: inherit;">Il LED IR collegatelo al pin 3 con una resistenza da 220ohm.</span></pre>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL5NHTjB7VkYuNP8tJqpZFhy5uEcRGKxkPqTtPqidQ1WhnGYwglKyIxR7YLPhGI6JhXEZsdmZ5k7bawOkqaZnV0md-7dEmftTcQZIa0XE88xXbNli2nB1aw1aJuCFdrtG7Kuw1r7LcEj0/s1600/Arduino-IR-emiter.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL5NHTjB7VkYuNP8tJqpZFhy5uEcRGKxkPqTtPqidQ1WhnGYwglKyIxR7YLPhGI6JhXEZsdmZ5k7bawOkqaZnV0md-7dEmftTcQZIa0XE88xXbNli2nB1aw1aJuCFdrtG7Kuw1r7LcEj0/s1600/Arduino-IR-emiter.png" height="187" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Per qualsiasi problema o informazione commentate qui sotto.</div>
<pre><span style="font-family: inherit;">
</span></pre>
Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com2tag:blogger.com,1999:blog-9026279049257959480.post-68932525382213437632013-09-22T15:25:00.000+02:002013-09-22T15:25:00.702+02:00Pilotare led bipolare bicolore con ArduinoHo trovato nella mia scatola dove tengo i componenti recuperati un bel led bipolare verde - rosso.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWPQpj_z_Hzq3XHXB0CRJYPIOIsjDUMob7qjJfgsawRuWekfpY90EBxWKAx-nZiAOsQcIenNU0bL36sToRj7QL38-YfsiDNFCyVtFrNhy2kmn18RmtSnT2MqTpFvG7M6BqB0wgG78y72Y/s1600/2013-09-22+13.10.44.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWPQpj_z_Hzq3XHXB0CRJYPIOIsjDUMob7qjJfgsawRuWekfpY90EBxWKAx-nZiAOsQcIenNU0bL36sToRj7QL38-YfsiDNFCyVtFrNhy2kmn18RmtSnT2MqTpFvG7M6BqB0wgG78y72Y/s1600/2013-09-22+13.10.44.jpg" height="240" width="320" /></a></div>
<br />
Il led bicolore è formato da 2 led rosso e verde disposti in antiparallelo, questo componente ha 2 fili.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxavDdJUxXblLA-e7Zm0AJ8ogIL8sBUdBO_mASWUWnhhNzuc7hpgh8nKXqUYJzsruf0cNe_Wqz8HQqLMRovNP9dt9Im9IjrskRHXa-3lMnFT5ei2lj_-ZUfDUZRQDrwqKslm2yNjme-C8/s1600/led+bipolare+schema3.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxavDdJUxXblLA-e7Zm0AJ8ogIL8sBUdBO_mASWUWnhhNzuc7hpgh8nKXqUYJzsruf0cNe_Wqz8HQqLMRovNP9dt9Im9IjrskRHXa-3lMnFT5ei2lj_-ZUfDUZRQDrwqKslm2yNjme-C8/s1600/led+bipolare+schema3.bmp" height="283" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Il led bipolare che ho utilizzato io ha già la resistenza cablata.<br />
<br />
Schema pratico del circuito:
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXaAdgS3O_hr20znRBB5hGqD2YF3TXzsKrQa642dZcRX7q-ANVMNMGAnjPKI_356brdq0PIODniCENH-szkuA878QeGP7Wd5GrTqM2_-c8YN82wVsz79mbKfncBQgvqFE_V-Q94ZD06Ro/s1600/led+bicolore_bb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXaAdgS3O_hr20znRBB5hGqD2YF3TXzsKrQa642dZcRX7q-ANVMNMGAnjPKI_356brdq0PIODniCENH-szkuA878QeGP7Wd5GrTqM2_-c8YN82wVsz79mbKfncBQgvqFE_V-Q94ZD06Ro/s1600/led+bicolore_bb.png" height="320" width="258" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
Passiamo al programma che farà lampeggiare il led alternativamente rosso e verde:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<iframe src="http://pastebin.com/embed_iframe.php?i=NYkpK2dS" style="border: none; height: 400px; width: 100%;"></iframe><br />
Video:<br />
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/VsNJThXR1sw" width="420"></iframe>
<br />
<div style="text-align: center;">
<span style="color: red; font-size: large;"><b>Con PWM</b></span></div>
Il programma è davvero molto semplice e non mi trattengo molto a spiegarlo.<br />
Ora passiamo a qualcosa leggermente più complicato, usiamo il PWM per l'effetto dissolvenza.<br />
Ecco il codice:<br />
<br />
<iframe src="http://pastebin.com/embed_iframe.php?i=HTNFaEEz" style="border: none; height: 500px; width: 100%;"></iframe>
<br />
Il programma è formato da 4 cicli for: i primi 2 cicli fanno accendere e spegnere con effetto dissolvenza il led rosso e gli altri 2 cicli controllano i led verde.<br />
Video:<br />
<br />
<br />
Foto:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3XKY0kjZ-4Dok5R1x3lUEh9MO0pM8aw6coHYOIYhY-HaqpFGnm8qOe-VCRxHyof9rBighgF2vAXij5DlOsYN3IxH_aM_Sn8F_nNSMmkscBi1ekHQQtOTEV0tTGah9P5ViJ9YexzaegBE/s1600/2013-09-22+12.44.03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3XKY0kjZ-4Dok5R1x3lUEh9MO0pM8aw6coHYOIYhY-HaqpFGnm8qOe-VCRxHyof9rBighgF2vAXij5DlOsYN3IxH_aM_Sn8F_nNSMmkscBi1ekHQQtOTEV0tTGah9P5ViJ9YexzaegBE/s1600/2013-09-22+12.44.03.jpg" height="300" width="400" /></a></div>
<br />
<br />
Esercizio: Riesci a realizzare un programma che fa l'effetto dissolvenza al led rosso e verde alla pressione di un pulsante?<br />
<br />
<br />Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com0tag:blogger.com,1999:blog-9026279049257959480.post-20340776986216344432013-09-20T19:13:00.003+02:002013-09-22T13:24:13.278+02:00Pilotare motore stepper bipolare con Arduino<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Ho recuperato da una vecchia stampante un motore stepper bipolare a 4 fili.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDs5ok8kmTiDQesiME1zeAoSm-dGc3-0KgjcU6ze-DbueDDposZz-6dHUCF4SFYpbZtGkuvxPzExFGfxskNi9rIZd9aI31J_SSjcGe5kvlweVssHkxjWGSSY-0IOxiaXPp4ZJiOcbXSxA/s1600/2013-09-20+18.22.54.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDs5ok8kmTiDQesiME1zeAoSm-dGc3-0KgjcU6ze-DbueDDposZz-6dHUCF4SFYpbZtGkuvxPzExFGfxskNi9rIZd9aI31J_SSjcGe5kvlweVssHkxjWGSSY-0IOxiaXPp4ZJiOcbXSxA/s1600/2013-09-20+18.22.54.jpg" height="240" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Ecco il motore</td></tr>
</tbody></table>
<br />
Per trovare qli avvolgimenti basta usare un multimetro con la funzione "prova continuità" (la funzione con il beep).<br />
I motori bipolari sono formati da 2 bobine, con una resistenza nel mio caso di 37ohm.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPKj7EkuVObV8fX6LI38fjLP2MqC1mwHWM08SY2BP2qerKsfxBrjPGjsKplq77Zyj1pGm3n3UO7HkEclTt_vIiZpdLVdgWmhfU7lPXfOcldWPBFM_JlLQ9dwDCd46T0Knm-uuv57CfCKo/s1600/bmodel.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPKj7EkuVObV8fX6LI38fjLP2MqC1mwHWM08SY2BP2qerKsfxBrjPGjsKplq77Zyj1pGm3n3UO7HkEclTt_vIiZpdLVdgWmhfU7lPXfOcldWPBFM_JlLQ9dwDCd46T0Knm-uuv57CfCKo/s1600/bmodel.gif" height="367" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Le bobine del motore non si possono pilotare direttamente con Arduino perchè ogni pin può fornire al max 40mA.</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><br /><br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Quindi ho usato il ponte - H incluso nello starter kit di Arduino, il L293D.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFkZi-xU6CJmNlFiFsUKXcG3P92mL4X8uIG7rMDXvXueAUnZdAXTQPAQSqANdNne2tbDqqap4xO1GArQVRPcGNC-yLHDMcTVWKM8JBJzoaF8D1A8XR2qeaUZSuovEEpJFWYFS0ClZ9LWw/s1600/L293D.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFkZi-xU6CJmNlFiFsUKXcG3P92mL4X8uIG7rMDXvXueAUnZdAXTQPAQSqANdNne2tbDqqap4xO1GArQVRPcGNC-yLHDMcTVWKM8JBJzoaF8D1A8XR2qeaUZSuovEEpJFWYFS0ClZ9LWw/s1600/L293D.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Ponte H<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4TBW3bUUZSuO3RcLtLhwJIKipPtcTk9HxRok9wyOfz_0jj2ccotAQCPCceKSNj46dqDFA67Tv6KfRYL9GKZe0YV38rUfyQNhdALVdIWvsaXuhdRuxSVo6eROQx7tOLMLZxsvqbAMQXa4/s1600/L293D_1.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4TBW3bUUZSuO3RcLtLhwJIKipPtcTk9HxRok9wyOfz_0jj2ccotAQCPCceKSNj46dqDFA67Tv6KfRYL9GKZe0YV38rUfyQNhdALVdIWvsaXuhdRuxSVo6eROQx7tOLMLZxsvqbAMQXa4/s1600/L293D_1.jpg" height="240" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="font-size: 13px;">Pin-out ponte H</td></tr>
</tbody></table>
<div style="font-size: medium; text-align: start;">
</div>
<br />
<span style="font-size: small;"><br /></span>
<span style="font-size: small;">Lo schema del circuito da realizzare è il seguente:</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLbrChcPdc1qElQQ_v8fFFDEkpxnAmX0QNpzLAaUrIpFmb6K3oBhy664_jSSH6wTrDkc4D5G95ntVKBLrxPZrG4TguJ_Afs1wbA06EfN2OXHsnR_fpUL8vkEEQNoNGjI4sJhMQcwCEqHA/s1600/stepper+bipolare_bb.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLbrChcPdc1qElQQ_v8fFFDEkpxnAmX0QNpzLAaUrIpFmb6K3oBhy664_jSSH6wTrDkc4D5G95ntVKBLrxPZrG4TguJ_Afs1wbA06EfN2OXHsnR_fpUL8vkEEQNoNGjI4sJhMQcwCEqHA/s1600/stepper+bipolare_bb.png" height="245" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="font-size: 13px;">Schema del circuito da realizzare<br />
<div>
<br /></div>
</td></tr>
</tbody></table>
<br /></td></tr>
</tbody></table>
Come sio può vedere il motore l'ho alimentato con una batteria esterna da 9V.<br />
NON connettere il positivo della batteria da 9V con il pin 5V di Arduino!<br />
Ora passiamo al programma:<br />
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<iframe src="http://pastebin.com/embed_iframe.php?i=Gtisqxz0" style="border: none; height: 500px; width: 100%;"></iframe>
Il programma è molto semplice, manda un impulso sulle 2 bobine con polarità ogni volta diversa.<br />
<br />
Di seguito foto e video dell'esperimento:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw79uTrF2LYv2xsbRieBMjKmUJjrw3UKY60oKpyCA6hrMgPwzKGflpY41776H-Z4ksJ5Hcr1XlCo3E6JV9hqx6mlLO3emK_nTVgnjQv2BXK_FIDqWceAK9je7MeNbaPdl4vCVj18Tkliw/s1600/2013-09-20+18.23.22.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw79uTrF2LYv2xsbRieBMjKmUJjrw3UKY60oKpyCA6hrMgPwzKGflpY41776H-Z4ksJ5Hcr1XlCo3E6JV9hqx6mlLO3emK_nTVgnjQv2BXK_FIDqWceAK9je7MeNbaPdl4vCVj18Tkliw/s1600/2013-09-20+18.23.22.jpg" height="300" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjH3EbOry54gVydk49mPCxmP4Hlb8a8_b8o9v1L99cPJbWKDInQN3ks0HvhoNhBZJyueA7xG_y6QPVSNokJlvtPhVzb8t1feg9c_QS5t-tADR2q60mCxaeBBtMHIiCx0fxZY0nX2B6X58/s1600/2013-09-20+18.23.33.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjH3EbOry54gVydk49mPCxmP4Hlb8a8_b8o9v1L99cPJbWKDInQN3ks0HvhoNhBZJyueA7xG_y6QPVSNokJlvtPhVzb8t1feg9c_QS5t-tADR2q60mCxaeBBtMHIiCx0fxZY0nX2B6X58/s1600/2013-09-20+18.23.33.jpg" height="300" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Video:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/5Ohg2ZoWv_c" width="420"></iframe>
<br />
Per qualsiasi dubbio o chiarimento potete lasciare sempre un commento qui sotto.<br />
Fonte:<a href="http://www.mauroalfieri.it/elettronica/motori-passo-passo-bipolari-con-arduino-prima-parte.html"> <span style="background-color: white; color: #1772af; font-family: inherit;">Motori passo-passo bipolari con Arduino – prima parte</span></a></div>
Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com6tag:blogger.com,1999:blog-9026279049257959480.post-12002028369438154152013-09-16T18:59:00.003+02:002013-09-16T19:43:23.746+02:00Scrivere Bootloader ATmega328p con arduino su BreadBoard con e senza quazo.In questo tutorial vediamo come scrivere il bootloader su un ATmega328 usando l'Arduino UNO.<br />
<br />
<span style="color: red; font-size: x-large; text-align: center;">Scrivere il bootloader su atmega 328p a 16mhz</span><br />
Ci servirà:<br />
<ul>
<li>Una breadboard</li>
<li>Un Arduino UNO</li>
<li>2 condensatori da 18 o 22pf</li>
<li>Un cristallo da 16 MHz</li>
<li>Una resistenza da 10K</li>
</ul>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ol>
<li>Selezionare il modello di Arduino che si sta utilizzando dal menu: strumenti --> tipo di Arduino.</li>
<li>Fare l'upload dello sketch "Arduino ISP" (negli esempi) sull'Arduino da usare come programmatore.</li>
<li>Collegare l'Arduino e l'ATmega 328 come nel seguente schema, (nello schema non è indicato ma bisogna aggiungere un condensatore da 10uF tra il pin reset e 3,3V di Arduino, con Arduino r3 non è necessario).</li>
<li><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEg5JWfRSvxZmPmIUQbCQmeFtnxKgz0iM5FTPsonbsdvfTo33fAcWyozyoP9xBboouXdQsooFiw-r7-FEQkosnpX8MEK98hOlbjivwPMyobvrQdVwtC4P1JQGtLFhUGyMatXl5A7mhig0/s1600/BreadboardAVR.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEg5JWfRSvxZmPmIUQbCQmeFtnxKgz0iM5FTPsonbsdvfTo33fAcWyozyoP9xBboouXdQsooFiw-r7-FEQkosnpX8MEK98hOlbjivwPMyobvrQdVwtC4P1JQGtLFhUGyMatXl5A7mhig0/s1600/BreadboardAVR.png" height="400" width="295" /></a></li>
<li>Selezionare "Arduino UNO" dal menù strumenti, tipo di Arduino.</li>
<li>Poi menù strumenti --> Programmatore--> Arduino as ISP</li>
<li>E infine menù --> Strumenti --> Scrivi il bootloader</li>
</ol>
<br />
<span style="color: red; font-size: x-large; text-align: center;">Circuito minimale con quarzo interno 8mhz</span><br />
<ol>
</ol>
Con questa configurazione non sono necessari i 2 condensatori da 18 - 22pf, il quarzo e la resistenza da 10K.<br />
<br />
<a name='more'></a><br />
Per utilizzare il quarzo interno da 8mhz, bisogna creare una sottocartella chiamata "breadboard" nella cartella "hardware" di Arduino e copiarci dentro<a href="https://docs.google.com/file/d/0B9ob68xXqdkaRmlpTXFBa0tYY2M/edit?usp=sharing"> questo file</a> e riavviare L'IDE di Arduino.<br />
Il circuito da realizzare è il seguente:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHXdPOWWJLYmk2NlW0Nq33FWctzCOIwhjKUae2vVp6Pqw9ZUa960YYV8yLyPebm0IS7_3p-7SjSLazGnVA4PSGG6UEqIm1uP-y5P3_8JPoEAcCtXgA0y7a_6AyK5Cy5q7KiFobrzWfdQE/s1600/SimpleBreadboardAVR.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHXdPOWWJLYmk2NlW0Nq33FWctzCOIwhjKUae2vVp6Pqw9ZUa960YYV8yLyPebm0IS7_3p-7SjSLazGnVA4PSGG6UEqIm1uP-y5P3_8JPoEAcCtXgA0y7a_6AyK5Cy5q7KiFobrzWfdQE/s1600/SimpleBreadboardAVR.png" height="400" width="295" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
Il procedimento è identico a quello sopra, basterà selezionare "ATmega328 on a breadboard 8mhz" dal menu tipo di Arduino, selezioniamo come programmatore Arduino as ISP e scrivere il bootloader.<br />
Volendo possono essere aggiunti dei led con resistenza da 220ohm dai seguenti pin a gnd.<br />
<br />
<ul>
<li>Pin 9 Arduino, led <span style="color: lime;">verde</span>: indica che il programmatore è in funzione.</li>
<li>Pin 8 Arduino, led <span style="color: red;">rosso</span>: serve ad indicare un errore.</li>
<li>Pin 7 Arduino, led<span style="color: yellow;"> giallo</span>: lampeggia durante la programmazione.</li>
</ul>
<br />
Alcune foto:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXRx5nqWFdNWWwMCXsLhAQK2UbmTOZjjhjKo6PJrVTjhazQVwuMKj8ed0Ve8dydvtHsGU4uQclzF2-0utNtpfkIYY-vU5Dov-Klg8ehkUUl4Mz9otMc5WxGESczcFdzqvvvr1z44lx2NA/s1600/2013-09-16+18.02.05.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXRx5nqWFdNWWwMCXsLhAQK2UbmTOZjjhjKo6PJrVTjhazQVwuMKj8ed0Ve8dydvtHsGU4uQclzF2-0utNtpfkIYY-vU5Dov-Klg8ehkUUl4Mz9otMc5WxGESczcFdzqvvvr1z44lx2NA/s1600/2013-09-16+18.02.05.jpg" height="300" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid-UM03i4eKx4W4SaBADNyA_vRypFH-lcOZm257Yaw9wp5ssSdBZ2yB9vhv9mm0_4zPtmcB1HHBYz4lfCo9PnxmicM55XHTJdVnSNIUEZrzZqN7FsRxIb4eIfSsVBp4I5hevdQuth9sBE/s1600/2013-09-16+18.02.25.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid-UM03i4eKx4W4SaBADNyA_vRypFH-lcOZm257Yaw9wp5ssSdBZ2yB9vhv9mm0_4zPtmcB1HHBYz4lfCo9PnxmicM55XHTJdVnSNIUEZrzZqN7FsRxIb4eIfSsVBp4I5hevdQuth9sBE/s1600/2013-09-16+18.02.25.jpg" height="300" width="400" /></a></div>
<br />
<br />
Nel prossimo post vedremo come caricare li sketch usando lo stesso procedimento.<br />
Per qualsiasi domanda scrivete nei commenti qui sotto.<br />
Fonte: <span style="background-color: white; color: #333333; font-family: 'Lucida Sans', Lucida, Verdana, sans-serif;"><a href="http://arduino.cc/en/Tutorial/ArduinoToBreadboard">From Arduino to a Microcontroller on a Breadboard</a></span><br />
<br />
<br />
<br />Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com0tag:blogger.com,1999:blog-9026279049257959480.post-33662271874788811182013-09-09T15:33:00.000+02:002013-09-09T19:48:28.948+02:00Progress bar orizzontale LCD con caratteri personalizzati ArduinoCon Arduino si possono creare dei caratteri personalizzati per il display LCD.<br />
Il display LCD ha 16 colonne per ogni riga, ma non sono sufficienti per rappresentare una percentuale.<br />
Ogni carattere è formato da 5 x 8 pixel, 5 x 16 = 80 passi.<br />
I caratteri personalizzati sono così:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJaomnnH1zEOcoqG20ErGQ0cxTuoTJ_oSt69Id3nl3yQm4MbNLbQ6fFF50WEBKl9OWWL4T8hub35muop3KgqORQWFpLnXR7DVk6OpF7c-3HmQZvqav8NBtzC2ndWrOrmnhEoXjnv8yJ3o/s1600/P1020170-300x225.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJaomnnH1zEOcoqG20ErGQ0cxTuoTJ_oSt69Id3nl3yQm4MbNLbQ6fFF50WEBKl9OWWL4T8hub35muop3KgqORQWFpLnXR7DVk6OpF7c-3HmQZvqav8NBtzC2ndWrOrmnhEoXjnv8yJ3o/s1600/P1020170-300x225.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Circuito da realizzare:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6popjNOqM_mGzIWJwWOnzYpXMA3VZ78f3Zt8-KZWilseD4JxInF7X9CX0ul_0BNUAaMY4r-ieJnIPoQjme1LnG5X9dbq_niQ2FIoJ-RJZz_EPs3AFHJ_qLAhKXEH74YfaYIN5lGY4_c0/s1600/Arduino+lcd+e+potenziometro_bb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6popjNOqM_mGzIWJwWOnzYpXMA3VZ78f3Zt8-KZWilseD4JxInF7X9CX0ul_0BNUAaMY4r-ieJnIPoQjme1LnG5X9dbq_niQ2FIoJ-RJZz_EPs3AFHJ_qLAhKXEH74YfaYIN5lGY4_c0/s1600/Arduino+lcd+e+potenziometro_bb.png" height="336" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Programma per Arduino:</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><br /><br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<iframe src="http://pastebin.com/embed_iframe.php?i=C9UiKWs6" style="border: none; width: 100%;"></iframe>
<br />
Video originale:<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/txYMw9bIebM?feature=player_embedded" width="600"></iframe><br />
<br />
Mio video:
<iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/QQEjUm9EJVc?feature=player_detailpage" width="600"></iframe><br />
<br />
<span style="color: red;">Fonte articolo: </span><span style="background-color: white; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 48px;"><a href="http://www.electronicsblog.net/arduino-lcd-horizontal-progress-bar-using-custom-characters/">Arduino LCD horizontal progress bar using custom characters</a></span>Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com4tag:blogger.com,1999:blog-9026279049257959480.post-36832999615414171872013-09-07T18:21:00.004+02:002013-09-22T13:25:46.345+02:00Controllo colore LED RGB con potenziometri.Oggi vediamo come controllare il colore di un led rgb.<br />
Con soli 3 colori si possono creare diverse sfumature.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRO1kuFuBBhUvHupztrOA7fWiZ-DRTMeB5DeKj3pDJe3x-9hyQcSHksxLu3HasZP4oDEvkpmygtBu4x9e14HtKSr6nczhbVZtH2RyuYYCdAHTOMlsFQfTUthh_r6z__WMLEuNSpNNCQSc/s1600/600px-RGB.svg.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRO1kuFuBBhUvHupztrOA7fWiZ-DRTMeB5DeKj3pDJe3x-9hyQcSHksxLu3HasZP4oDEvkpmygtBu4x9e14HtKSr6nczhbVZtH2RyuYYCdAHTOMlsFQfTUthh_r6z__WMLEuNSpNNCQSc/s1600/600px-RGB.svg.png" height="200" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Colori RGB</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Ogni potenziometro controllerà un colore, il rosso, il verde e il blu.<br />
<br />
Realizziamo il seguente circuito sulla breadboard come ne seguente schema:<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9abgjmUChngbrZJTvHdKPPi8G1KgZUcAkuS4EwL0ThmRF4HxQof8nAxqH2CtrYaX-RX9uLOTELbsN6feK3aIIjRJDk9yHPk8yNFK61WjmIx0RSFaCkg8HWxJAdkWtmdjZVXS0UDQWWaU/s1600/led+rgb+e+potenziometri_bb.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9abgjmUChngbrZJTvHdKPPi8G1KgZUcAkuS4EwL0ThmRF4HxQof8nAxqH2CtrYaX-RX9uLOTELbsN6feK3aIIjRJDk9yHPk8yNFK61WjmIx0RSFaCkg8HWxJAdkWtmdjZVXS0UDQWWaU/s1600/led+rgb+e+potenziometri_bb.png" height="331" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Schema circuito</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Il pin-out dei led rgb è questo:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFUWErYyZi579m1tc3RwrVmsRgDXL5MJIJGUZXE9JR9lEzCkK6harPbELRmZm7IODei2XmZDTjtoCoabLUJqx9iv-F82HOcsZCXEzA-2CGvXwlKiijLoOzTHU42Wm5Lnq3M31MDuUgdi8/s1600/LED-10MM-RGB-CC_2.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFUWErYyZi579m1tc3RwrVmsRgDXL5MJIJGUZXE9JR9lEzCkK6harPbELRmZm7IODei2XmZDTjtoCoabLUJqx9iv-F82HOcsZCXEzA-2CGvXwlKiijLoOzTHU42Wm5Lnq3M31MDuUgdi8/s1600/LED-10MM-RGB-CC_2.jpg" height="132" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Led catodo comune</td></tr>
</tbody></table>
Il led rgb che ho usato è a catodo comune (negativo)<br />
<div>
Questo è il codice di Arduino:<br />
<br />
<a name='more'></a><br /><br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<iframe src="http://pastebin.com/embed_iframe.php?i=Dsz4Lq6a" style="border: none; height: 500px; width: 100%;"></iframe>
Il codice è tutto commentato.<br />
Basta commentare sei pezzi di codice se volete aggiungere un altro led rgb.<br />
nella prima parte del codice vengono dichiarati i pin dei led rgb e i pin analogici dei potenziometri.<br />
Nel <i>void setup</i> viene inizializzata la seriale e settati i pin dei led rgb come OUTPUT.<br />
Nel <i>void loop</i> vengono messi i valori dei potenziometri nelle rispettive variabili.<br />
poi i valori vengono divisi per 4 perchè i valori analogici vanno da 0 a 1023 mentre i pin digitali PWM vanno da 0 a 255 e vengono scritti sulla seriale.<br />
Nell'ultima parte del programma vengono scritti i valori divisi per 4 dei potenziometri sui pin pwm dei led.<br />
Alcune foto che ho scattato:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLz4aB9RutpDJ3xjlI94I7y0PIPF0vkeG4SCWyy36oqjdi_xStdehXJJOWNoH6q9Hul2ihhCBXoeaHI10NNtFn6wCKZVsPGzJn-kL56FdVJaTiBrlgEUPUnUBYgKs974FZA3OJi9OeGYE/s1600/2013-09-07+15.33.18.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLz4aB9RutpDJ3xjlI94I7y0PIPF0vkeG4SCWyy36oqjdi_xStdehXJJOWNoH6q9Hul2ihhCBXoeaHI10NNtFn6wCKZVsPGzJn-kL56FdVJaTiBrlgEUPUnUBYgKs974FZA3OJi9OeGYE/s1600/2013-09-07+15.33.18.jpg" height="300" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin8qzfQkhYQ9RmzYiB0MhgiFLw9zMK1riaAoq88H28kJfV-BdZvMyE-qXbNgPSNhNKk7RIW2_dCIrgkc0lZxir7hFpMiu09UMrcNLogvnLDmxAwBm0s1APhyphenhyphenf6oiNAQx0ytFFS7vCgeO4/s1600/2013-09-07+15.33.35.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin8qzfQkhYQ9RmzYiB0MhgiFLw9zMK1riaAoq88H28kJfV-BdZvMyE-qXbNgPSNhNKk7RIW2_dCIrgkc0lZxir7hFpMiu09UMrcNLogvnLDmxAwBm0s1APhyphenhyphenf6oiNAQx0ytFFS7vCgeO4/s1600/2013-09-07+15.33.35.jpg" height="300" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Video del progetto:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/-XtZFDPeFDc" width="420"></iframe>
<br />
Per qualsiasi dubbio o informazione potete sempre commentare qui sotto.</div>
Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com0tag:blogger.com,1999:blog-9026279049257959480.post-70783220419183644912013-09-06T18:52:00.001+02:002013-09-22T13:25:07.741+02:00Termometro con Arduino, TMP36 e LCDIn questo post vi spiegherò come costruire un termometro con Arduino.<br />
<br />
Questo è il circuito che bisogna realizzare:<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZCXtYSnJgXaY_MhmZY6rYKwz_oThyphenhyphenIyo0-iPlfaqQcAMuowIpp6wlB-RTrjXx8HYPF6H46A1u7QK5145KWwsBCncWJxNQRv5XKzTjKiyda3cgua9XerB2bu_fsVUmE155p6Jze3XrwP4/s1600/termometro+Arduino_bb.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZCXtYSnJgXaY_MhmZY6rYKwz_oThyphenhyphenIyo0-iPlfaqQcAMuowIpp6wlB-RTrjXx8HYPF6H46A1u7QK5145KWwsBCncWJxNQRv5XKzTjKiyda3cgua9XerB2bu_fsVUmE155p6Jze3XrwP4/s1600/termometro+Arduino_bb.png" height="275" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Schema del circuito</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Questo è invece il codice di Arduino</div>
<br />
<iframe src="http://pastebin.com/embed_iframe.php?i=tASDt98n" style="border: none; height: 500px; width: 100%;"></iframe><br />
<br />
Il sensore di temperatura che ho utilizzato è un TMP36, è incluso nello starter kit Ufficiale di Arduino.<br />
Il sensore va collegato al pin analogico A0.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQgzfoqPjP3y4JJBZE9hkeQl2wtrqg3oP25KTuk33EfxiAruU5FKdn7FrPgml4Spj6qSQxB6EUSBKZccwzD3Px9e2bjcWG6ZoFQTBcG5qQE-W3wAQii8-nn_bbbDqGOgRgTlWj1OjgDZQ/s1600/tmp36pinout.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQgzfoqPjP3y4JJBZE9hkeQl2wtrqg3oP25KTuk33EfxiAruU5FKdn7FrPgml4Spj6qSQxB6EUSBKZccwzD3Px9e2bjcWG6ZoFQTBcG5qQE-W3wAQii8-nn_bbbDqGOgRgTlWj1OjgDZQ/s1600/tmp36pinout.jpg" height="302" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Pin-out del sensore di temperatura TMP36</td></tr>
</tbody></table>
<br />
<a name='more'></a><br /><br />
Il programma è semplice ed (quasi) è tutto commentato.<br />
<br />
La logica del programma è:<br />
Converte il valore da 0 a 1024 bit in tensione e lo trasforma in gradi celsius.<br />
Il primo ciclo for legge i valori delle temperature e li mette nell'array.<br />
Il secondo ciclo for somma tutti i valori salvati nell'array.<br />
Poi la somma dei valori viene divisa per il numero di valori registrati.<br />
I valori della temperatura vengono scritti sulla seriale e sul display LCD.<br />
L'ultima parte del programma fa accendere il led integrato (13) quanto viene raggiunta una certa temperatura, una specie di termostato.<br />
Se la temperatura scende sotto quel valore, il led si spegne.<br />
<br />
Video del progetto:<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/H1amhLeW2ZE" width="420"></iframe>
<br />
<br />
<br />
Per qualsiasi dubbio o informazione potete commentare qui sotto.<br />
<pre></pre>
<pre></pre>
Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com1tag:blogger.com,1999:blog-9026279049257959480.post-72203548753314181272013-09-03T17:56:00.002+02:002017-03-12T17:55:25.930+01:00Usare pin analogici Arduino come digitali.Forse non tutti lo sanno ma i pin analogici di Arduino (nel mio caso l'UNO) possono essere usati come I/O digitali.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHAgw1O-vn1Q_Cfv9yMURxmsnh5_g6gt_qMADmOefVdkC88xw7hxaWfwmXQnX9W3GKO6xBYVRc7yMzQJwtVVizQKJQ1Z0S1SACBL5LX81AsV6ImBEMhGuzHtlSzZZna631J57Yu2N7c4A/s1600/ArduinoUno_R3_Front_450px.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHAgw1O-vn1Q_Cfv9yMURxmsnh5_g6gt_qMADmOefVdkC88xw7hxaWfwmXQnX9W3GKO6xBYVRc7yMzQJwtVVizQKJQ1Z0S1SACBL5LX81AsV6ImBEMhGuzHtlSzZZna631J57Yu2N7c4A/s1600/ArduinoUno_R3_Front_450px.jpg" width="320" /></a></div>
<br />
Per usare questi pin come digitali bisogna numerati in un modo diverso:<br />
<br />
<br />
<li>PIN A0 --------> 14</li>
<li>PIN A1 --------> 15</li>
<li>PIN A2 --------> 16</li>
<li>PIN A3 --------> 17</li>
<li>PIN A4 --------> 18</li>
<li>PIN A5 --------> 19</li>
<br />
<div>
Per dichiarare ad esempio il pin A0 come digitale basterà scrivere nel void setup:</div>
<div>
<span style="color: orange;">pinMode(14,OUTPUT);</span></div>
<div>
o come input:<span style="color: orange;"> pinMode(14,INPUT);</span></div>
<div>
Usare i pin analogici come digitali può essere utile nel caso bisogna collegare molti pulsanti, led o sensori vari al nostro Arduino. </div>
Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com2tag:blogger.com,1999:blog-9026279049257959480.post-88338024720510183202013-06-10T20:28:00.002+02:002013-06-10T20:28:40.827+02:00TRIACUn Triac è fondamentalmente un SCR per la corrente alternata, tranne, SCR sono buoni per la gestione corrente continua. TRIAC sono utilizzati per la corrente alternata, e sono costruiti in modo leggermente diverso.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUfL-zpDgoA9apFxOmVYxQ3Scon4ApLy52C8Sfab4LzqERPQVFehDfJS9nhYDedWG86OL5fjwA4qGZCSXOjgYkCI1Dcuv9c5tFkBBOe9imimRYQPjFCuyucrDa6bI6FTq0P8aAxzhyphenhyphen3ZI/s1600/FXL3V6OGLLI80CM.LARGE.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUfL-zpDgoA9apFxOmVYxQ3Scon4ApLy52C8Sfab4LzqERPQVFehDfJS9nhYDedWG86OL5fjwA4qGZCSXOjgYkCI1Dcuv9c5tFkBBOe9imimRYQPjFCuyucrDa6bI6FTq0P8aAxzhyphenhyphen3ZI/s1600/FXL3V6OGLLI80CM.LARGE.jpg" height="320" width="296" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Simbolo circuitale del TRIAC</td></tr>
</tbody></table>
<br />
I Triac in genere posso gestire circa la metà l'amperaggio degli SCR, Questo li rende inadatti per coilgun.<br />
<br />
I Triac sono utili per i dimmer di luce con corrente alternata,, controllo di velocità del motore (motori AC), e ad alta tensione / alta corrente di controllo ( AC).<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3M4kh8fBuv3bz2Y2iYu74SmZ8JPK41aXRWHqxzIytmLXYtQmfRC62SJDbbR_9-s9h3EhMPTeNrLt_dIoEGQtpLhS_RRCVYy8ZbOWsc75tyWOrz1f0zzVYpuLKstFVktkWB5N-JzuxGMQ/s1600/783px-TRIAC_(smial).jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3M4kh8fBuv3bz2Y2iYu74SmZ8JPK41aXRWHqxzIytmLXYtQmfRC62SJDbbR_9-s9h3EhMPTeNrLt_dIoEGQtpLhS_RRCVYy8ZbOWsc75tyWOrz1f0zzVYpuLKstFVktkWB5N-JzuxGMQ/s1600/783px-TRIAC_(smial).jpg" height="244" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">TRIAC di varie potenze</td></tr>
</tbody></table>
<br />
I Triac sono fondamentalmente costruite con due SCR in antiparallelo. (cioè in parallelo ma con direzioni opposte) Entrambe condividono lo stesso gate, e sono entrambi attivati da un segnale al gate quindi la capacità di gestire correnti AC.<br />
<br />
Oltre ad essere in grado di gestire correnti, proprietà Triac AC sono le stesse di SCR.<br />
<br />
Fonte: <a href="http://www.instructables.com/">http://www.instructables.com</a>Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com0tag:blogger.com,1999:blog-9026279049257959480.post-83316746714961255142013-06-10T20:08:00.000+02:002013-06-10T20:08:13.675+02:00Tiristore o SCR (Silicon Controlled Rectifier)<span style="background-color: white; font-family: sans-serif; line-height: 19.1875px;">Il </span><b style="background-color: white; font-family: sans-serif; line-height: 19.1875px;">tiristore</b><span style="background-color: white; font-family: sans-serif; line-height: 19.1875px;"> o </span><b style="background-color: white; font-family: sans-serif; line-height: 19.1875px;">SCR</b><span style="background-color: white; font-family: sans-serif; line-height: 19.1875px;"> (Silicon Controlled Rectifier) è dal punto di vista elettrico pressoché equivalente al diodo</span><span style="background-color: white; font-family: sans-serif; line-height: 19.1875px;"> con la sola differenza che la conduzione diretta avviene solamente in seguito all'applicazione di un opportuno segnale di innesco su un terzo terminale denominato gate.</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj61u7sFlcWLihVifwpkpXrnS7zjZ2DTbxvjX4cgqCIw3syhh3-nZNmguRNGg8OF1Eg88-KtcLIoQYA2Qbks_6CbjmSsoC5B6HBDk4-2bxkVpQjWi_MvSEhHw9BzOEp33wbawbgcyOEoTY/s1600/tiristore.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj61u7sFlcWLihVifwpkpXrnS7zjZ2DTbxvjX4cgqCIw3syhh3-nZNmguRNGg8OF1Eg88-KtcLIoQYA2Qbks_6CbjmSsoC5B6HBDk4-2bxkVpQjWi_MvSEhHw9BzOEp33wbawbgcyOEoTY/s1600/tiristore.jpg" height="320" width="224" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Simbolo circuitale dell' SCR</td></tr>
</tbody></table>
<span style="background-color: white; font-family: sans-serif; line-height: 19.1875px;"><br /></span>
<span style="font-family: sans-serif; line-height: 19.1875px;">E' ideale per il controllo della potenza, ad alte tensioni / correnti.</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXEmeN_OvpOARBJySgCipWs076GQGNtYmV3JkzC1cXkxPEa8GZLONaLzn3wB2qybBslsS8bXYpyfR9UW0o3ry1_NVtNP-wuUbwVCrcp9hoAcApxTJWD7CILZk6kAEvZa7qifz-1nuL4qA/s1600/490px-Thyristor.svg.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXEmeN_OvpOARBJySgCipWs076GQGNtYmV3JkzC1cXkxPEa8GZLONaLzn3wB2qybBslsS8bXYpyfR9UW0o3ry1_NVtNP-wuUbwVCrcp9hoAcApxTJWD7CILZk6kAEvZa7qifz-1nuL4qA/s1600/490px-Thyristor.svg.png" height="138" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Schema di un SCR</td></tr>
</tbody></table>
<span style="font-family: sans-serif; line-height: 19.1875px;"><br /></span>
<span style="font-family: sans-serif; line-height: 19.1875px;">L'SCR in foto è </span><span style="font-family: sans-serif;"><span style="line-height: 19.1875px;">in grado di gestire circa 50 ampere in continuo, e quasi 560 ampere di impulso, e quasi 1200 volt! E 'una follia, specialmente per qualcosa di così piccolo!</span></span><br />
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjONCLVAZYdZ8UwHxVqZg_SjoIejrNLtGDbeNEWZD9RhssbYFSBmy8afTvjXpSJ5LdusFpz4q5m1V3oj0tFGq4LJ12XsyAK49w7JiPy_0uBMGNZ_v2i0lWrB828uI6fWJhL_8hoYeLdBkg/s1600/FBXYWOXGLL4V7H6.LARGE.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjONCLVAZYdZ8UwHxVqZg_SjoIejrNLtGDbeNEWZD9RhssbYFSBmy8afTvjXpSJ5LdusFpz4q5m1V3oj0tFGq4LJ12XsyAK49w7JiPy_0uBMGNZ_v2i0lWrB828uI6fWJhL_8hoYeLdBkg/s1600/FBXYWOXGLL4V7H6.LARGE.jpg" height="240" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Pin-out dell' SCR</td></tr>
</tbody></table>
<div class="separator" style="clear: both;">
SCR può essere utilizzato nei Coilguns, dato l'elevata capacità di corrente li rende un fantastico sostituto ad un interruttore meccanico, per l'assenza di usura. SCR in grado di gestire più di 400 Ampere di impulso quando un condensatore si scarica. </div>
<div class="separator" style="clear: both;">
Ma, sorprendentemente, gli SCR non hanno bisogno di dissipatori in quando vengono utilizzati per impulsi!</div>
<div class="separator" style="clear: both;">
Perché?</div>
<div class="separator" style="clear: both;">
Perché l'impulso è così veloce, e genera poco riscaldamento.</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Fonte: <a href="http://www.instructables.com/">http://www.instructables.com</a></div>
Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com0tag:blogger.com,1999:blog-9026279049257959480.post-50248681169523905752013-06-10T19:40:00.002+02:002013-06-10T19:40:42.038+02:00JFET canale-N e canale-PUn JFET può essere pensato un mosfet negativo. All'aumentare la tensione che viene applicata al gate, aumenta la resistenza che c'è dal drain al source.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHOn7mKa8gynQZEtlGhCcb0h1V8YgS3M9jA3JPE5FU4Dgtlm2OWnfVUzvtdH-vW32OQN_5h6OeCfKvow5UDSSna478EzB65tI766Ph-NDmzKcRjkgey01m0OFP2piHlEqFiRsja8wcJ1Q/s1600/n-channel-p-channel-jfet.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHOn7mKa8gynQZEtlGhCcb0h1V8YgS3M9jA3JPE5FU4Dgtlm2OWnfVUzvtdH-vW32OQN_5h6OeCfKvow5UDSSna478EzB65tI766Ph-NDmzKcRjkgey01m0OFP2piHlEqFiRsja8wcJ1Q/s1600/n-channel-p-channel-jfet.jpg" height="170" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Simbolo circuitale del JFET N-Channel e JFET P-Channel</td></tr>
</tbody></table>
<br />
Una volta raggiunta una certa tensione al gate, il drain può essere spento completamente, agendo come un interruttore aperto.<br />
<br />
Essi sono il tipo più semplice di transistor, e può essere utilizzato come un interruttore, o, come detto, una resistenza tensione controllata.<br />
<br />
I JFET sono di due tipi, canale P e canale N, come i mosfet!<br />
I JFET canale P sono controllate da tensione positiva, e il canale N, con negative.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbVwCrKonmNTqnXgS15XPCLgj_nykJymhHa2WSYxfjAiu4-_iYIVKT0zJM-9NBG1oGXIFgW-sThohtrl50QokAkOjNvKuQG_J43Yoc1SG6am62Mflk8VY2Vc5oir3isbCN_YxXppbDxtA/s1600/$(KGrHqR,!h4E6GmSEl5uBOp))kV4+Q~~60_35.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbVwCrKonmNTqnXgS15XPCLgj_nykJymhHa2WSYxfjAiu4-_iYIVKT0zJM-9NBG1oGXIFgW-sThohtrl50QokAkOjNvKuQG_J43Yoc1SG6am62Mflk8VY2Vc5oir3isbCN_YxXppbDxtA/s1600/$(KGrHqR,!h4E6GmSEl5uBOp))kV4+Q~~60_35.JPG" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-size: x-small;">JFET <span style="text-align: start;">2N5459</span></span></td></tr>
</tbody></table>
<br />
I JFET non sono buoni per alta tensione, o di corrente elevata, ma sono perfetti per il controllo del volume in ricevitori stereo, o in applicazioni di segnale nei computer.<br />
Si trovano per lo più in package di TO-92 o più piccoli.<br />
<br />
JFETs comuni<br />
2N5952<br />
2N5460<br />
2N5459<br />
<br />
Fonte: <a href="http://www.instructables.com/">http://www.instructables.com</a>Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com0tag:blogger.com,1999:blog-9026279049257959480.post-72641745136200185682013-06-10T18:43:00.004+02:002013-06-10T18:43:51.660+02:00IGBTInsulated Gate Bipolar Transistor, transistor bipolare a gate isolato<br />
E' un dispositivo ibrido tra un MOSFET e un transistor bipolare.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJV_W0CXMr2Pnjhm0Cxa5JDA6m5RCXnDbZcVUPf9uYUpEEA65IwThKeK_DwvJ23OvR4Ws3FVEVbVF91SGr1jJghNzx2hOYd7Rc35kpcb5qvr3YyUXXDqWf8G6ej56Euqrqh96TBbZbdQQ/s1600/F3BRPNUGLLI7ZWD.LARGE.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJV_W0CXMr2Pnjhm0Cxa5JDA6m5RCXnDbZcVUPf9uYUpEEA65IwThKeK_DwvJ23OvR4Ws3FVEVbVF91SGr1jJghNzx2hOYd7Rc35kpcb5qvr3YyUXXDqWf8G6ej56Euqrqh96TBbZbdQQ/s1600/F3BRPNUGLLI7ZWD.LARGE.jpg" height="255" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Simbolo circuitale dell' IGBT</td></tr>
</tbody></table>
<br />Gli IGBT sono dispositivi controllati in tensione, proprio come MOSFET. Essi combinano l'elevata capacità di corrente e la bassa tensione di saturazione di un transistor, e il semplice azionamento del gate del MOSFET. Hanno tre piedini, proprio come ogni altro dispositivo. I piedini sono etichettati Gate, collettore e emettitore. Il collettore è l'equivalente del drain di un MOSFET, e l'emettitore, il source di un mosfet.<br />
<br />
Gli IGBT hanno la loro giusta quota di problemi, hanno un coefficiente di temperatura negativo, come transistor. Significa,che più caldo diventa, più corrente che conduce, causando instabilità termica.<br />
Rispetto al MOSFET, gli IGBT sono un po 'più lenti, a loro volta spegnersi e accendersi . Di solito sono in grado di gestire qualsiasi frequenza, da 0 Hz a circa 40-50 kHz,.<br />
<div>
<div>
IGBT sono rinomati per la loro capacità di conduzione. La maggior parte può gestire correnti di oltre di 50 ampere,, con tensioni superiori a 600 volt! Sono perfetti per bassa frequenza, ai fini di alta corrente e alta tensione, dove mosfet sono buoni per alta frequenza, corrente bassa, e gli scopi di tensione più bassi. </div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSXU1vv1bO3E7ewBlg-Pk9hz0HKeJ-WI21jKf-0Ql6GlBPc46c1qqeg0KlEmSE74WOffUD0vu1WQe7m9zqCeJmlFmMRz33ANXvPrZOpoq-3-1aDnTZc8HjplA3ke8dHM3tslJztVU9e9U/s1600/edab4ff6bfb8572d3abb1ea44e4e23fb.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSXU1vv1bO3E7ewBlg-Pk9hz0HKeJ-WI21jKf-0Ql6GlBPc46c1qqeg0KlEmSE74WOffUD0vu1WQe7m9zqCeJmlFmMRz33ANXvPrZOpoq-3-1aDnTZc8HjplA3ke8dHM3tslJztVU9e9U/s1600/edab4ff6bfb8572d3abb1ea44e4e23fb.jpg" height="240" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">IGBT 25N120</td></tr>
</tbody></table>
<div>
<br /></div>
<div>
IGBT non hanno diodi corpo intricati, come mosfet. Tuttavia, produce spesso fare un favore, e mettere un diodo ad alta tensione ad alta velocità con il package dell' IGBT, per la facilità d'uso. Assicuratevi di controllare la velocità diodo quando si usa l'IGBT con alte frequenze. Ma, ci sono delle eccezioni, alcuni di IGBT non hanno diodi a interno, e può richiedere di aggiungere uno al di fuori del package. </div>
<div>
Gli IGBT sono utilizzati in saldatori, riscaldatori ad induzione, forni a microonde, e in alcune applicazioni dove erano stati utilizzati dei MOSFET. </div>
<div>
Esiste un solo tipo di IGBT. Nessun canale N o canali di P!</div>
<div>
<br /></div>
<div>
IGBT comuni</div>
<div>
<br /></div>
<div>
IRG7PH42U</div>
<div>
25N120</div>
<div>
30N120</div>
</div>
<div>
<br /></div>
<div>
Fonte: <a href="http://www.instructables.com/">http://www.instructables.com</a></div>
Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com0tag:blogger.com,1999:blog-9026279049257959480.post-49520513908608873542013-06-10T18:04:00.001+02:002013-06-10T18:05:18.983+02:00MOSFET canale-PI MOSFET a canale P funzionano nello stesso modo come un mosfet a canale N, ma anziché essere controllato da tensione positiva, sono controllati da segnali di tensione negativi sul gate. Essi sono spenti quando la tensione al gate è positiva, e accesi quando la tensione è negativa, o zero.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG3jgMy3AK8RErUhLJL2lZU_uz6-g0sCLYTj-otyhb8o2JTGi_lOTtpsUr-YpOE5mbxfPLnGOsL5-rZdPVqq8UfKpl0egoPWVJqCAVTidT4ZjVTi2iK3l6jjMW6sLtE6O2QB7KuIc_trU/s1600/66712814-1de9-407e-97fb-51b129bef19d_T6861.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG3jgMy3AK8RErUhLJL2lZU_uz6-g0sCLYTj-otyhb8o2JTGi_lOTtpsUr-YpOE5mbxfPLnGOsL5-rZdPVqq8UfKpl0egoPWVJqCAVTidT4ZjVTi2iK3l6jjMW6sLtE6O2QB7KuIc_trU/s1600/66712814-1de9-407e-97fb-51b129bef19d_T6861.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Simbolo circuitale del MOSFET a canale P</td></tr>
</tbody></table>
<br />
I MOSFET a canale P sono spesso fisicamente più piccoli, e si trovano di solito nel package TO-220. Non possono gestire tanta potenza e tensione come la maggior parte MOSFET a canale N. La loro resistenza sullo stato di accensione è notevolmente superiore dei MOSFET a canale N.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJQAEqMVCFjSy3wH642kAAV22hNEj4r4zH1jyR0oDQ-4wqMDDkA3OmuRqn1bakHiBU7ojsKVWOeOnhi0BDGHa5m1KpgI9edv80KgLBJIJxzQ2JKnIwyrxqHjbN1yECMTCFuBUPwkSVD2E/s1600/F68D0LIGLL4YOU4.LARGE.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJQAEqMVCFjSy3wH642kAAV22hNEj4r4zH1jyR0oDQ-4wqMDDkA3OmuRqn1bakHiBU7ojsKVWOeOnhi0BDGHa5m1KpgI9edv80KgLBJIJxzQ2JKnIwyrxqHjbN1yECMTCFuBUPwkSVD2E/s1600/F68D0LIGLL4YOU4.LARGE.jpg" height="240" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">MOSFET a canale P<br />
Package TO-220</td></tr>
</tbody></table>
<br />
Sono utilizzati in alimentatori switching di mantenere la terra a terra. Se è stato utilizzato un NChannel fet, sarebbe fuori terra di una certa tensione.<br />
<br />
Comune FET a canale P:<br />
IRF9Z24N<br />
IRF9392<br />
<br />
Fonte: <a href="http://www.instructables.com/">http://www.instructables.com</a>Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com0tag:blogger.com,1999:blog-9026279049257959480.post-1588397948682900542013-06-10T17:50:00.003+02:002013-06-10T18:05:13.967+02:00MOSFET canale-NIl MOSFET a canale N è il mosfet più comune, . Rispetto al MOSFET a canale P, sono meno costosi, più facili da usare, e in generale migliore in tutte le condizioni di capacità.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRLS-0aiGKsmdD9ZEa-tUWSlqqjN8-zqMuzRc53DJwLncqzklhqP-mg6Bi1yHp7kmOoHKHfzYfhqD0tNJdJnIFL7CjN8_6rURfLcta78nDpmCbXnJ-nK0atAYGsNRJE4jqJA353A0Guj8/s1600/fig1_8.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRLS-0aiGKsmdD9ZEa-tUWSlqqjN8-zqMuzRc53DJwLncqzklhqP-mg6Bi1yHp7kmOoHKHfzYfhqD0tNJdJnIFL7CjN8_6rURfLcta78nDpmCbXnJ-nK0atAYGsNRJE4jqJA353A0Guj8/s1600/fig1_8.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Simbolo circuitale del MOSFET a canale N</td></tr>
</tbody></table>
<br />
Utilizzano un segnale di tensione positivo sul gate per attivare la commutazione.<br />
I MOSFET a canale N hanno una vasta gamma di potenza, e una vasta gamma di package (contenitori). Sono disponibili a montaggio superficiale e a foro passante. La loro potenza applicabile varia capacità da sotto 1 amp tutta la strada fino a 100 ampere e oltre.<br />
<br />
Ci sono MOSFET per segnali a canale N, in package T0-92 , e MOSFET di potenza, come ad esempio l' IRFP250 MOSFET, un FMOSET comune ed economico utilizzato da hobbisti, in tutto.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivLkPLzuBdNkD2ex1FXixjdftyYuPhkMB4CISMTDaI4wB5bpcwa1GwO1GoDpkh5WFhYCgRLTnpwxbf17uutfOPykTnCfR5koBL9xGxJTsV81I4g94yDi98fCE-6Uwh8Q8XYKOCQSo9NPc/s1600/F779FGSGLLI7YXA.LARGE.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivLkPLzuBdNkD2ex1FXixjdftyYuPhkMB4CISMTDaI4wB5bpcwa1GwO1GoDpkh5WFhYCgRLTnpwxbf17uutfOPykTnCfR5koBL9xGxJTsV81I4g94yDi98fCE-6Uwh8Q8XYKOCQSo9NPc/s1600/F779FGSGLLI7YXA.LARGE.jpg" height="240" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">pin-out di un MOSFET a canale N</td></tr>
</tbody></table>
<br />
<br />
Il principio di base dietro un MOSFET a canale N è un segnale positivo viene applicato al gate, e si accende. N-MOSFET sono generalmente utilizzati in tutto, proprio come i transisto. Sono comunemente trovati in computer, amplificatori, E tutti i tipi di circuiti di hobbisti.<br />
<br />
Comune FET a canale N<br />
IRFP250<br />
IRFP460<br />
IRFP450<br />
<br />
Fonte: <a href="http://www.instructables.com/">http://www.instructables.com</a>Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com0tag:blogger.com,1999:blog-9026279049257959480.post-47202950649958503642013-06-10T17:27:00.003+02:002013-06-10T17:28:15.583+02:00MOSFETMetal Oxide Screen Field Effect Transistor<br />
Il MOSFET può essere confrontato con il transistor come un dispositivo molto più efficace nella commutazione.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF_LcLAnqtTO2Fi3rt4ZDmPYnDIQRlf6oj5rAOU6xiggeZ0aJQzKRiB9_vMVuXEFM56dyivzlJcn3SQgxWHv6MOqK2n0f7FS1cOUn5ltvjY0CuqNJTkCGjqpv-mBUXg0jsrY-8ByJTpOA/s1600/FULC4DOGLL4YIHG.LARGE.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF_LcLAnqtTO2Fi3rt4ZDmPYnDIQRlf6oj5rAOU6xiggeZ0aJQzKRiB9_vMVuXEFM56dyivzlJcn3SQgxWHv6MOqK2n0f7FS1cOUn5ltvjY0CuqNJTkCGjqpv-mBUXg0jsrY-8ByJTpOA/s1600/FULC4DOGLL4YIHG.LARGE.jpg" height="170" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Simbolo circuitale del MOSFET</td></tr>
</tbody></table>
<br />
Ci sono tre pin, proprio come i transistor, e sono chiamati <b>gate</b>, <b>drain</b>, e <b>source.</b><br />
Il drain e source possono essere paragonati rispettivamente al collettore ed emettitore di un transistor, Il gate è esattamente come la base.<br />
Un MOSFET è un dispositivo controllato in tensione (non in CORRENTE).<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKX-WffSh5mejs2UJvB03e3eLlUw-NG9z62TD0I1g24qluEoCBhgvsr7pj_-Ozn_KG-WgUuo69t0AXSetu2ZVYV6mIi-eVPvx_xuN_dMYCnNAv7NffAchQrsv85mYFjM33Fg2pscLoR24/s1600/l_10-pcs-irf840-n-channel-power-mosfet-500v-8a-to-220-d964.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKX-WffSh5mejs2UJvB03e3eLlUw-NG9z62TD0I1g24qluEoCBhgvsr7pj_-Ozn_KG-WgUuo69t0AXSetu2ZVYV6mIi-eVPvx_xuN_dMYCnNAv7NffAchQrsv85mYFjM33Fg2pscLoR24/s1600/l_10-pcs-irf840-n-channel-power-mosfet-500v-8a-to-220-d964.JPG" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">MOSFET IRF840</td></tr>
</tbody></table>
<br />
Bene, questo significa che invece di applicare una corrente si applica una tensione. Un MOSFET è un dispositivo di ON / OFF.<br />
I mosfet sono molto più adatti alla commutazione (ma possono essere utilizzati linearmente).<br />
Il calore creato da un MOSFET nella sua fase lineare ( on e off) è circa lo stesso di un transistor. L'unica ragione che i mosfet non sono adatti per questo è il livello di soglia di tensione per mosfet è diverso per ogni dispositivo. I transistor BJT sono meglio utilizzati per amplificare i segnali, e i mosfet sono meglio utilizzato per la commutazione.<br />
Prima, i transistor hanno fatto entrambi i lavori, e francamente hanno "fatto schifo" in commutazione.<br />
I mosfet, come i transistor, hanno cadute di tensione, e una resistenza di stato ON.<br />
<br />
In pratica, provate a pensare al MOSFET come un resistore controllato in tensione variabile. Più tensione = più acceso, ma questo può essere acceso soltanto fino a un certo punto, fino a quando si inizia a danneggiare il FET. La maggior parte dei MOSFET hanno un limite alla quantità di tensione può essere messo sul gate, di solito è intorno a + - 20 volt, ma alcuni in grado di gestire + -30 volt. Superare questo, e si riduce la vita di tuo mosfet. La resistenza dello stato di ON permetterà di calcolare quanto calore il tuo mosfet genererà permettendo di utilizzare la legge di Ohm. (W = I2 * Ron) Il diodo corpo è intrinsecamente forma quando un MOSFET nasce la, a causa delle alterne P-N canali di silicio drogato. Non è possibile rimuovere questo diodo, viene creato non appena viene creato il mosfet. Se il diodo è troppo lento per applicazioni ad alta frequenza, può essere necessario per bypassare il diodo e aggiungerne uno ad alta velocità.<br />
<br />
Il tempo di accensione e spegnimeto sono estremamente importante, quando si lavora con frequenze superiori a 5 kHz.<br />
Il tempo di accensione è sostanzialmente la quantità di tempo necessario per il MOSFET per accendersi, una volta che il gate ha ricevuto un segnale.<br />
I mosfet, rispetto ai loro più recente cugino, l'IGBT, ) sono molto più veloci, e hanno tempi di accensione / spegnimento sui 20 ns (nanoseconds!) o di 20 miliardesimi di secondo.<br />
Dipende da quale MOSFET a cui ti riferisci. I tempo di spegnimeto sono spesso un po 'più lunghi, possono variare da 30 ns a 1000 nS.<br />
Se si accende / spegne il MOSFET più velocemente , genera maolto più calore.<br />
Mosfet hanno anche una cosa chiamata capacità di ingresso. Il modo in cui un Mosfet è fatto crea fondamentalmente un dielettrico all'interno del mosfet. La capacità di ingresso varia, ma per la maggior parte è di circa 2200 pF a 10000 pF. Più corrente che è disponibile permette la capacità di ingresso da caricare più velocemente. Questo può non sembrare così grande , soprattutto con la piccola capacità che ci sia, ma ad alte frequenze, questo provoca tempi di accensione / spegnimento più lenti, inducendo riscaldamento e problemi.<br />
Lo "squillo" sul Gate è anche un problema enorme, come mosfet hanno la capacità, e non vi è induttanza sui cavi. Le resistenze sul gate aiutano a prevenire questo.<br />
Mosfet sono anche coefficiente di temperatura positivo, cioè il più caldo che ricevono, meno corrente conducono.<br />
I MOSFET sono usati in molti molti dispositivi digitali, a causa della loro natura semplice come su dispositivi ON / OFF.<br />
Perché sono utilizzati per la commutazione, possono essere utilizzati come i relè, gli indicatori luminosi, generatori di suoni (come sintetizzatori), alimentatori switching, la logica della CPU, porte logiche, oscillatori... ecc<br />
<div>
<br />
Fonte: http://www.instructables.com</div>
Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com0tag:blogger.com,1999:blog-9026279049257959480.post-67228580327799027712013-06-10T16:22:00.001+02:002013-06-10T16:23:15.574+02:00Totem polesUn totem è un dispositivo, utilizzato per amplificare le onde quadre (e onde sinusoidali) In un'onda quadrata per pilotare altri tipi di semiconduttori più veloci.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcx53nscOWIiRLpJX1haRhXtM4fcqlkBOYmyYxm-Pk5mKoK_CcjjbtgCljayaa3djhB4QHnjKc9cniFghPNsbHl1eztiQWmc3W-jalUChl1bZIwE3NZ2QyR3rpfNRoP_TcKyldqefD4Uc/s1600/FENAP8ZGLL4YVVW.LARGE+(1).jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcx53nscOWIiRLpJX1haRhXtM4fcqlkBOYmyYxm-Pk5mKoK_CcjjbtgCljayaa3djhB4QHnjKc9cniFghPNsbHl1eztiQWmc3W-jalUChl1bZIwE3NZ2QyR3rpfNRoP_TcKyldqefD4Uc/s1600/FENAP8ZGLL4YVVW.LARGE+(1).jpg" height="248" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Simbolo circuitale del totem pole</td></tr>
</tbody></table>
<br />
Un totem pole è costituito da un PNP e NPN transistor disposti ad emettitore comune , con le loro basi accoppiate insieme. Il segnale di uscita viene preso da dove l'emettitore del transistore NPN e il collettore del transistor PNP.<br />
Il vantaggio di questo è la facilità d'uso, ma il lato negativo è che i transistor fanno calore, e questo potrebbe (dipende dalla vostra applicazione) creare calore sufficiente da giustificare un dissipatore di calore.<br />
<br />
Un totem pole può essere usato per pilotare in modo più efficace un Mosfet, e un IGBT. L'aumento di corrente permette semiconduttori per accendere e spegnere più veloce, riducendo riscaldamento.<br />
<br />
È possibile utilizzare praticamente qualsiasi combinazione NPN e PNP transistor, purché in grado di gestire la quantità di corrente è necessario guidare il MOSFET o IGBT.<br />
<br />
Fonte: <a href="http://www.instructables.com/">http://www.instructables.com</a>Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com0tag:blogger.com,1999:blog-9026279049257959480.post-27315073906120103002013-06-10T16:03:00.000+02:002013-06-10T16:07:59.673+02:00Darlington TransistorUn transistor Darlington (spesso chiamato anche coppia Darlington) è un transistor composito costituito da due transistor a giunzione bipolari in cascata. La caratteristica principale di questa configurazione è l'elevatissimo guadagno in corrente (indicato con β o hFE), pari al prodotto dei guadagni in corrente dei singoli transistor; i transitor Darlington possono essere realizzati mediante componenti discreti oppure integrati.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQVI8C-H9aQhHphXrM4WXUTU0OXASF5b08mfABAQamdqjYMXN_alzHvc6HOe2ufRq3yoE9fnKx7TVyDMSKJzJWPfrukBFC8odaBLTv15odUjsT9PeIWlzMJqAP7M6R1qyHfrENPkxqMNo/s1600/FBNW9S9GLL4YHZ9.LARGE.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQVI8C-H9aQhHphXrM4WXUTU0OXASF5b08mfABAQamdqjYMXN_alzHvc6HOe2ufRq3yoE9fnKx7TVyDMSKJzJWPfrukBFC8odaBLTv15odUjsT9PeIWlzMJqAP7M6R1qyHfrENPkxqMNo/s1600/FBNW9S9GLL4YHZ9.LARGE.jpg" height="185" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Simbolo circuitale darlington NPN</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBVYXct46PTz3xBw0aiIngM2NcATZ8Lp68LlSURrJn9orSgJYLFrKWKioWLiEh8w_i8gdwTvhufywClfCgjJbB2g91pGXJ4JIsriDYVD2TvfoodUX1CC-14uLVPY9M2KWcpmRFqM9FOcg/s1600/FF2MUBGGLLI7RN4.LARGE.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBVYXct46PTz3xBw0aiIngM2NcATZ8Lp68LlSURrJn9orSgJYLFrKWKioWLiEh8w_i8gdwTvhufywClfCgjJbB2g91pGXJ4JIsriDYVD2TvfoodUX1CC-14uLVPY9M2KWcpmRFqM9FOcg/s1600/FF2MUBGGLLI7RN4.LARGE.jpg" height="242" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Simbolo circuitale darlington PNP</td></tr>
</tbody></table>
<br />
Che cosa? A destra, due transistor, uniti insieme in una coppia chiamata Darlington.<br />
Lavorano esattamente nello stesso modo come un normale, singolo transistor, ma amplificano molte volte di più. Un tipico transistore Darlington, come un TIP127, TIP122 o sono transistori che hanno guadagno è di circa 1000 beta (l'unità per il guadagno è la beta). Bene, questo significa che un UA (nano amp) di segnale 100 viene emesso a circa ... 100 mA, se ho ragione..Con i darlington si può fare un pulsante touch, perché la vostra pelle ha correnti molto piccole in essa, e quella corrente è abbastanza per lasciare condurre il Darlington.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipwwMmqZf0XN1D3J83tEapOYPXzNlTLFcjOt1rfYEXqB3OaO6fNLgF6-2amGEFi-yCqpmuUlbeoXr8LGS_bwyW9VfqG9yVZfRiW_8enuUoPwrOL3b23HZojp2A2wTfL3t5hYuJGSGVGIA/s1600/TIP127.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipwwMmqZf0XN1D3J83tEapOYPXzNlTLFcjOt1rfYEXqB3OaO6fNLgF6-2amGEFi-yCqpmuUlbeoXr8LGS_bwyW9VfqG9yVZfRiW_8enuUoPwrOL3b23HZojp2A2wTfL3t5hYuJGSGVGIA/s1600/TIP127.jpg" height="200" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Darlington PNP TIP127</td></tr>
</tbody></table>
<br />
I darlington sono utilizzati nei dispositivi in cui il segnale è estremamente debole, e funziona piuttosto bene in schermi sensibili al tocco, o anche per amplificare i segnali dalla radio. Possono anche essere utilizzati per la guida di grandi transistori di potenza, come quelli che hanno un guadagno di corrente molto piccola. Disponendoli correttamente permette il guadagno di ciascuno da moltiplicare per l'altro. Per esempio, un transistor con un guadagno di 100 e un guadagno di 8 transistor sono messi in configurazione Darlington. Il guadagno 8 è il transistor sul fondo, e il 100 guadagno è quello superiore. Quello superiore aumenta il guadagno di corrente del guadagno una 8 a circa 800 guadagno. Guadagno totale = T1G X T2G. Il lato positivo di questo, è il più alto guadagno transistor non deve gestire un sacco di corrente. Può anche essere un piccolo segnale.<br />
<br />
Transistor Darlington comuni<br />
TIP127<br />
TIP122<br />
TIP110<br />
<br />
Fonte: <a href="http://www.instructables.com/">http://www.instructables.com</a><br />
<div>
<br /></div>
Alessandro Rivahttp://www.blogger.com/profile/09726635667904505438noreply@blogger.com1