S'esvaeix un LED ON / OFF - Fonaments bàsics d'Arduino

Proveu El Nostre Instrument Per Eliminar Problemes





A la publicació es parla d’una funció bàsica d’Arduino en què aprenem el procés d’esvair un LED ON / OFF mitjançant algunes implementacions bàsiques de codi.

Creació d’un efecte de desvaniment

Veiem com utilitzar una funció analogwrite () per tal d’implementar una apagada ON / OFF d’un LED. La funció incorpora impulsos PWM a través d’un pinout per aconseguir l’acció d’esvaiment suggerida sobre el LED connectat.



Es necessita maquinari

Juntament amb el vostre Arduino, serien necessaris altres materials com una placa de paret, un LED i una resistència de 220 ohm i 1/4 wat per a l’experiment.

El Circuit

Els passos per a la decoloració del LED ON / OFF proposat amb un Arduino són els següents:



1. Connecteu el terminal més llarg del LED al pin de sortida digital # 9 mitjançant la resistència de 220 ohm en sèrie, mentre que el càtode o el terminal més curt del LED amb la terra directament o el carril d'alimentació negatiu.

El codi

Un cop integrat el pin número 9 de la placa com a pin positiu LED, la funció setup () es pot deixar simplement sola i no necessitaria cap altra operació.

El component principal del codi de bucle en forma de analogwrite () necessita un parell d’agraïments: el primer tracta de la funció de quin pin s’ha d’utilitzar per escriure i el segon és el valor del PWM que s’ha de determinar.

Per iniciar un efecte d'encès / apagat del LED connectat, el PWM es pot variar constantment de zero a màxim o fins a 255 i viceversa, completant tot el cicle únic d'operació.

El codi següent mostra la magnitud PWM que es determina mitjançant una variable anomenada brillantor. També augmenta la variable fadeAmount al bucle.

En una situació en què la brillantor es troba en els valors extrems (0 o 255), les sol·licituds s’esvaeixen

la quantitat serà negativa.

És a dir, si suposem que el fadeAmount és 5, canvia a -5 i 5 en cas que s'estableixi un 55. En els períodes posteriors del bucle, aquests canvis resulten que la brillantor també varia en el curs de l'acció.

La funció analoguewrite () provoca alteracions ràpides en els valors de PWM, de manera que el retard a la conclusió de l’esbós controla la velocitat d’esvaiment.
Podeu experimentar amb els valors de retard per investigar els canvis produïts al programa.
/ *
Fade

Aquest exemple mostra com esvair un LED al pin 9
mitjançant la funció analogWrite ().

Aquest codi d'exemple és de domini públic.
* /

int led = 9 // el pin al qual està connectat el LED
int brillantor = 0 // que brillant és el LED
int fadeAmount = 5 // quants punts voleu esvair el LED

// la rutina de configuració s'executa una vegada quan premeu reiniciar:
configuració nul·la () {
// declareu que el pin 9 és una sortida:
pinMode (led, OUTPUT)
}

// la rutina del bucle es repeteix una vegada i una altra per sempre:
bucle buit () {
// definiu la brillantor del pin 9:
analogWrite (led, brillantor)

// canvieu la brillantor per la propera vegada a través del bucle:
brillantor = brillantor + desvaniment Quantitat

// invertir la direcció de la decoloració als extrems de la decoloració:
if (brillantor == 0 || brillantor == 255) {
fadeAmount = -fadeAmount
}
// espereu 30 mil·lisegons per veure l'efecte de regulació
endarreriment (30)
}




Anterior: Circuit compacte de tub de llum LED de 110V Següent: Full de dades de transistors d’alta tensió i corrent TIP150 / TIP151 / TIP152