¿Hay electronicos en este foro?
Posted: Tue 26 Jan 2010, 18:06
Al ver el interes que se esta tomando en este programita, mi pregunta e s si hay gente electronica en este foro, o gente aficionada a ello?
Un saludo...
Un saludo...
READ-ONLY Archive
https://oldforum.puppylinux.com/
mister_electronico, Mi formación formal es de comunicaciones y electrónica aunque actualmente me dedico a diseño de procesos y de productos sobre filtrado (Electromagnético desdeluego) en un área muy especializada que requiere un gran dominio de materiales.mister_electronico wrote:...
Pienso que se podrian hacer cosas bastante interesantes que podrian servir de utilidad para todos....
Estuve tambien desde puppy haciendo programas en c para controlar el puerto serie para mandar datos a microcontroladores, y bueno es una de mis tareas para mejorarlo...
El otro dia empece tambien a tocar algo de ensamblador y hacer mi primer programa "Hello wolrd" en Puppy...
Bueno un saludo..
Code: Select all
#!/bin/bash
#
# Ohm.sh: Cálculo de Voltaje, Corriente y Voltaje (Ley de Ohm)
# Yurfader21
echo "Esta es una calculadora para la Ley de Ohm"
echo
echo "Ingrese (a) si quiere calcular el Voltaje"
echo "Ingrese (b) si quiere calcular el Corriente"
echo "Ingrese (c) si quiere calcular la Resistencia"
echo
printf "Ingrese su elección, a, b o c: "
read Seleccion
case "$Seleccion" in
a)
printf "Ingrese la Corriente (Amperes): "
read Corriente
printf "Ingrese la Resistencia (Ohms): "
read Resistencia
printf "El Voltaje es: "$(echo "scale=3;$Corriente*$Resistencia" | bc)" Voltios\n"
;;
b)
printf "Ingrese el Voltaje (Voltios): "
read Voltaje
printf "Ingrese la Resistencia (Ohms): "
read Resistencia
printf "La corriente es: "$(echo "scale=3;$Voltaje/$Resistencia" | bc)" Amperes\n"
;;
c)
printf "Ingrese el Voltaje (Voltios): "
read Voltaje
printf "Ingrese la Corriente (Amperes): "
read Corriente
printf "La Resistencia es: "$(echo "scale=3;$Voltaje/$Corriente" | bc)" Ohms\n"
;;
*) echo "Por favor seleccione a, b ó c";;
esac
exit 0
Code: Select all
#!/bin/bash
#
# Ohm2.sh: Cálculo de Voltaje, Corriente y Resistencia (Ley de Ohm)
# Versión 2, Yurfader21
salir=n
while [ "$salir" != "s" ];
do
echo
echo "Esta es una calculadora para la Ley de Ohm"
echo
echo "Ingrese (a) si quiere calcular el Voltaje"
echo "Ingrese (b) si quiere calcular el Corriente"
echo "Ingrese (c) si quiere calcular la Resistencia"
echo "Ingrese (s) para salir"
echo
printf "Ingrese su elección, a, b, c ó s: "
read Seleccion
case "$Seleccion" in
a)
printf "Ingrese la Corriente (Amperes): "
read Corriente
printf "Ingrese la Resistencia (Ohms): "
read Resistencia
printf "El Voltaje es: "$(echo "scale=3;$Corriente*$Resistencia" | bc)" Voltios\n"
;;
b)
printf "Ingrese el Voltaje (Voltios): "
read Voltaje
printf "Ingrese la Resistencia (Ohms): "
read Resistencia
printf "La corriente es: "$(echo "scale=3;$Voltaje/$Resistencia" | bc)" Amperes\n"
;;
c)
printf "Ingrese el Voltaje (Voltios): "
read Voltaje
printf "Ingrese la Corriente (Amperes): "
read Corriente
printf "La Resistencia es: "$(echo "scale=3;$Voltaje/$Corriente" | bc)" Ohms\n"
;;
s) salir=s;;
*) echo "Por favor seleccione a, b ó c";;
esac
done
exit 0
Code: Select all
#!/bin/bash
#
# Ohm3.sh: Cálculo de Voltaje, Corriente y Resistencia (Ley de Ohm)
# Versión 3, Yurfader21
clear
salir=n
while [ "$salir" != "s" ];
do
echo
echo "Esta es una calculadora para la Ley de Ohm"
echo
echo "Ingrese (a) si quiere calcular el Voltaje"
echo "Ingrese (b) si quiere calcular el Corriente"
echo "Ingrese (c) si quiere calcular la Resistencia"
echo "Ingrese (s) para salir"
echo
printf "Ingrese su elección: a, b, c ó s: "
read Seleccion
case "$Seleccion" in
a)
clear
printf "Ingrese la Corriente (Amperes): "
read Corriente
printf "Ingrese la Resistencia (Ohms): "
read Resistencia
if [ $Corriente -eq $Corriente 2> /dev/null ] && [ $Resistencia -eq $Resistencia 2> /dev/null ] && [ -n "$Corriente" ] && [ -n "$Resistencia" ]; then
echo
printf "El Voltaje es: "$(echo "scale=3;$Corriente*$Resistencia" | bc)" Voltios\n"
else
echo
printf "Por favor ingrese valores numéricos para Corriente y Resistencia"
echo
fi
;;
b)
clear
printf "Ingrese el Voltaje (Voltios): "
read Voltaje
printf "Ingrese la Resistencia (Ohms): "
read Resistencia
if [ $Voltaje -eq $Voltaje 2> /dev/null ] && [ $Resistencia -eq $Resistencia 2> /dev/null ] && [ -n "$Voltaje" ] && [ -n "$Resistencia" ]; then
echo
printf "La Corriente es: "$(echo "scale=3;$Voltaje/$Resistencia" | bc)" Amperes\n"
else
echo
printf "Por favor ingrese valores numéricos para Voltaje y Resistencia"
echo
fi
;;
c)
clear
printf "Ingrese el Voltaje (Voltios): "
read Voltaje
printf "Ingrese la Corriente (Amperes): "
read Corriente
if [ $Voltaje -eq $Voltaje 2> /dev/null ] && [ $Corriente -eq $Corriente 2> /dev/null ] && [ -n "$Voltaje" ] && [ -n "$Corriente" ]; then
echo
printf "La Resistencia es: "$(echo "scale=3;$Voltaje/$Corriente" | bc)" Ohms\n"
else
echo
printf "Por favor ingrese valores numéricos para Voltaje y Resistencia"
echo
fi
;;
s) salir=s;;
*) clear
echo "Por favor seleccione a, b ó c";;
esac
done
exit 0
yurfader21 wrote:Para robustecer el programa...
Code: Select all
#!/bin/bash
#
# Ohm5.sh: Cálculo de Voltaje, Corriente y Resistencia (Ley de Ohm)
# Versión gettext, Yurfader21
# Programa totalmente Libre
#
export TEXTDOMAIN="Ohm"
Error_2=$(gettext "Error 02: Por favor ingrese valores numéricos")
It_is1=$(gettext "El Voltaje es:")
It_is2=$(gettext "La Corriente es:")
It_is3=$(gettext "La resistencia es:")
clear
salir=n
while [ "$salir" != "s" ];
do
echo
echo "$(gettext "Esta es una calculadora para la Ley de Ohm")"
echo
echo "$(gettext "1 Para calcular el Voltaje")"
echo "$(gettext "2 Para calcular el Corriente")"
echo "$(gettext "3 Para calcular la Resistencia")"
echo "$(gettext "4 Créditos")"
echo "$(gettext "s Para Salir")"
echo
printf "$(gettext "Ingrese su elección: 1, 2, 3, 4, ó s: ")"
read Seleccion
case "$Seleccion" in
1)
clear
printf "$(gettext "Ingrese la Corriente en amperes: ")"
read Corriente
printf "$(gettext "Ingrese la Resistencia en Ohms: ")"
read Resistencia
if [ $Corriente -eq $Corriente 2> /dev/null ] && [ $Resistencia -eq $Resistencia 2> /dev/null ] && [ -n "$Corriente" ] && [ -n "$Resistencia" ]; then
echo
printf "$It_is1: "$(echo "scale=3;$Corriente*$Resistencia" | bc)" V.\n"
else
echo
printf "$Error_2"
echo
fi
;;
2)
clear
printf "$(gettext "Ingrese el Voltaje en Voltios: ")"
read Voltaje
printf "$(gettext "Ingrese la Resistencia en Ohms: ")"
read Resistencia
if [ $Voltaje -eq $Voltaje 2> /dev/null ] && [ $Resistencia -eq $Resistencia 2> /dev/null ] && [ -n "$Voltaje" ] && [ -n "$Resistencia" ]; then
echo
printf "$It_is2: "$(echo "scale=3;$Voltaje/$Resistencia" | bc)" Amp.\n"
else
echo
printf "$Error_2"
echo
fi
;;
3)
clear
printf "$(gettext "Ingrese el Voltaje en Voltios: ")"
read Voltaje
printf "$(gettext "Ingrese la Corriente en Amperes: ")"
read Corriente
if [ $Voltaje -eq $Voltaje 2> /dev/null ] && [ $Corriente -eq $Corriente 2> /dev/null ] && [ -n "$Voltaje" ] && [ -n "$Corriente" ]; then
echo
printf "$It_is3: "$(echo "scale=3;$Voltaje/$Corriente" | bc)" Ohm\n"
else
echo
printf "$Error_2"
echo
fi
;;
4)
echo "*****************************************************"
echo "Ohm.sh: Calculadora simple de la ley de Ohm"
echo "Versión 4, Yurfader21 copyleft 2010"
echo "Programa totalmente libre"
echo "*****************************************************"
;;
s) salir=s
;;
*) clear
echo "$(gettext "Error 01: Por favor seleccione 1, 2, 3, 4, ó s ")"
;;
esac
done
exit 0
Code: Select all
#! /bin/bash
export MAIN_DIALOG='
<window title="Program Omwatt">
<vbox>
<frame Imputs>
<hbox>
<entry>
<variable>OHMS</variable>
<input>echo '0'</input>
<visible>enabled</visible>
</entry>
<text>
<variable>Ohms</variable>
<label>Input_Ohms</label>
<visible>enable</visible>
</text>
</hbox>
<hbox>
<entry>
<variable>Amper</variable>
<input>echo '0'</input>
<visible>enabled</visible>
</entry>
<text>
<variable>Amper</variable>
<label>Input_Ampers</label>
<visible>enable</visible>
</text>
</hbox>
</frame>
<frame Output>
<hbox>
<entry>
<variable>OUPUTS</variable>
<input>echo '0'</input>
<visible>enabled</visible>
</entry>
<text>
<variable>VOLTS</variable>
<label>VOLTS</label>
<visible>enable</visible>
</text>
</hbox>
<hbox>
<button>
<label>Calculate</label>
</button>
</hbox>
</frame>
</vbox>
</window>
'
gtkdialog3 --program=MAIN_DIALOG
Patriot wrote:welcome to gtkdialog3 scripting ... gtkdialog3 is not difficult, just need a little bit of time to learn and understand ... Here's something for you to ponder over a cup of coffee ... It's quite easy once you understand the structure ... Have fun ...
Code: Select all
#!/bin/bash
MAIN_DIALOG='
<window title="Voltage Calculator">
<vbox>
<frame Input Parameters >
<hbox>
<text>
<label>Enter Ohms :</label>
</text>
<entry>
<variable>OHMS</variable>
<input>echo 0</input>
</entry>
</hbox>
<hbox>
<text>
<label>Enter Ampere :</label>
</text>
<entry>
<variable>AMPS</variable>
<input>echo 0</input>
</entry>
</hbox>
</frame>
<frame Output>
<hbox>
<text>
<label>Result :</label>
</text>
<entry>
<variable>OUTPUT</variable>
<input>if [ "$OHMS" -a "$AMPS" ]; then dc $OHMS $AMPS mul p; fi</input>
</entry>
<text>
<label>Volts</label>
</text>
</hbox>
<hbox>
<button>
<label>Calculate</label>
<action>refresh:OUTPUT</action>
</button>
</hbox>
</frame>
<hbox>
<button ok>
<action>exit:EXIT</action>
</button>
</hbox>
</vbox>
</window>
' gtkdialog3 --program=MAIN_DIALOG
Code: Select all
#!/bin/bash
MAIN_DIALOG='
<window title="Cálculo de Voltaje">
<vbox>
<frame Ingrese Resistencia y Corriente >
<hbox>
<text>
<label>Ingrese la Resistencia (Ohms) :</label>
</text>
<entry>
<default>2</default>
<variable>Resistencia</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese la Corriente (Amperes) :</label>
</text>
<entry>
<default>3</default>
<variable>Corriente</variable>
</entry>
</hbox>
</frame>
<frame Voltaje>
<hbox>
<text>
<label>El voltaje es :</label>
</text>
<entry>
<variable>Voltaje</variable>
<input>echo "scale=3;$Resistencia*$Corriente" | bc</input>
</entry>
<text>
<label>Voltios</label>
</text>
</hbox>
<hbox>
<button>
<label>Calcular</label>
<action>refresh:Voltaje</action>
</button>
</hbox>
</frame>
<hbox>
<button>
<label>Salir</label>
<action>exit:EXIT</action>
</button>
</hbox>
</vbox>
</window>
' gtkdialog3 --program=MAIN_DIALOG
Code: Select all
#!/bin/bash
MAIN_DIALOG='
<window title="Programa Ohmwatt">
<vbox>
<frame Ingrese Resistencia y Corriente >
<hbox>
<text>
<label>Ingrese Resistencia (Ohmios) :</label>
</text>
<entry>
<default>2</default>
<variable>Resistencia</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese Corriente (Amperios) :</label>
</text>
<entry>
<default>3</default>
<variable>Corriente</variable>
</entry>
</hbox>
<hbox>
<text>
<label>El voltaje es :</label>
</text>
<entry>
<variable>Voltaje</variable>
<input>echo "scale=3;$Resistencia*$Corriente" | bc</input>
</entry>
<text>
<label>Voltios</label>
</text>
</hbox>
<hbox>
<button>
<label>Calcular</label>
<action>refresh:Voltaje</action>
</button>
</hbox>
</frame>
<frame Ingrese Tension y Corriente >
<hbox>
<text>
<label>Ingrese la Tension (Voltios) :</label>
</text>
<entry>
<default>2</default>
<variable>Volts</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese la Corriente :</label>
</text>
<entry>
<default>3</default>
<variable>Amper</variable>
</entry>
</hbox>
<hbox>
<text>
<label>La resistencia es :</label>
</text>
<entry>
<variable>Resistor</variable>
<input>echo "scale=3;$Volts/$Amper" | bc</input>
</entry>
<text>
<label>Ohmios</label>
</text>
</hbox>
<hbox>
<button>
<label>Calcular</label>
<action>refresh:Resistor</action>
</button>
</hbox>
</frame>
<frame Ingrese Tension y Resistencia >
<hbox>
<text>
<label>Ingrese la Tension (Voltios) :</label>
</text>
<entry>
<default>2</default>
<variable>Tensio</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese la Resistencia :</label>
</text>
<entry>
<default>3</default>
<variable>Resisten</variable>
</entry>
</hbox>
<hbox>
<text>
<label>La Corriente es :</label>
</text>
<entry>
<variable>Corrient</variable>
<input>echo "scale=3;$Tensio/$Resisten" | bc</input>
</entry>
<text>
<label>Amperios</label>
</text>
</hbox>
<hbox>
<button>
<label>Calcular</label>
<action>refresh:Corrient</action>
</button>
</hbox>
</frame>
<hbox>
<button>
<label>Salir</label>
<action>exit:EXIT</action>
</button>
</hbox>
</vbox>
</window>
' gtkdialog3 --program=MAIN_DIALOG
Es importante conocer las limitaciones de las herramientas que utilizamos. Ver bash, http://en.wikipedia.org/wiki/Dc_(computer_program) y bcif [ "$OHMS" -a "$AMPS" ]; then dc $OHMS $AMPS mul p; fi
pero es efectivo, creo entender que : si $OHMS Y $AMPS ( -a creo que significa and ) varian de valor entonces ( dc no se lo que significa) (mul multiplica) multipica $OHMS por $AMPS y no se lo que significa "p" ni "fi".....
El cálculo se hace en bash a través de la calculadora (dc o bc), con ésta herramienta los cálculos que mencionas son triviales. Ver gtkdialogEs la primera vez que veo como poner una puñetera formula en gtkdialog...... de forma no tan farragosa.....
No quiero ni pensar cuando tenga que poner en una formula log(x),
tang(x) o cualquier otra cosa....
Si las limitaciones de bc y dc son importantes, pero aun asi he visto gente ingeniosas que hace calculos complejos.....
Es importante conocer las limitaciones de las herramientas que utilizamos. Ver bash, http://en.wikipedia.org/wiki/Dc_(computer_program) y bc