Como hacer un programa sencillo para puppy linux

Message
Author
User avatar
walter leonardo
Posts: 234
Joined: Thu 10 Dec 2009, 22:10

Como hacer un programa sencillo para puppy linux

#1 Post by walter leonardo »

Hola nesecito saber como programar para armar una calculadora con una formula de un circuito de electronica y tambien para hacer otras aplicaciones basicas en puppy linux.
Yo en windows xp usaba el visual basic por ejemplo para hacer cosas sencillas.

yurfader21
Posts: 76
Joined: Mon 26 Oct 2009, 02:43

FreeBasic

#2 Post by yurfader21 »

Necesitas montar el devx y si sabes algo de Basic ver los siguientes enlaces:

http://www.freebasic.net/ ó

http://www.puppylinux.org/wikka/PuppyBasic

Saludos

drnocho
Posts: 4
Joined: Tue 29 Dec 2009, 18:54
Location: Merida Yucatan Mexico
Contact:

#3 Post by drnocho »

investiga sobre gtkdialog3 para hacer ventanitas gtk (lo trae por defecto en la instalación) y xmessage para ventanas como sonsola (lo trae por defecto en la instalación), eso te da la interfaz si acaso. La programación va con bash (lo trae por defecto en la instalación) o algún lenguaje como C (hay que descargar el sfs). también puedes revisar algo con TCL. (no estoy seguro que lo traiga la instalación por defecto). Puedes probar poniendo el comando wish en la consola para verificar el soporte de tcl con librerias GTK.

En ambiente web se puede intentar algo como JavaScript (el navegador tiene soporte por default).

Saludines desde Mexico :lol:

User avatar
mister_electronico
Posts: 969
Joined: Sun 20 Jan 2008, 20:20
Location: Asturias_ España
Contact:

Hola walter leonardo

#4 Post by mister_electronico »

Hola walter me parece interesante que habras este tema.... yo inicie un tema con programacion TCLK pero ni dios le hizo ni caso....

Con respecto a gtkdialog3 te puedo hacer un programita que puede enseñarte el comienzo de la programacion.

Primero tienes que abrir un archivo de texto con por ejemplo leafpad que viene en Pupy y copiar lo siguiente.


#!/bin/bash

TEXT='Hello world'

export script='
<text>
<label>Content of variable is: '"$TEXT"'</label>
</text>'

gtkdialog3 --program=script


Si lo guardas con el nombre primero.sh

Luego tienes que darles permiso mediante el siguiente comando.


chmod u+x primero.sh

Dando la orden en el Terminal pero estando por supuesto en el mismo directorio que esta el archivo primero.sh

Hemos creado con esto un script ejecutable...


Ahora desde el mismo terminal ejecuatamos la orden

./primero.sh Y uala saltara nuestra primera ventanita con
con gtkdialog3

Lo que hay delante de la barra / es un punto...

Esta informacion la he sacado del foro en Ingles que dan un minicurso de gtkdialog3

http://www.murga-linux.com/puppy/viewtopic.php?t=38608

A mi me parece intersante este tema, si alguien se anima a traducirlo y ponerlo aqui y añadir mas informacion acerca de ello, tendra mi colaboracion aqui.... si no se anima mas gente ... aqui se acabara el tema....

Hasta la vista...

Proudog
Posts: 164
Joined: Fri 27 Feb 2009, 19:07

Re: Hola walter leonardo

#5 Post by Proudog »

mister_electronico wrote: A mi me parece intersante este tema, si alguien se anima a traducirlo y ponerlo aqui y añadir mas informacion acerca de ello, tendra mi colaboracion aqui.... si no se anima mas gente ... aqui se acabara el tema....
Yo considero que el programa de ejemplo para GTKdialog está algo incompleto y haga esta revisión:

Code: Select all

#! /bin/bash

TEXT="Hola Mundo"

export script="
<window title="Hola">
 <vbox>
 <text>
<label>"$TEXT"</label>
  </text>
  <hbox>
   <button ok></button>
   </hbox>
 </vbox>
</window>"

gtkdialog3 --program=script 

User avatar
mister_electronico
Posts: 969
Joined: Sun 20 Jan 2008, 20:20
Location: Asturias_ España
Contact:

Muy buena tu puntualizacion Proudog

#6 Post by mister_electronico »

Muy buena tu puntualizacion Proudog......

Lo dicho si alguien se anima a continuar aqui, tendra toda mi colaboracion, en las traducciones y en los ejemplos..... creo que es un tema muy interesante......... pero si no pues nada....

Un saludo nos vemos..

FPlanet
Posts: 6
Joined: Fri 13 Nov 2009, 17:04
Location: Asturias-Spain

Gambas es casi Visual Basic

#7 Post by FPlanet »

Para un usuario de Visual Basic creo que la alternativa natural en linux es GAMBAS, que ofrece un entorno y una filosofía similar.

Acabo de instalarlo en Puppy 4.31 y parece que funciona correctamente (sólo he hecho un "hola,mundo").
No necesita que esté instalado el devx_431.sfs. Sin embargo,requiere que previamente se instalen las librerías qt3 ( yo he utilizado qt3.3.3.6),
El pet de Gambas que he utilizado es
http://www.gposil.com/pets/gambas2-2.7.1.pet
Los detalles en
http://murga-linux.com/puppy/viewtopic. ... 63&t=21776

Por otro lado, después de leer este hilo he estado curioseando un poco en el tema de BASIC en Puppy Linux. Parece que la versión 4.3, lo ha dejado un poco de lado, frente a versiones anteriores:
- el interprete que acompañaba a versiones anteriores PuppyBasic/wxbasicscript no está incluido en la distribución.
- el devx_431.sfs no incluye, como anteriormente, el compilador Freebasic.

Aunque de todos modos, se pueden encontrar los pets correspondientes.

User avatar
mister_electronico
Posts: 969
Joined: Sun 20 Jan 2008, 20:20
Location: Asturias_ España
Contact:

Gambas tambien es interesante...

#8 Post by mister_electronico »

Hola E-Planet...... Gambas puede ser tambien muy interesante o Glade....

Yo estoy abierto a cualquier persona que quiera abrir cualquier tema, de programacion dentro de este foro de Puppy, como puede ser Glade,
Gambas, Programacion en C, Gtkdialog, Ensamblador o cualquier otro tipo.... Lo que no voy a volver ha hacer abrir un tema en que voy a estar yo solo........

Entiendo por que la gente de habla inglesa se prospera y avanza mas ya que son infinitamente mas colaboradores y sobre todo hay una palabra que es colaboracion......

Aqui nos conformamos con mirar.......... afuera meten en caliente....

En fin lo dicho el que quiera abrir un tema de estos tendra mi apoyo................. Sino mas de lo mismo...

Y a seguir compiando.....

Suerte Bye...

User avatar
walter leonardo
Posts: 234
Joined: Thu 10 Dec 2009, 22:10

#9 Post by walter leonardo »

hola aqui me paso un code de un circuito electrico en C el amigo Proudog.

Aver que me dicen de este codec. Analicenlo.

http://www.modelo.edu.mx/univ/virtech/e ... rcui01.htm

User avatar
walter leonardo
Posts: 234
Joined: Thu 10 Dec 2009, 22:10

hola

#10 Post by walter leonardo »

Bueno aqui les pongo el codigo en C y me dicen si esta bien asi o tiene algunos errores, y como pasaria ese codigo C a codigo Bash para ejecutarlo en puppy?

Code: Select all

/***********************************************************
*                                                          *
*   ohmwatt.c                                              *
*   Programa para diferentes cálculos eléctricos           *
*   ©1999, Virgilio Gómez Negrete                          *
*                                                          *
***********************************************************/

#include <stdio.h>
#include <disp.h>
#include <stdlib.h>

/***********************************************************
*   Prototipo de funciones                                 *
***********************************************************/
int menu(void);
void clear(void);
void copy(void);

/***********************************************************
*   Variables globales                                     *
***********************************************************/
int opcion;

int menu()
{
    printf("- - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n");
    printf("Seleccione una opcion:\n");
    printf("Salir del programa.......................................0\n");
    printf("Ley de Ohm: Calcular voltaje (E).........................1\n");
    printf("Ley de Ohm: Calcular corriente (I).......................2\n");
    printf("Ley de Ohm: Calcular resistencia (R).....................3\n");
    printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - -\n");
    scanf("%d", &opcion);
    clear();
};

void clear(void)
{
    disp_open ();
    disp_move (0, 0);
    disp_eeop ();
    disp_close ();
};

void copy(void)
{
    printf("- - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n");
    printf("O H M W A T T (Version 1.0.0) Calculos electricos basicos\n\n");
    printf("Publicado en:\n\n");
    printf("www.GeoCities.com/SiliconValley/Garage/8211\n\n");
    printf("Para comentarios respecto a este programa, escriba:\n\n");
    printf("virgiliotech@yahoo.com\n\n");
    printf("(C)1999, Virgilio Gomez Negrete\n\n");
    printf("- - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n");
}

int main()
{
    float resistencia, voltaje, corriente;

    menu();
    do
    {
        switch(opcion)
        {
            case 0:
            break;

            case 1:
            {
                printf("\nLey de Ohm: Calcular voltaje (E)\n\n");
                printf("Introduzca el valor de la corriente (I)"
                  "en Amperes:\n");
                scanf("%f", &corriente);
                printf("Introduzca el valor de la resistencia (R)"
                  "en Ohms:\n");
                scanf("%f", &resistencia);
                clear();
                printf("\n\n\nEl voltaje (E) es de %f Voltios\n\n\n\n",
                  voltaje=(corriente*resistencia));
                menu();
            };
            break;

            case 2:
            {
                printf("\nLey de Ohm: Calcular corriente (I)\n\n");
                printf("Introduzca el valor del voltaje (E)"
                  "en Voltios:\n");
                scanf("%f", &voltaje);
                printf("Introduzca el valor de la resistencia (R)"
                  "en Ohms:\n");
                scanf("%f", &resistencia);
                clear();
                printf("\n\n\nLa corriente (I) es de %f Amperes\n\n\n\n",
                  corriente=(voltaje/resistencia));
                menu();
            };
            break;

            case 3:
            {
                printf("\nLey de Ohm: Calcular resistencia (R)\n\n");
                printf("Introduzca el valor del voltaje (E)"
                  "en Voltios:\n");
                scanf("%f", &voltaje);
                printf("Introduzca el valor de la corriente (I)"
                  "en Amperes:\n");
                scanf("%f", &corriente);
                clear();
                printf("\n\n\nLa resistencia (R) es de %f Ohms\n\n\n\n",
                  resistencia=(voltaje/corriente));
                menu();
            };
            break;

            default:
            printf("\n\nERROR 0001: Opcion incorrecta!\n\n");
            menu();
            break;
        }
    }
    while(opcion!=0);
    copy();
    return 0;
}
case 4:
{
    printf("\nPotencia (P) en terminos de voltaje y coriente\n\n");
    printf("Introduzca el valor del voltaje (E) en Voltios:\n");
    scanf("%f", &voltaje);
    printf("Introduzca el valor de la corriente (I) en Amperes:\n");
    scanf("%f", &corriente);
    clear();
    printf("\n\n\nLa potencia (P) es de %f Watts\n\n\n\n",
      potencia=(voltaje*corriente));
    menu();
};
break;

case 5:
{
    printf("\nPotencia (P) en terminos de corriente (I)"
      " y resistencia (R)\n\n");
    printf("Introduzca el valor de la resistencia (R) en Ohms:\n");
    scanf("%f", &resistencia);
    printf("Introduzca el valor de la corriente (I) en Amperes:\n");
    scanf("%f", &corriente);
    clear();
    printf("\n\n\nLa potencia (P) es de %f Watts\n\n\n\n",
      potencia=((corriente*corriente)*resistencia));
    menu();
};
break;

case 6:
{
    printf("\nPotencia (P) en terminos de voltaje (E)"
      " y resistencia (R)\n\n");
    printf("Introduzca el valor del voltaje (E) en Voltios:\n");
    scanf("%f", &voltaje);
    printf("Introduzca el valor de la resistencia (R) en Ohms:\n");
    scanf("%f", &resistencia);
    clear();
    printf("\n\n\nLa potencia (P) es de %f Watts\n\n\n\n",
      potencia=((voltaje*voltaje)/resistencia));
    menu();
};
break;
printf("Potencia (P) en terminos de voltaje y corriente..........4\n");
printf("Potencia (P) en terminos de corriente y resistencia......5\n");
printf("Potencia (P) en terminos de voltaje y resistencia........6\n");

case 7:
{
    printf("\nVoltaje (E) en terminos de potencia (P)"
      " y corriente (I)\n\n");
    printf("Introduzca el valor de la potencia (P) en Watts:\n");
    scanf("%f", &potencia);
    printf("Introduzca el valor de la corriente (I) en Amperes:\n");
    scanf("%f", &corriente);
    clear();
    printf("\n\n\nEl voltaje (E) es de %f Voltios\n\n\n\n",
      voltaje=(potencia/corriente));
    menu();
};
break;


case 8:
{
    printf("\nVoltaje (E) en terminos de potencia (P)"
      " y resistencia (R)\n\n");
    printf("Introduzca el valor de la potencia (P) en Watts:\n");
    scanf("%f", &potencia);
    printf("Introduzca el valor de la resistencia (R) en Ohms:\n");
    scanf("%f", &resistencia);
    clear();
    printf("\n\n\nEl voltaje (E) es de %f Voltios\n\n\n\n",
      voltaje=sqrtf(potencia*resistencia));
    menu();
};
break;

case 9:
{
    printf("\nCorriente (I) en terminos de potencia (P)"
      " y voltaje (E)\n\n");
    printf("Introduzca el valor de la potencia (P) en Watts:\n");
    scanf("%f", &potencia);
    printf("Introduzca el valor del voltaje (E) en Voltios:\n");
    scanf("%f", &voltaje);
    clear();
    printf("\n\n\nLa corriente (I) es de %f Amperes\n\n\n\n",
      corriente=(potencia/voltaje));
    menu();
};
break;

case 10:
{
    printf("\nCorriente (I) en terminos de potencia (P)"
      " y resistencia (R)\n\n");
    printf("Introduzca el valor de la potencia (P) en Watts:\n");
    scanf("%f", &potencia);
    printf("Introduzca el valor de la resistencia (R) en Ohms:\n");
    scanf("%f", &resistencia);
    clear();
    printf("\n\n\nLa corriente (I) es de %f Amperes\n\n\n\n",
      corriente=sqrtf((potencia/resistencia)));
    menu();
};
break;

case 11:
{
    printf("\nResistencia (R) en terminos de potencia (P)"
      " y corriente (I)\n\n");
    printf("Introduzca el valor de la potencia (P) en Watts:\n");
    scanf("%f", &potencia);
    printf("Introduzca el valor de la corriente (I) en Amperes:\n");
    scanf("%f", &corriente);
    clear();
    printf("\n\n\nLa resistencia (R) es de %f Ohms\n\n\n\n",
      resistencia=(potencia/(corriente*corriente)));
    menu();
};
break;

case 12:
{
    printf("\nResistencia (R) en terminos de voltaje (E)"
      " y potencia (P)\n\n");
    printf("Introduzca el valor del voltaje (E) en Voltios:\n");
    scanf("%f", &voltaje);
    printf("Introduzca el valor de la potencia (P) en Watts:\n");
    scanf("%f", &potencia);
    clear();
    printf("\n\n\nLa resistencia (R) es de %f Ohms\n\n\n\n",
      resistencia=((voltaje*voltaje)/potencia));
    menu();
};
break;

     En tanto que las adiciones en la función menu( ) son las siguientes :


printf("Voltaje (E) en terminos de potencia y corriente..........7\n");
printf("Voltaje (E) en terminos de potencia y resistencia........8\n");
printf("Corriente (I) en terminos de potencia y voltaje..........9\n");
printf("Corriente (I) en terminos de potencia y resistencia.....10\n");
printf("Resistencia (R) en terminos de potencia y corriente.....11\n");
printf("Resistencia (R) en terminos de voltaje y potencia.......12\n");
case 13:
{
    printf("\nCantidad de resistencias:\n\n");
    scanf("%d", &cantidad);
    clear();
    if(cantidad >= MAXRES+1)
    {
        printf("\n\nERROR 0002: La cantidad maxima es de %d\n\n", MAXRES);
        break;
    }
    for(i=0; i<cantidad; i++)
    {
        printf("Valor del resistor %d en Ohms\n", i+1);
        scanf("%f", &resistencias[i]);
        serie=resistencias[i]+serie;
        paralelo=(1/resistencias[i])+paralelo;
    }
    clear();
    printf("\n\nLa resistencia total en serie es de %.4f Ohms\n", serie);
    printf("La resistencia total en paralelo es de %.4f Ohms\n\n\n",
      1/paralelo);
    paralelo=0, serie=0;
    menu();
}
break;
case 14:
printf("\nIntroduzca el valor deseado en Ohms\n");
scanf("%f", &rc);
clear();
ctr=0;
for(ma=0; ma<10; ma++)
{
    for(ra=0; ra<24; ra++)
    {
        for(mb=0; mb<10; mb++)
        {
            for(rb=0; rb<24; rb++)
            {
                r1=(valor[ra]*multiplo[ma]);
                r2=(valor[rb]*multiplo[mb]);
                rs=r1+r2; /* Resistencia en serie */
                if(r1<=r2&&rc<=rs+(rs*porcentaje/100)&&rc>=
                  rs-(rs*porcentaje/100))
                {
                    if((rc!=r1) && (rc!=r2))
                    {
                        e=((rs-rc)/rc)*100;
                        if(e<=porcentaje)
                        {
                            printf("%.3f + %.3f = %.4f %.4f %% error.\n",
                              r1, r2, rs, e);
                            ctr++;
                        }
                    }
                }
                rt=((r1 * r2)/(r1 + r2)); /* Resistencia en paralelo */
                if(r1<=r2&&rc<=rt+(rt*porcentaje/100)&&rc>=
                  rt-(rt*porcentaje/100))
                {
                    if((rc != r1) && (rc != r2))
                    {
                        e=((rt - rc)/rc)*100;
                        if(e<=porcentaje)
                        {
                            printf("%.3f || %.3f = %.4f %.4f %% error\n",
                              r1, r2, rt, e);
                            ctr++;
                        }
                    }
                } 
                if(ctr >= 24)
                {
                    printf("\nMAS VALORES -");
                    ctr=0;
                    getch();
                }
            }
        }
    }
}
printf("\nPresione cualquier tecla para regresar al menu\n");
getch();
clear();
menu();
break;
Empecemos nomas :D

User avatar
mister_electronico
Posts: 969
Joined: Sun 20 Jan 2008, 20:20
Location: Asturias_ España
Contact:

Respuesta a tu programa....

#11 Post by mister_electronico »

Hola walter Leonado... el programa en C que has puesto en el post no funciona por que le falta la libreria "disp.h."

Lo compile pero me dio ese mensaje de error...... busque en la direccion que posteaste del programa y hay un fichero : ohmwatt.zip. 25.3 kb. para haber si este fichero estuviera alli, pero el enlace esta roto....

Aparte tienes las funciones Case 4 a Case 12 fuera del la funcion:

switch(opcion) con lo cual tambien da errores...

Si quieres compilar programas en C te tienes que bajar el archivo

devx_XXX.sfs donde XXX corresponde a la version de puppy que estes utilizando.

Si por ejemplo estas utlizando la version 4.30 puedes bajarlo aqui:

http://www.sendspace.com/file/trzpnb

No he encontrado facilmente estos enlaces ya que en la pagina web de puppy esta roto...

Pero poniendo en google : devx_430.sfs puppy download puedes buscar la version que quieras..

Una vez bajado lo tienes que poner en el directorio HOME

Luego te vas a: MENU>SETUP>PUPPY SETUP

y dentro del formulario que sale apretar el boton :

Configure startup of Puppy

Te sale la ventana "Puppy Boot Configuration " y elegir:

"Choose wich extra SFS file go load at boot"

Te saldra en una ventanita con el archivo devx_xxx.sfs que quieres añadir.... añadelo y ya lo tienes.....

No me acuerdo si tienes que reiniciar .... me parece que no..

Para saber si se ha metido simplemente metete en Terminal y teclea:

#gcc

si te sale #gcc: no imput file

esto quiere decir que ya lo tienes instalado ......


Ahora si quieres compilar progrmas haz lo siguiente:

COMO COMPILAR PROGRAMAS EN C

Escribir y salvar el siguiente programa test.c

Se puede utilizar Geany, para escribirlo y compilarlo.

/* Ejemplo de programa C */
int main()
{ int i;
for (i = 0; i < 50000; i++)
{
printf ("%d",i);
printf (" Puppy is Great\n");
}
return 0;
}

Se puede compilar con Geany o bien abrir el terminal en el mismo directorio y ejecutar la siguiente linea de comando:
gcc test.c -o test

Esto creara un fichero ejecutable que es "test", para ejecutarlo escribir los siguiente:

./test

y correra.



Espero que te sirva de ayuda y tambien a otra gente.....

Un saludo...

yurfader21
Posts: 76
Joined: Mon 26 Oct 2009, 02:43

Enlaces archivos sfs de desarrollo

#12 Post by yurfader21 »

Nada más para complementar los enlaces de ibiblo si funcionan.

sfs para 4.30

sfs para 4.31

Saludos

Proudog
Posts: 164
Joined: Fri 27 Feb 2009, 19:07

Re: Respuesta a tu programa....

#13 Post by Proudog »

mister_electronico wrote:Hola walter Leonado... el programa en C que has puesto en el post no funciona por que le falta la libreria "disp.h."
La librería "disp.h" es para plataforma de DOS, por lo que el programa de 1999 no es para Unix, por lo que es necesario reescribir esta parte en el código:

Code: Select all

{
    disp_open ();
    disp_move (0, 0);
    disp_eeop ();
    disp_close ();
}; 

Fuente:
http://www.digitalmars.com/rtl/disp.html

Proudog
Posts: 164
Joined: Fri 27 Feb 2009, 19:07

Re: hola

#14 Post by Proudog »

walter leonardo wrote:Bueno aqui les pongo el codigo en C y me dicen si esta bien asi o tiene algunos errores, y como pasaria ese codigo C a codigo Bash para ejecutarlo en puppy?
El código no está completo, porque sólo tiene "4 cases", lo demás son fracciones del código original, que al parecer están escritas para explicación técnica, para DOS y con compilador en tipo Turbo C (Borland). Por lo que es necesario portar a GNU GCC algunos "cases".

En archivo adjunto omhwatt compilado.

Nota importante: El programa no tiene licencia Libre, es software abierto, por lo que sólo puedo publicar en el foro el programa en binario.
Attachments
ohmwatt-1.0.0.pet
ohmwatt
(3.4 KiB) Downloaded 855 times

yurfader21
Posts: 76
Joined: Mon 26 Oct 2009, 02:43

Ley de Ohm

#15 Post by yurfader21 »

Todo depende del lenguaje que se quiera utilizar para realizar el programa, pero si se quiere hacer en bash, se podría empezar con tres programas muy simples, y de ahí continuar para hacer un sólo programa con ventanas de diálogo y rutinas de verificación de la información ingresada en las variables. Pero me parece que puedes empezar con algo como lo siguiente:

Cálculo Voltaje:

Code: Select all

#!/bin/bash
#
# voltaje.sh: Ejemplo de cálculo de Voltaje ingresando Corriente y Resistencia
# Yurfader21

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"

exit 0
Cálculo Corriente:

Code: Select all

#!/bin/bash
#
# corriente.sh: Ejemplo de cálculo de Corriente Eléctrica ingresando Voltaje y Resistencia
# Yurfader21

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"

exit 0
Cálculo de Resistencia:

Code: Select all

#!/bin/bash
#
# resistencia.sh: Ejemplo de cálculo de Resistencia ingresando Voltaje y Corriente
# Yurfader21

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"

exit 0
Los scripts los anexo enseguida:

Saludos.
Attachments
Ohm.tar.gz
(435 Bytes) Downloaded 856 times

User avatar
mister_electronico
Posts: 969
Joined: Sun 20 Jan 2008, 20:20
Location: Asturias_ España
Contact:

¿Hay electronicos en este foro?

#16 Post by mister_electronico »

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...

User avatar
mister_electronico
Posts: 969
Joined: Sun 20 Jan 2008, 20:20
Location: Asturias_ España
Contact:

Que bien creo que es muy interesante....

#17 Post by mister_electronico »

Gracias Proudog y yurfader21 por vuestras aportaciones, creo que son muy interesantes para todos, tanto en el lenguaje de scripts como el lenguaje en C....

Muchas veces he estado tentado en hacer programas en C que y luego enlazarlos con gtkdialog para sacarlos de forma visual en ventanas....

Abri un tema hace tiempo pero no causo mucha sensacion y lo abandone, pero si la gente esta por la labor, yo estare aqui con todo mi apoyo...

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..

yurfader21
Posts: 76
Joined: Mon 26 Oct 2009, 02:43

Re: Que bien creo que es muy interesante....

#18 Post by yurfader21 »

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..
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.

Pero aún así he tratado de mantenerme actualizado en la electrónica, cuando el tiempo me lo permite, además de mejorar mi programación y conocer lenguajes que no domino.

Y bién, ahí van mis dos centavos; he trabajado principalmente con microcontroladores AVR de Atmel (tinys y Megas) y pienso que para una estructura versátil es mejor utilizar el bus de I2C (TWI) que el serial en los micros. He realizado proyectos de maestro-esclavos con I2C en éstos microcontroladores. Por ahí publiqué en una de mis participaciones mi intención de desarrollar un proyecto para hacer un desarrollo de instrumentación con éstas bases. (Ver proyectos V-USB e I2C tiny).

Pero mi idea es primero conocer mejor a Linux y a Puppy y de ahí partir para desarrollarlo. He trabajado un poco con lm-sensors, pero no sé utilizar I2C en Linux.

De cualquier manera si me interesa participar en un proyecto así aunque ahora estoy en el proyecto de traducción de YurPup.

Saludos

yurfader21
Posts: 76
Joined: Mon 26 Oct 2009, 02:43

Seguimos con la Ley de Ohm

#19 Post by yurfader21 »

Si seguimos con el código del script, podríamos agregar la rutina de selección para integrar los tres programas anteriores independientes. Esta es una manera de utilizar el "case" en bash.

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
Saludos
Attachments
Ohm1.tar.gz
(501 Bytes) Downloaded 687 times

User avatar
mister_electronico
Posts: 969
Joined: Sun 20 Jan 2008, 20:20
Location: Asturias_ España
Contact:

Me alegro de ver un electronico en este foro....

#20 Post by mister_electronico »

Bueno yo soy tecnico electronico me dedico principalmente al mantenimiento de centros de F.M y O.M enlaces etc...

He echo distintos proyectillos automatismos, controladores, comunicacion gsm, tambien he trabajado con I2C, grabadores de audio,
control efectos luminosos, etc...

Lo que pasa es que trabajo con la familia Microchip las familias 16F y 18F con entorno de programacion MPlab y programador debugger ICD2.

Hasta ahora mis programas visuales los hago bajo windows en Visual Basic, pero me gustaria trabajar en este sentido con Puppy...

Buscando un entorno visual, que todavia estoy por definir, pero la informacion de estos entornos esta mucho mas dificil de encontrar, asi como requiere de mas conocimientos que por supuesto llevan tiempo..

Estuve intentando por ejemplo intentar hacer el programa que tu has echo por script por GTKDialog, o por lo menos para lo que es la presentacion y aquisicion de datos y luego hacerlo mediante un programa en C los calculos, pero todavia no he encontrado la forma de hacerlo, osea la forma de capturar esos datos y pasarselos al programa en C, haber si este fin de semana tengo tiempo y lo hago...


Estupendo tu programa de script, muy bueno para gente como yo que no esta muy puesta en el lenguaje de script..... gracias por ello...

Un saludo ...... nos vemos.

Post Reply