24/9/2007 22:29 El Bruno

[VS2005] Nanocoptero + VB.Net + InfraRed + Mobile = Enfermeras poco contentas

Buenas,

las enfermeras siguen poco contentas conmigo; un hospital es un lugar donde no se puede hacer mucho ruido (casi nada creo); y eso crea un ambiente bastante aburrido. Para matar este aburrimiento decidí traer uno de los últimos juguetes que me regalo mi chica: el Nanocóptero (además me han prohibido publicar los videos del nanocóptero en una persecución cuerpo a cuerpo con uno de mis gatos)

Pero bueno, unas fotos en la pieza del hospital puedo mostrar:

   

 

Bases de un juguete complejo

Para aquellas personas como yo que no tenemos mucho mundo arriba, los secretos de la aerodinámica son algo complejos. Gracias a mi padre que es físico me entero que en realidad la base es que:

La fuerza vertical que eleve un avión o helicóptero tendrá que ser igual o mayor que la fuerza de su peso.

En el Nanocóptero el paso del aire para crear sustentación se consigue impulsando las alas circularmente, es decir creando un fuerza vertical para abajo. Además se utiliza el rotor de cola para dar estabilidad horizontal al mismo. Con esta base y después de jugar un rato, pude controlar muy precariamente los movimientos del nanocóptero.

 

Introducing Mobile

Y aquí comenzó el desafío, aquellos que sean detallistas habrán notado que además del nanocóptero, mi Dell Latitude D620 me hacía compania; eso significa Visual Studio, acceso a internet y ganas de probar algo nuevo.

Como el control del nanocóptero se comunica con el mismo a través de infrarrojos, y mi PDA tiene un control de infrarrojos, supuse que tal vez el .Net Compact Framework me podía ayudar a realizar algo tan simple como un pequeño soft para controlar el nanocoptero desde la PDA.

Dentro de MSDN podemos encontrar mucha información al respecto, por ejemplo la librería de referencia central: Infrared Connections.

Sin embargo después de tirar algunas líneas las enfermeras me quitaron el nanocóptero descubrí que la librería incluida en el .Net Compact Framework solo soporta el estandar IrDA (a seguir leyendo, ahora cambiamos desde MSDN a http://www.irda.org/), y parece que el nanocóptero como viene de China tiene su propia idiosincracia.

Sin embargo he dejado preparados las siguientes líneas para completar cuando me respondan los fabricantes del nanocóptero con las especificaciones técnicas del mismo:

1 Imports System.Net 2 Imports System.Net.IrDAEndPoint 3 Imports System.Net.Sockets 4 Imports System.IO 5 6 Public Class Form1 7 Dim irClient As IrDAClient 8 Dim irServiceName As String = "IrDANanocopteroTest" 9 Dim irDevices() As IrDADeviceInfo 10 Dim buffersize As Integer = 256 11 12 ''' <summary> 13 ''' Moves the nanocopter. 14 ''' </summary> 15 Public Sub MoveNanocopter() 16 irClient = New IrDAClient() 17 18 ' coneccion al IrDA 19 If Not GetInfraredDevice() Then Exit Sub 20 21 irClient.GetStream() 22 23 ' stream para enviar datos 24 Dim fs As Stream 25 fs = New MemoryStream(1024) 26 27 ' obtener un stream para la comunicacion ... 28 Dim baseStream As Stream = irClient.GetStream() 29 30 ' COMPLETE ... 31 32 ' dispose 33 fs.Close() 34 baseStream.Close() 35 irClient.Close() 36 37 End Sub 38 39 ''' <summary> 40 ''' Gets the infrared device. 41 ''' </summary> 42 ''' <returns>True if the connection was successful</returns> 43 Private Function GetInfraredDevice() As Boolean 44 Dim connected As Boolean = True 45 46 ' obtiene el dispositivo infrarrojo 47 irDevices = irClient.DiscoverDevices(1) 48 49 ' valida si se pudo conectar al dispositivo de infrarojos 50 If irDevices.Length = 0 Then 51 MsgBox("No remote infrared devices found.") 52 connected = False 53 End If 54 Try 55 Dim irEndP As New IrDAEndPoint(irDevices(0).DeviceID, irServiceName) 56 Dim irListen As New IrDAListener(irEndP) 57 irListen.Start() 58 irClient = irListen.AcceptIrDAClient() 59 MsgBox("Nanocoptero conectado !!!") 60 61 Catch ex As Exception 62 Dim msg As String = String.Format("No se pudo conectar al dispositivo: {0}", ex.ToString()) 63 MsgBox(msg) 64 connected = False 65 End Try 66 67 ' retorna el estado de la conexion 68 Return connected 69 End Function 70 71 End Class

Pues bien, la persona que dijo la frase: "nunca subestimes el poder del aburrimiento" ... tenia mucha pero mucha razón.

(creo que fueron Ricardo Varela y Chema Alonso en el CodeCamp del 2006)

 

Saludos @ Hospital

El Bruno

Crossposting from ElBruno.com
Archivado en: ,,
Comparte este post:

# re: [VS2005] Nanocoptero + VB.Net + InfraRed + Mobile = Enfermeras poco contentas

Monday, September 24, 2007 11:19 PM by Fran Díaz

jejejeje, aún tengo yo el lego encima de mi mesa a la espera de meterle mano en algún ratillo algún día de estos Smile.

Un Saludo

# re: [VS2005] Nanocoptero + VB.Net + InfraRed + Mobile = Enfermeras poco contentas

Wednesday, September 26, 2007 11:29 PM by El Bruno

pues apurate a comenzar a usarlo ..

el año q viene sale una nueva version q promete y mucho !!! ;)

Saludos

# re: [VS2005] Nanocoptero + VB.Net + InfraRed + Mobile = Enfermeras poco contentas

Sunday, September 30, 2007 12:05 AM by Ramón Tébar

Hello Bruno,

Si te contesta la gente del Nanocoptero avisa, que nos compramos ahora mismo uno!

# re: [VS2005] Nanocoptero + VB.Net + InfraRed + Mobile = Enfermeras poco contentas

Tuesday, June 02, 2009 8:13 PM by yo

pos anda ke no sta wapo l lego (y i nanocoptero tambien) a han sacao un heli nuevo.