Arduino Due és una placa basada en controladors ARM dissenyada per a enginyers electrònics i aficionats. L’arquitectura ARM té molta influència en l’electrònica moderna, les fem servir a tot arreu com els nostres mòbils, iPods i ordinadors, etc. Si algú vol dissenyar sistemes industrials, ho ha de fer als controladors ARM. Els controladors ARM són molt importants per la seva agilitat.
Ja hem tractat els conceptes bàsics d’Arduino Due a Introducció a Arduino Due. Ara, en aquest tutorial, ajustarem la brillantor d’un LED mitjançant el senyal PWM generat per DUE. Un senyal DW PWM (Pulse Width Modulation) proporciona una tensió variable sobre una font d'alimentació constant.
Modulació d'amplada de pols:

A la figura anterior, si l'interruptor es tanca contínuament durant un període de temps, el LED estarà "ENCENDUT" durant aquest temps contínuament. Si l’interruptor es tanca durant mig segon i s’obre durant el següent segon, el LED només s’encendrà durant la primera meitat del segon. Ara, la proporció per a la qual el LED està encès durant el temps total s’anomena cicle de treball i es pot calcular de la següent manera:
Cicle de treball = Temps d’activació / (Temps d’encès + Temps d’APAGAT)
Cicle de treball = (0,5 / (0,5 + 0,5)) = 50%
Per tant, la tensió de sortida mitjana serà del 50% de la tensió de la bateria.
És el cas d’un segon i podem veure que el LED està apagat durant mig segon i el LED està encès a l’altra meitat del segon. Si la freqüència dels temps d’ACTIVACIÓ i APAGAT augmenta d’1 per segon a 50 per segon. L’ull humà no pot captar aquesta freqüència d’ACTIVAT i APAGAT. Per a un ull normal es veurà el LED, que brilla amb la meitat de la brillantor. Així, amb una reducció addicional del temps d'encesa, el LED sembla molt més lleuger.
Programarem el DUE per obtenir un PWM i connectarem un LED per mostrar el seu funcionament.
Hi ha 12 canals PWM (pin 2 a pin 13) al DUE i podem utilitzar-ne qualsevol o tots. En aquest cas, ens enganxarem a un senyal PWM al PIN2.

Components:
- Arduino Due
- Font d'alimentació (5v)
- LED
- Botons (dues peces),
- Resistència 1KΩ (dues peces), resistència 220Ω
I Arduino IDE: Arduino Nightly Software (https://www.arduino.cc/en/Main/Software).
Diagrama del circuit i explicació de treball:

El circuit està connectat a la placa de configuració segons el diagrama del circuit. No obstant això, cal parar atenció durant la connexió dels terminals LED. Tot i que els botons poden mostrar efectes de rebot, però en aquest cas no causen errors considerables, per tant, no ens hem de preocupar aquesta vegada.
Obtenir un senyal PWM de DUE és fàcil; Arduino IDE proporciona funcions útils que faciliten la dificultat del programador. Si apostem per la programació de xips, necessitem configurar un controlador ATMEGA per al senyal PWM, cosa que no és fàcil; hem de definir molts registres i configuracions per obtenir un senyal precís, però a Arduino no hem de tractar totes aquestes coses. Ja hem cobert la modulació d’amplada de pols amb ATmega32, amb Arduino Uno i amb IC de temporitzador 555.
Per defecte, tots els fitxers i registres de capçaleres estan predefinits per Arduino IDE, simplement els hem de trucar i ja està, tindrem una sortida PWM al pin adequat. També hem de trucar a determinades ordres per obtenir un senyal PWM, que es descriuen a continuació:
pinMode (2, OUTPUT) analogWrite (pin, valor)
Primer hem de triar el canal de sortida PWM o seleccionar un pin entre 12 pins de DUE, després d’això hem d’establir aquest pin com a sortida. Com que fem servir el PIN2 com a sortida, el configurarem com a SORTIDA tal com es mostra a la primera línia.
A continuació, hem d'activar la funció PWM de DUE trucant a la funció " analogWrite (pin, valor) ". Aquí 'pin' representa el número de pin on necessitem la sortida PWM. Ho posem com a "2", de manera que a PIN2 obtenim una sortida PWM. "Valor" és el valor d'activació, que varia entre 0 (sempre apagat) i 255 (sempre activat). Podem escriure el valor adequat en aquest espai per a la brillantor necessària del LED.
Hem adjuntat un parell de botons al tauler DUE per variar aquest valor. Un botó serveix per incrementar el valor de la brillantor i l’altre per disminuir el valor de la brillantor. Un cop finalitzada la programació Due, podem ajustar la brillantor prement aquests botons.
