Vamos a programar #71 - Calculadora de resistencias para diodos LED (ver. C#).

Hola de nuevo a todos, el día de hoy vamos a continuar con mas sobre resistencias y diodos LED.
En el post anterior vimos el código en javascript que ya disponible en el blog para que lo revises y para que lo pruebes en linea (ya está corregido un par de errores que tenía).
Cómo el código es realmente similar al anterior, simplemente lo pongo para que lo revises, la explicación es un tanto similar a la versión en Javascript.

El código.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace LedResCalculator
{
	public partial class FrmMain : Form
	{
		
	private string CalculateRes(decimal VIn, decimal VLed, decimal ILed, int NLed, bool Serie)
	{
		decimal Corriente = 0;
		decimal DropVol = 0;
		decimal TotalRes = 0;
		decimal TotalVolt = 0;
		decimal Potencia = 0;
		if (Serie)
		{
			TotalVolt = VLed * NLed;
			if (VIn < TotalVolt){
				return "El voltaje es bajo";
			}
			Corriente = ILed;
			DropVol = VIn - TotalVolt;
			TotalRes = DropVol/Corriente;
			Potencia = Corriente * DropVol;
			return "Se necesita una resistencia de "+ TotalRes +" ohm(s) de una potencia de superior a "+ Potencia + " Watt(s)";
		}
		else{
			TotalVolt = VLed;
			if (VIn < TotalVolt){
				return "El voltaje es bajo";
				}
				Corriente = ILed * NLed;
				DropVol = VIn - TotalVolt;
				TotalRes = DropVol/Corriente;
				Potencia = Corriente * DropVol;
				return "Se necesita una resistencia de "+ TotalRes +" ohm(s) de una potencia de superior a "+ Potencia + " Watt(s)";
			}
	}
		public FrmMain()
		{
			InitializeComponent();
		}

		private void BtnCalculate_Click(object sender, EventArgs e)
		{
			TxtResult.Text = CalculateRes(NUDVolt.Value, NUDVLed.Value, NUDILed.Value, (int)NUDNLED.Value, RBConexion1.Checked);
		}
	}
}

EL código consta de una sola función llamada "CalculateRes()" y recibe cinco parámetros; los primeros tres son del tipo "decimal" y en orden representan: el voltaje de entrada, el voltaje del LED y la corriente del LED. El siguiente parámetro es del tipo "int" y nos servirá para indicar el número de LED's que se conectan. Finalmente el parámetro llamado "Serie" del tipo "bool" nos indica si la conexión está en serie cuando su valor es "true". La decisión de usar valores del tipo decimal es simple, los controles "NumericUpDown" devuelven un valor de este tipo cuando se accede a la propiedad "Value" y es un tipo bastante adecuado para llevar a cabo la tarea que queremos realizar.

Cómo de costumbre el código lo puedes descargar de mi dropbox para probarlo.

Los leo luego.

No hay comentarios.