|   FOROS      |     Tutoriales    |     KIO4 |      
   Inicio B4A (Basic4Android) App inventor 2 Arduino
   Elastix - VoIP Cosas de Windows Webs interesantes  Telecomunicaciones

 


Nuevo concurso para España, Argentina, Brasil, Chile, Colombia, Ecuador, México, Perú y Portugal.

Nueva sección en esta web: Elastix - VoIP

¿Qué es esto?

- Monta un servidor telefónico en tu ordenador para poderte comunicar mediante tu móvil con otros móviles que estén en tu red Wifi. Parecido a Skipe o Whatsapp-teléfono, pero en este caso tú controlas al servidor.

- Si sabes abrir puertos del router, también puedes comunicarte con tu móvil de una red Wifi a teléfonos de otra red Wifi.

- También puedes comunicarte con teléfonos "normales", pero para eso necesitas un dispositivo que vale unos 60 €.

- Es muy recomendable aprender el funcionamiento de este servidor telefónico Asterisk-Elastix.

 Elastix - VoIP

 

B4A en español - Juan Antonio Villalpando
(BASIC4Android)

-- Tutorial de B4A --

Volver al índice del tutorial                    Return to index tutorial

____________________________

Basic4Android.

11.- Cálculo del tiempo de llegada de una señal luminosa y una acústica.

Bajar el código: Velocidad_luz.zip

Tutorial. Estudio del Scroll (SeekBar)

Presentación

- Sabiendo que la luz tiene una velocidad de 300.000 km/s y el sonido 340 m/s. Realiza un programa que muestre el tiempo de llegada de la luz y el sonido. Utiliza un scroll con valores entre 1 km y 20 km. Relaciónalos con fuegos artificiales y tormentas.

- Primero entramos en el programa Basic4Android / Tools / Run AVD Manager
- Luego en el Android SDK Manager / Tools / Manage AVDs...
- Marcamos un AVD Name / y pulsamos Start y luego Launch para abrir un emulador

Creamos los controles


Bajar el código: Velocidad_luz.zip

Insertamos mediante
Designer / Add View

Label1        Text = Distancia
Label2
Label3        Text = Tiempo en llegar luz
Label4
Label5        Text = Tiempo en llegar sonido
Label6
SeekBar1

En el SeekBar1 ponemos su Max value en 20

Guardamos el Designer:
File / Save : Layout

Conectamos el Designer al emulador.
Tools / Connect

Una vez cargado el Designer en el emulardor, podemos ubicar los controles donde queramos.


Ahora vamos al código del programa, pero antes seguimos en el Designer y marcamos:

Tools / Generate members
ValueChanged (Value As Int, UserChanged As Boolean)

Esto lo hacemos para que en el código aparezca:

Sub SeekBar1_ValueChanged (Value As Int, UserChanged As Boolean)

End Sub

Que es donde pondremos el algoritmo del cálculo.
(En realidad podríamos poner las dos líneas anteriores escrita manualmente, sin tener que hacerlo mediante el Generate members)

_________________________

 

Código del programa Velocidad de la luz.
'Activity module
Sub Process_Globals
    ' Juan Antonio Villalpando
    ' juana1991@yahoo.com 
End Sub

Sub Globals
    Dim distancia, tiempo_luz, tiempo_sonido As Float ' Establecemos las variables
    Dim SeekBar1 As SeekBar ' Tenemos que declarar el SeekBar1 
    Dim Label1, Label2, Label3, Label4, Label6 As Label ' Tenemos que declarar los Label utilizados
End Sub

Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout") ' Cargamos el Designer
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub SeekBar1_ValueChanged (Value As Int, UserChanged As Boolean)
    distancia =  SeekBar1.value
    Label2.text= distancia & " Km"
    tiempo_luz = distancia / 0.3
    tiempo_sonido = distancia / 0.340
    
    Label4.Text= Round2 (tiempo_luz, 2) & " micro s"
    Label6.text= Round2 (tiempo_sonido, 2) & " s"
End Sub

- Tipos de variables:

Byte : 1 byte con signo: -128 hasta 127
Char : 2 bytes sin signo: 0 to 65535
Short : 2 bytes con signo: -32768 hasta 32767
Int : 4 bytes con sgino: -2147483648 hasta 2147483647
Long : 8 bytes con signo: -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 (9.2...E+18)
Float : 4 bytes +/- 3.4e +/- 38 (~7 digitos)
Double : 8 bytes +/- 1.7e +/- 308 (~15 digitos)

Comentario del programa.

El SeekBar1 es un Scroll horizontal que en nuestro caso cambia su valor desde 1 hasta 20.

- El algoritmo se realiza cuando movemos (cuando cambia el valor) el SeekBar1

- Tomamos la distancia del SeekBar1
- La mostramos en el Label2 junto a la palabra " Km"

- Calculo el tiempo en llegar la luz. (La velocidad de la luz es de 300000 km/s). Si divido: distancia (Km) / 0.3 me dará el tiempo de llegada de la luz en microsegundos.
- Calculo el tiempo del sonido. (La velocidad del sonido es de 340 m/s). Si divido: distancia(Km) / 0.34 me dará el tiempo de llegada del sonido en segundos.

- Muestro los valores. Round2 (tiempo_luz, 2), me muestra el calculo con 2 decimales.
________________

Comentario.

Cuando lancemos el programa, observamos que el tiempo de llegada de la luz es muchísimo más rápido que el sonido.
Si estamos a una distancia de 4 Km de unos fuegos artificiales, observaremos que el tiempo en visualizar el fogozado de luz es de 13,33 micro segundos, en cambio el sonido tardará en llegar 11,76 segundos.

________________

12.- Cambio del brillo de la pantalla.

Mediante el Designer creamos un Layout llamado "Layout", insertamos un SeekBar1.
En la propiedad Max Value del SeekBar1, ponemos el número 255.

Al mover el SeekBar1, cambiará el brillo de la pantalla.

Atención: si pones el brillo al mínimo no se verá la pantalla ni los controles.

Código del programa.
Sub Process_Globals
    ' Juan Antonio Villalpando
    ' juana1991@yahoo.com 
End Sub

Sub Globals
    Dim p As Phone
End Sub

Sub Activity_Create(FirstTime As Boolean)
   Activity.LoadLayout("Layout")
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub SeekBar1_ValueChanged (Value As Int, UserChanged As Boolean)
    p.SetScreenBrightness(Value/255)
End Sub

________________________________

Si quieres que este tutorial se mantenga y lo actualice con más programas, escríbeme un correo a Juan Antonio: juana1991@yahoo.com

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información