PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut1956

Xoant, no creo que tu interpretación de lo que dijo Genaro represente lo que ha dicho. Lo que si es el caso es, que habiendo construido la tarjeta experimental, ha adquirido muy importantes conocimientos de como realizar el mismo un circuito partiendo de un esquema y ha podido ganar confidencia también en lo que a los trabajos de soldadura relacionados se refiere. En lo que a la programación se refiere estamos participando, gracias a que Genaro publique los pasos de su aprendisaje, como esta "jugando", partiendo de los programas ejemplo del curso de software relacionado a la tarjeta experimental, y así avanzando en el proceso de aprendisaje. Ojalá otros nos dieran esa posibilidad!

El resultado de este camino es muy valioso y no lo puedes alcanzar así usando partes listas como el Arduino! No entremos en otros detalles para mantener la cosa sin emociones!

Mira Xoant, como en el modelismo naval por llamarlo así "tradicional", existen unos que arman sus navios partiendo de un kit y otros que parte de un plano, sea comprado o disenado por ellos mismos. El camino de la tarjeta experimental es equivalente al camino de aquellos que construyen su modelo partiendo de planos. Otros realizan sus modelos partiendo de un kit. No vamos a decir que los que parten de un kit valen menos, verdad? El uno u otro camino es igualmente válido y valioso y respetable.

Genaro y otros quieren seguir el camino de aquellos que parten de un plano como ejemplo de su accesso a la electrónica y de los propósitos y objetivos. Naturalmente que la experiencia de los logros alcanzados, y los videos de Genaro son un excelente ejemplo, son algo altamente emocional y muy personal. Vamos a ser meticulosos en lo que se dice bajo este sentimiento de eufória y orgullo. Creo que no, sino que vamos a alegrarnos con el y reconocer que experiencia mas emocional es el tener estas experiencias de logro sin buscar donde algo escrito pueda ser interpretado como crítica a terceros!

Naturalmente que esto no es una crítica Xoant, pero el deseo de mantener emociones negativas fuera de la comunicación.
 
Hola hellmult1956.

Xoant conmigo no hay problema efectivamente si estaba mal impreso de la placa multifuncion porque estaba impreso todos a tierra y si no olvidate de esto porque ya paso ahora a partir en adelante me concentro la pura compilacion BASCOM ok! :wink:

Hellmult1956 estuve estudiando como practica ya despues hago la tarea por ejemplo un contador de 0 a 9 es como una practica nada mas.

Vea este video..... :mrgreen:

http://www.youtube.com/watch?v=Iy6X_zfCFjg" onclick="window.open(this.href);return false;

Saludos a todos!
 
Genial Genaro! Lo que estas haciendo vale mas que los programas del curso! Lo que estas haciendo es usando lo aprendido con el programa 1 y usando esa función para alimentar el contador! Ya veremos cuantas cosas mas vas a generar cuando vayas aprendiendo las funciones adicionales. Recuerda que después del programa 2 ya viene el uso de la pantalla! Me parece que te tendre que adelantar el control rotativo para que puedas continuar!

Exactamente esto lo que tu demuestras es lo que intento lograr! Usar funcionalidades de la tarjeta experimental y agregar módulos propios para experimentar con su uso! Usar las sentencias de Bascom que voy introduciendo para ideas propias! Usar nuevas informaciones que iré proporcionando de otras índoles. Que diferencia con copiar una solución!

Y que no volvamos al tema del conflicto. Ya no responderé ni reacionaré ha este tema! hay que moverse y orientarse hacia adelante! Gracias Genaro por permitirnos compartir tus "experimentos"!
 
Hola a todos! :shock: :shock:
Por medio de este presente,se me he es de gran insatisfacion comunicarles,mi absoluta y definitiva me voy de este foro.Pido con gran firmeza que se me sea respetada la libertad
me despido de este foro aparte de esto,es mas que claro es porque me voy porque josechus,montañez y xoant le falta respecto al maestro hellmult.

Me despido de todos!! :cry: :cry: :cry:
 
No te equivoques, los de siempre nos hemos portado bien SIEMPRE (y algunos incluso mucho mejor que bien y han sido muy maltratados)

¿Ahora te gusta otra vez? Qué bieeeeeeeennnnnn !!!!!!!! :mrgreen: :mrgreen: :mrgreen:

Montañés
 
Hola Genaro

Mis mas sinceras felicitaciones, en especial porque se que el video refleja un aprendisaje sólido de las sentencias usadas y de la estructura del programa. Ahora pues adelante a trabajar con la pantalla, si así te parece!

Para información de los foreros. El video y el código que conozco representan el resultado de intensos estudios por Genarode las sentencias y de la estructura del programa. Así lo que hemos logrado hasta este punto no es que pueda hacer parpadear el LED como lo demuestra el vidéo, sino que ha aprendido el combinar funciones de la hardware y el programa. Para esto hasta este momento hemos trabajado muy limitadamente con la sentencias Goto, If ... then y hemos empesado a trabajar en las sentencias Do ... Loop, While ... Wend y Call. Call es la sentencia para acceder subrutinas y funciones. Subrutinas se pueden llamar Call "nombre de subrutina", o Call "Funcion0 (a, 5). En esta última variante de la sentencia Call se pueden pasar valores a variables y constantes en la subrutina. Pero en cuestiones de la sentencia Call estamos aún en un paso muy temprano. El buen uso de la sentencia "Call" permite escribir programas altísimamente resusables y adaptables. Si logro passar estos conocimientos a Genaro, y no se trata de que Genaro sea capaz o no,, si bo que si yo soy capaz de pasar el conocimiento.

Es esta la forma de usar la tarjeta eperimental de acuerdo a mi metodología. La usamos Genaro y yo al momento como vehículo para aprender. En el curso del intercambio en los retos de la programación hemos profundisado en la materia de programación. Que pena que nadie mas quiera participar. Pero me alegro que genaro halla decidido de publicar el video aquí y quiza se decida tamién por comunicarse conmigo por este medio para posibilitar a otros foreros compartir las experiencias.

Otra vez, felicitaciones Genaro y en especial por el estudio prolongado de la materia.


Saludos

Hellmut
 
Hola hellmult y a todos los foristas...... :shock:

Buenos,continuamos mis tarea pero no puedo publicar mi codigo va. esto es para que aprenda tu mismo como los estoy haciendo yo ahorita pero no soy envidioso ni egoista eh ya veras que facil es programar.
El video que vez es la sentencia Dim T As Byte y For Next bueno a continuacion se presenta una nuevas instrucion,esta compone por un comando que permite repetir un numero predeterminado de ciclos y al terminar se sale de esta rutina y continua. :shock:

http://www.youtube.com/watch?v=JFFAVJ4Ql3o" onclick="window.open(this.href);return false;

Continuamos........
 
Buenos, Y para otra sentencia de Dim A as Integer....Do loop Until.
Empieza inicializando la variable A que se usa como contador de ciclos cuando la variable A sea igual ahi se para.....mira el video.

http://www.youtube.com/watch?v=2akQ4xWkKFk" onclick="window.open(this.href);return false;

Continuamos....... :shock:
 
Y por Ultimos las de Do,Do,Do,Do,Do,.......Loop,Loop,Loop,Loop,Loop. Lazo cerrado.

Veas el video :shock: ...

http://www.youtube.com/watch?v=WZtNQDSWLKQ" onclick="window.open(this.href);return false;

Feliz Navidad Y Prospero Anos Nuevos!!!!!!

Hastas las proxima.......jojojojo :mrgreen:
 
Hola Genaro

Te felicito viendo que avances has hecho en la programación. Pero ahora si a conectar la pantalla, que te permitira hacer un extenso uso de las sentencias aprendidas. Veo la tareo como resuelta de forma sobresaliente. Feiz Navidad de mi parte a tí y a todos los foreros y sus familias.

Saludos

Hellmut
 
Hola hellmult.
Igualmente, pero todavia me falta un pocito como la sentencia que estoy estudiando While...Wend y Call y despues seguimo con las pantalla......paciencia. :shock:

jojojojo.... :mrgreen:
 
je, je,je. Me paree bien que quieras completar las sentencias primero! Realmente la gran diferencia entre la sentenia while y Wend es que primero se omprueba la condición yluego se ejecuta el programa. La sentenia Do y until como lo dice las palabras en inglés, haz ... hasta que, ejecuta el programa una vez y recién entonces decide si lo hace una segunda vez.

La sentencia Call es realmente importante y lo que aprendas allí también te servirá para entender el funcionamiento de las rutinas de servicio de interrupciones.

La sentencia "Call" es muy,pero muy potente! Te recomiendo empesar despasito. El primer aspecto a considerar es saber que en el texto del código donde vayas a utilizar las sentencia Call, antes de usar Call hay que declarar la subrutina! Aquí el ejemplo sacado del archivo de ayuda de BASCOM:

$regfile = "m48def.dat" ' specify the used micro
$crystal = 8000000 ' used crystal frequency
$baud = 19200 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space

Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0

Dim A As Byte , B As Byte 'dimension some variables
Declare Sub Test(b1 As Byte , Byval B2 As Byte) 'declare the SUB program
A = 65 'assign a value to variable A
Call Test(a , 5)'call test with parameter A and constant
Test A , 5 'alternative call
Print A 'now print the new value
End

Sub Test(b1 As Byte , Byval B2 As Byte) 'use the same variable names as 'the declared one
Print B1 'print it
Print Bcd(b2)
B1 = 10 'reassign the variable
B2 = 15 'reassign the variable
End Sub

Analizemos el ejemplo! El primer bloque hasta el renglón con el "$framesize = 40" son datosde importancia para el compilador. El tipo de controlador usado, la frecuencia del reloj, aquí define la velocidad de la interfaz serial. Las siguientes 4 líneas son nuevas! A ver una explicación!

Cuando "llamas" una "subrutina" llama en inglés es call, el controlador requiere de espacio donde poner los datos que le quiere dar a la subrutina y requiere salvar el contenido de los registros en algún lugar. Imaginense esa memoria que reside en el SRAM del controlador, como un tubo físico vertical. El controlador toma cada dato, imagínatelo como un paquete y lo mete en el tubo. El primer paquete puesto en el tubo por lo tanto tiene que ser empujado hacia arriba por el segundo paquete y así hasta haber puesto todos los datos en el tubo. Digamos que en el caso de nuestra subrutina le estés pasando dos variables, A y B, entonces el programa empuja la variable A en el tubo y después la variable B. En la subrutina esta toma accesso a estas variables sacando los dos paquetes de este tubo. Así la variable que sale primero es la variable B y luega la C. Por eso es de importancia mantener el orden de las variables al llamar (Call) una subrutina con el orden definido en la declaración de la subrutina.

Ese "tubo" es lo que en inglés y en términos de programación de controladores se llama "stack". Definiendo el tamano de los stacks permite asegurar que el compilador haga los tubos del tamano que los vamos a necesitar. Si aquí hay un problema, es cuando resulta muy dificil encontrar la causa. El tamano indicado aquí es adecuado para la gran mayoría de programas. Si se trabaja mucho con subrutinas y/o funciones y con rutinas de servicio a interrupciones, entonces puede ser necesario definir un tamano mayor. Pero limitémosnos aquí asumiendo que el tamano reservado aquí es adecuado.

Te refiero buscar el término "Memory Usage" en la ayuda de BASCOM. A lo que dice allí me refiero ahora:

El compilador BASCOM por lo general no usa el SRAM para otro propósito que para poner de forma temporal el software stack y el frame. El software stack es el "tubo", la memoria, usada para pasar las variables del programa a la subrutina. En la ayuda de BASOM sobre "Memory usage" aparece cuanta memoria requieren los diferentes tipos de datos:

Cada 8 bits usan un byte
Cada variable del tipo byte usa un byte
Cada variable del tipo integer o word usa dos bytes
Cada variable del tipo Long o Single usa 4 bytes
Cada variable del tipo double usa 8 bytes
Cada ariable del tipo string usa mínimo 2 bytes.
Un string, o texto, de un largo de 10 por ejemplo usa 11 bytes. El décimoprimer byte indica el fin del string.

Existen aso especiales que requieren bastante mas memoria, allí os recomiendo estudiar la ayuda de BASCOM cuando sea necesario. En genereal es de recomendar tratar de pasar datos a subrutinas de un tipo que requiera poca memoria.

El tubo o memoria Frame es usado para guardar variables locales.
 
Gracias, e igualmente los mejores deseoa para eo 2011. Cuando acabes aprendiendo la sentencia "Call" tendras que publicar lo aprendido, pues a fondo no se todos los detalles, es especial como son en BASCOM. Lo not´r cuando trabaje en mi última respuesta.

En conceptos generales tengo la noción que subrutinas pueden existir en 2 variantes, la una siendo una subrutina con la opción de pasar datos a ella o no, y los datos siendo válidos loales o globales. La otra forma es como "función".. Como función la subrutina devuelve un resultado. Mas o menos así:

variable1 = funcionX(parámetro1, parámetro2)

Por eso tanto la función como la variable tienen que ser del mismo tipo de datos, por ejemplo "Byte", "Integer" u otro.

Saludos

Hellmut
 
Hola amigos

Aquí estoy varado por falta de medios económicos. Clientes que no pagan, el estado que busca y busca razones para demorar el tener que pagar los subsidios y finalmente nuestra irreponsabilidad por querer darle a los crios una navida y un ano nuevo que recuerden como evento familiar. así nos estamos manteniendo a flote reduciendo los consumos al máximo, lo que me hace mucho bien por permitirme bajar de peso.

Estoy por hacer los últimos pasos para terminar las luces de la iluminación indirecta de la cubierta, que ahora también incluye un sensor de humedad y temperatura digital en un empaque de 3x3mm con 6 pines! Para la programación no hago mas que adaptar los programas ejemplo del curso. ya verán cuando finalmente se recupere la situación económica hasta fin de mes.

Al amigoo genar lo quiero felicitar por lo dedicado que se dedica a aprender la programación. Es como en el colegio. Para poder gozar los libros de Cervantes primero hay que aprender a leer. Que no publique sus códigos es triste, pero no importa ya los pondré yo a su debido tiempo si se encuentra otro que quiera aprender usando este curso.

La materia de los XBees es un ejemplo muy especial de lo que es posible teniendo unos mínimos conocimientos de electrónica. Los módulos están estandardisados y así resulta que operarlos está dentro de lo permitido por la ley, haciendo así posible algo fantástico para nuestro hobby. Aquí deseo resaltar que el uso de los Arduinos u Amicos que el amigo josechu fomenta, hacen par especialmente bien con los módulos XBee. Estas soluciones son tan diminutas y tan bien adaptadas que la pareja de un Arduino/Amico y un XBee resultan fenomenales.

Así como mi velero recién estará navegable en el 2012, mi radio control demorará hasta que lo tenga disponible. En especial el anuncio de Microsoft de hacer disponible el sistema operacional Windows 8 en la plataforma ARM, adicionalmente a los procesadores de Intel, es una revolución con muchísimos beneficios para nosotros. Así el tiempo trabaja en mi favor, pues no empesaré con el radio control antes de tener navegable mi velero, o sea en 2013. Me imagino que para entonces pode beneficiarme de las experiencias de aquellos que ya se montan en la aventura con los XBee.

Para los cautelosos. A diferencia del curso de electrónica donde soy muy conservador poniendo énfasis en aprender las bases, los radio controles con el XBee se pueden realizar usando partes disponibles y beneficiandose de la inmensa cantidad de aficionados que presentaran y presentan sus soluciones en el internet. Adelante pues, que el éxito se puede alcanzar muy rápido.
 
Atrás
Arriba