PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut1956

Todo lo relacionado con la eléctronica en nuestros barcos
Responder
Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1305
Registrado: Sab Nov 29, 2008 2:06 pm
Ubicación: Mammendorf, Alemania

Re: PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut

Mensaje por Hellmut1956 »

Acabó de compar la conexión de tu pantalla con la mía, son prácticamante idénticos! Puedas usarla tal cual está descrito en el curso!

Ya has realizado la tarea de programación?

Cuando la tengas completada puedes hacer el próximo paso y conectar la pantalla! Vas a ver la maravilla de cosas que eso permite!
--------------------
Saludos Hellmut
Avatar de Usuario
Genaro Miranda
Incondicional
Incondicional
Mensajes: 896
Registrado: Mar Feb 09, 2010 1:57 am
Ubicación: Mexico,D.F.
Contactar:

Re: PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut

Mensaje por Genaro Miranda »

muy bien! :D No hice las tarea al rato le voy hacer....... :wink:Y mañana las publico.
Avatar de Usuario
Genaro Miranda
Incondicional
Incondicional
Mensajes: 896
Registrado: Mar Feb 09, 2010 1:57 am
Ubicación: Mexico,D.F.
Contactar:

Re: PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut

Mensaje por Genaro Miranda »

Hola hellmult1956.

estos es el programa 1 para saber como cambia el led intermitente ahi te dejo un video como practica.
ahorita te mando otros video de mi tarea..... :wink:


" onclick="window.open(this.href);return false;


Saludos a todos!!
Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1305
Registrado: Sab Nov 29, 2008 2:06 pm
Ubicación: Mammendorf, Alemania

Re: PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut

Mensaje por Hellmut1956 »

Mira Genaro, genial! Es que todas esas discuciones no llevan para ningun lado. Construyendolo como lo has hecho, prueba de que no es magia, ya puedes experimetar. Todo el asunto de como usar BADSCOM! Mirarse tu video y a quién no le va ser claro como funciona! Te estoy muy agradcido por haber llegado a este punto. Tu ejemplo explica mas sobre el proposito de la tarjeta experimental que libros completos con explicaciones!

La "tarea", por llamarla de algun modo, tiene la intención de mostrar como, con algo muy sencillo en lo que a la programación se refiere, se puede lograr decirle a la tarjeta que hacer sin tener que volver a programarla! Y recuerda, recién son 2 de los 12 programas ejemplo que existen del ciclo de instrucción básico y ya que maravillas se pueden hacer!

Para no confunfir por mi entusiasmo. Hasta ahora has aprendido:

1. Definir un pin como salida.

Así pudiste hacer que el LED blinquee.

2. Definir un pin como entrada

Así pudiste encender y apagar un LED movinedo un interruptor. Parece un bobada. Pro con ese ejemplo pudimos lograr que el programa note como cambiamos la posición de un interruptor y usar eso como instrucción para hacer algo que queremos.

3. Haciendo la tarea aprendemos como le podemos, con solo 2 interruptores decirle, que haga una de 4 cosas que queremos! En cierta forma eso ya es un 90% de lo que necesitamos para poder controlar un motor.
--------------------
Saludos Hellmut
Avatar de Usuario
Genaro Miranda
Incondicional
Incondicional
Mensajes: 896
Registrado: Mar Feb 09, 2010 1:57 am
Ubicación: Mexico,D.F.
Contactar:

Re: PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut

Mensaje por Genaro Miranda »

MPG1 es el tamaños del video....porque? Fijate no pude mi tarea a ver vengase jochesus y captroya como los haces? :?
Saludos!!
Avatar de Usuario
Genaro Miranda
Incondicional
Incondicional
Mensajes: 896
Registrado: Mar Feb 09, 2010 1:57 am
Ubicación: Mexico,D.F.
Contactar:

Re: PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut

Mensaje por Genaro Miranda »

Hola hellmult1956.

buenos estas es la tarea pero estas dificil programar...... :roll:


'******************************************************
'Projekt: Atmel-Tarjeta Experimental
'
'Prozessor: ATMega 8-16
'Bascom-Version: 1.11.9.8
'
'Programm 2: Tarea
'
'Hardware:
'Interuptor conectado al Pin Port D.0 y Port D.1
'LED al Pin Port D.7
'
'25-octubre-2010 Genaro Miranda
'
'******************************************************

'======================================================
'Konfiguración de Sistema
'======================================================
'Definición del Mega 8
$regfile "m8def.dat"

'Indicación de la frecuencia de operación del controlador (1Mhz)
$crystal = 1000000

'======================================================
'Configuraciones
'======================================================
Config Portd.0 = Input
Config Portd.1 = Input
Config Portd.7 = Output

'======================================================
'Declaraciones
'======================================================
'

'======================================================
'Inicialisaciones
'======================================================
Portd.0 = 0
Portd.1 = 0
Portd.7 = 0

Portd.0 = 0
Portd.1 = 1
Portd.7 = 1

Portd.0 = 1
Portd.1 = 0
Portd.7 = 1

Portd.0 = 1
Portd.1 = 1
Portd.7 = 1


'======================================================
'Programa principal
'======================================================

Do

'Lo que hay que considerar:
'El circuito del PIN ha sido negado por las resistencias Pullup!
'Interruptor en "ON" -> 0V en la entrada
'0V voltios en la salida -> LED ilumina

'Cuando .... entonces
If Pind.0 = 0 Then

' ...Cambio del estado del Pin Port D.7...
Toggle Portd.7
'...después esperar 3 segundos
Wait 3

'...en otro caso...
Else
'LED conectado a D.7 OFF
Portd.7 = 1
End If
Loop




'Fin del programa
End
Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1305
Registrado: Sab Nov 29, 2008 2:06 pm
Ubicación: Mammendorf, Alemania

Re: PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut

Mensaje por Hellmut1956 »

Hola amigo Genaro

Si no lo supiera mejor,casi parece que estamos orquestrando nuestro diálogo aquí en este hilo! porque digo esto? Por tu explicación y el ejemplo del código publicado!

Haber:

Lo que me pareceindicar el ejemplo de código publicado es que no estas replicando aquellas partes del código del ejemplo 1 y 2 que se necesitan! Que necesitamos?

Empecemos poniendo aquí la tarea, el objetivo! Lo he modificado algo para dejarmenos libertades al programador y para que el efecto visual sea evidente!

Usar 2 pines para escoger cual función queremos que el programa haga.
Que queremos que haga? Queremos darle 4 funciones de las que escogeremos una dependiendo delaposición de los dos interruptores. Recuerden lo que escribe el amigo josechi sobre cuantos valoresy como sepueden representar con 2 bits!

Función 0: Blinquear una vez cada 5 segundos.
Función 1: Blinquear dos veces cada 5 segundos por medio segundo.
Función 2: Blinquear cuatro veces cada 5 segundo por medio segundo.
Función 3: Blinquear diez veces cada 5 segundos por medio segundo.


Fin de lo que es la tarea.

Ahora daré indicaciones sin presentar el programa como ayuda! Si tienen problemas,pregunten aquí y no en la dirección de correo que permite hacerlo deforma anónima para elresto del foro. La razón.Son las preguntas y las respuestas que tengo como objetivo ayuden a terceros y comuniquen como programar aquí!
Haber las ayudas ahora:

1. Debemos saber la posición de los interruptores que se encuentran conectados a aquellos pines que vamos a utilizar de entrada! Sigue la parte del código del programa 1 del curso de la parte de la software:

*******************************
If Pind.0 = 0 Then

   ' ...Cambio del estado del Pin Port D.7...
   Toggle Portd.7
   '...después esperar 3 segundos
   Wait 3

'...en otro caso...
Else
   'LED conectado a D.7 OFF
   Portd.7 = 1

'...y listo!
End If
*******************************

Saben que a la cabeza del programa hay que definir los pines que se van a utilizar como entradas y salidas. Una vez hecho esto, ahora como decodificarlo?

Miremos primero el código:

If Pind.0 = 0 Then Toggle portd.7 else … endif

Aquí preguntamos si un pin definido como entrada tiene un cierto valor. Si esto es el caso, Pind.0 es igual a 0 entonces efecutamos la sentencia “Toggle …”, que es lo que aparece inmediatamente después hasta el “else”.
Si esto no es el caso, entonces el programa hará lo que aparece de código despues del “else”. “else” significa en Inglés si no fue lo que pregunté antes, entonces has lo siguiente …” Lo siguiente es todo aquello que aparece antes del “End If”. El “End If” nos indica que allí termina todo lo relacionado a aquello que le sigue al “If”!

Pues bien en nuestro caso no solo queremos saber el valor que aparece en la entrada del Pin “Pind.=0”, sinó también lo que aparece a la entrada de otro Pin, digamos “Pind.1”

Por lo tanto tenemos que ampliar la interrogación de los pines de entrada de un Pin a dos Pines. Hay varias formas de hacerlo, pero quiero que lo hagamos usando lo que hemos aprendido hasta este punto! Intentémoslo y asumemos que hemos puesto los interruptores correspondientes a los Pines Pind.0 y Pind.1 en tal posición que la entrada indique un “0”!

01: If Pind.0 = 0 then
02: If Pind.1 = 0 then
03: Función 1
04: Else
05: Función 2
06: End If

Que hemos logrado con los primeros dos renglones que me he tomado la libertad de anteponer dígitos que representan el número de renglón y que no se escriben en el programa a compilar, pero que aparecen en el editor de BASCOM?

Pues que el programa va ejecutar las sentencias que aparecen inmediatamente despues del segundo “then” hasta el próximo “Else” únicamante en el caso que:

Pind.0 = 0 sea verdad y Pind.1 = 0 también sea verdad, lo que representa el valor decimal “0”. Pues que queremos que haga en este caso? Pues la función 0 de nuestra tarea! Pues hay que escribir usando el código correspondiente del programa 2 despu´s de adptarlo como Genaro ha mostrado en su vidéo, pero con otros truquitos!

**************
Toggle Portd.7
'...después esperar 3 segundos
Wait 3
**************

Pues aquí hay que adaptar los tiempos como lo ha hecho Genaro en su vidéo! Pero hay que hacerlo para esperar los 5 segundos y para definir el tiempo de parpadeo!

Asumamos que sto ha sido programado. Eso se puede verificar, poniendo los interruptores en la posición “0” de los pines Portd.0 y Portd.1! Ahora hay que seguir con la tarea!

Mirémosnos el código hasta este momento y tomemos el supuesto que ahora que el

Pind.0 = 0 y el Pind.1 = 1, lo que representa el cvalor decimal “1”

Que va hacer el controlador? Pues el primer If Pind.0 = 0 sigue siendo verdad,pero el Pind.1 = 0 no es verdad, pues ahora hemos puesto el interruptor en la posición que equivale a un “1” en la entrada de este Pin!

Pues hace lo que hemos dicho antes, sigue ejecutando las sentencias que aparecen detrás del “else”. Si no hay “else”, o no hay sentencias entre el “else” y el “End If”, pues todo el “If … Then … End If ha sido completado y el programa sigue ejecutando la sentencia que aparezca despues del “End If”!

En nuestro caso le decimos que hacer por Pind.1 no siendo “=0”, o sea la alternativa Pind.1 = 1.

Que es eso? Pues la Función 1!
Hay que hacer esto de la misma forma como hicimos la función 0!

Vamos ahora a trabajar en las funciones 2 y 3. Son aquellas funciones que tienen en común que el Pind.0 no sea igual a “0”, sino “1”!

01: If Pind.0 = 0 then
02: If Pind.1 = 0 then
03: Función 1
04: Else
05: Función 2
06: End If
07: Else
08: If Pind.1 = 0 then
09: Función 3
10: Else
11: Función 4
12: End If
13: End IF

Ahora en detalle! Como pueden ver he movido el contenido de la segunda línea del código por 2 posiciones hacia la derecha, porque? Porque así me es posible “ver” si la sentencia “IF …” ha sido completada como debe ser con su “End If” correspondiente”. Esoe truquito ayuda mucho no perderse! Si se olvida un “End If” por ejemplo,entonces BASCOM al compilar el programa hará reporte de este error!

Asumemos que ahora hemos puesto a la entrada de los Pines:

Pind.0 = 1 y Pind.1 = 0

Esto equivale al valor decimal “3”. Observemos lo que hace el programa!

En el primer If Pind.0 = 0 es falso, por lo que la ejecución del programa salta a la sentencia que le sigue al “Else” de este “If”, que es el primer “Else” que aparece en la primera posición del renglon después del “If”, en el renglón “07:”.La sentencia que ejecuta es la en el renglón “08:” Alli pregunta si en la entrada de Pind.1 aparece un “0”, en tal caso ejecuta la función 3 que empieza en el renglón “09:”. Si el valor en la entrada del Pind.1 = 1 es verdad, entonces será la primera sentencia de la función 4!

Como pueden ver no hemos hecho otra cosa que usar la sentencia
“If … Then … Else … End If” del primer programa!

Como indicativo como realizar las funciones hago referencia a la sentencia usada tanto en el programa 1, como en el 2, y es la sentencia “wait”. Además la función “Toggle”, que significa invertir la salida logrando así ilumnar o apagar el LED. Tambien podemos hacerlo asignandole a la salida el valor directamente con la sentencia

Portd.7 por ejemplo:

Pord.7 = 1 o Portd.7 = 0

A ver si ahora resulta!
--------------------
Saludos Hellmut
Avatar de Usuario
Genaro Miranda
Incondicional
Incondicional
Mensajes: 896
Registrado: Mar Feb 09, 2010 1:57 am
Ubicación: Mexico,D.F.
Contactar:

Re: PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut

Mensaje por Genaro Miranda »

Hola amigo hellmult1956.

Gracias hellmult1956,bueno ahora ire chekeando los programa y al rato te digo dime en el bascom hay algun menu de ayuda que te explike las instrucciones bacic ke se usan??? me tengo que practicar muchos y estudiar hasta que se afloje mi cabeza.jejeje.

Saludos a todos!!!!
Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1305
Registrado: Sab Nov 29, 2008 2:06 pm
Ubicación: Mammendorf, Alemania

Re: PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut

Mensaje por Hellmut1956 »

Bueno, si no fueras modelista naval pensaría que no tienes la paciencia! También esto de programar requiere paciencia y perseveancia!

Aquí el enlace al manual de BASCOM en Ingles. Lo maas importante allí es saber que sentencias existen y que formato usan estas y que opciones tienen. Usando google y busacando por los términos "BASCOM MABUAL ESPANOL" se encuentra la traducción de un manual de BASCOM al Espanol, pero para la versión de los controladores "8051", otra familia de controladores aparte de los "Atmel " y los "PIC".
--------------------
Saludos Hellmut
Avatar de Usuario
Genaro Miranda
Incondicional
Incondicional
Mensajes: 896
Registrado: Mar Feb 09, 2010 1:57 am
Ubicación: Mexico,D.F.
Contactar:

Re: PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut

Mensaje por Genaro Miranda »

Hola amigo hellmult1956.

Estuve estudiando la setencia ELSE,toggle y If then pero no entiendo que para que sirve o me podria explicar sobre un diagrama de flujo para entenderlo la verdad ayer estuve todo el dias viendo pegando mi BASCOM.sin embargo aparece abajo error de ELSE y sin esto ya no aparece error y no compila y de ahi me puse a estudiar todos el dias..... :cry: Imaginate para mis amigo ni los vas a entender ni menos para estos,la verdad si estas dificil las setencia de programacion. adjunto mi tarea de programa y checa cual estas mal. :cry:




'******************************************************
'******************************************************
'Proyecto: Programación del Controlador Atmel para Novatos
'
'Controlador: ATMega 8-16
'Bascom-Versión: 1.11.9.5
'
'Programa 3: 2 Entrada (interruptor) y 1 salida (LED)
'
'Hardware:
'Interruptor Port D.0 y Port D.1 (Entrada)
'LED conectado a Port D.7 (Salida)
'
'26-Octubre-2010 Alumno:Genaro Miranda Santiago
'
'******************************************************

'======================================================
'Configuración del sistema
'======================================================
'Definiciones para el Mega 8
$regfile "m8def.dat"

'Definición del la frecuencia (1Mhz)
$crystal = 1000000

'======================================================
'Configuraciones
'======================================================
Config Portd.0 = Input
Config Portd.1 = Input
Config Portd.7 = Output

'======================================================
'Declaraciones
'======================================================
'

'======================================================
'Inicialización
'======================================================
Portd.0 = 0
Portd.1 = 0
Portd.7 = 0

Portd.0 = 0
Portd.1 = 1
Portd.7 = 1

Portd.0 = 1
Portd.1 = 0
Portd.7 = 1

Portd.0 = 1
Portd.1 = 1
Portd.7 = 1



'======================================================
'Bucle principal del Programa
'======================================================

Do

'lo que hay que considerar:
'El circuito del PIN ha sido negado por las resistencias Pullup!
'Interruptor en "ON" 0 V. en la entrada
'0V voltios en la salida LED ilumina

'Cuando.....entonces
If Pind.0 = 0 Then
If Pind.1 = 0 Then
'Funcion 1
Else
'Funcion 2
End If
If Pind.1 = 0 Then
'Funcion 3
Else
'Funcion 4
End If



'...Cambio del esdtado del Pin Port D.7...
Toggle Portd.7

'...despues esperar 5 segundos
Wait 5
'..en otros caso...

Else

'LED conectado a D.7 OFF
Portd.7 = 1
'...y Listo!

End If

Loop

'Fin de programa
Avatar de Usuario
Genaro Miranda
Incondicional
Incondicional
Mensajes: 896
Registrado: Mar Feb 09, 2010 1:57 am
Ubicación: Mexico,D.F.
Contactar:

Re: PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut

Mensaje por Genaro Miranda »

Y tambien tengo duda estos? :?:



'lo que hay que considerar:
'El circuito del PIN ha sido negado por las resistencias Pullup!
'Interruptor en "ON" 0 V. en la entrada
'0V voltios en la salida LED ilumina


Estuve estudiando sobre estos:

Pull-Up Que lleva hacia arriba o sea quiere decir de Cero a Uno.

Espero que me regane y me repruebe mi calificacion ya que jochesus y captroya se esconde. :cry:
Saludos a todos compañero!!!
Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1305
Registrado: Sab Nov 29, 2008 2:06 pm
Ubicación: Mammendorf, Alemania

Re: PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut

Mensaje por Hellmut1956 »

Bueno amigo

ya voy viendo mas claro sobre el nivel de conocimientos. Aquí una imagen un diagrama de flujo de la sentencia "If ... Then ... Else ... End If"

Imagen

hay algo que debo decir, y no es que no quiera ayudar. Tienes que comprarte un libro de programación "Basic", donde puedas aprender lo sconocimientos báasicos delas sentencias de un programa. No creo que el for pueda ser lugar para instruir como programar, cuando de ciertos conocimientos muy básicos se trata. Existen, tanto en el internet, como en libros, como en lugares de educacion de adultos, mil posibilidades de aprender estos conocimientos elementales de programación, sin los cuales es imposible usar controladores y electrónica con estos de forma autónoma.

Sentencias como el "If ... The ... else .. End If" y otras son básicas y aparecen en todo slos idiomas de programación y en todos las herramientas de programación para todos lo controladores. No es dificil y hay quienes saben comunicar estos conocimientos básicos pero indispensables. No te dejes asustar. Los conocimientos sobre la estructura de un programa, de las sentencias básicas es algo que se puede aprender en cosa de días. Una vez que tengas esos conocimientos, entonces nos podemos dedicar a aplicarlos aquí!
--------------------
Saludos Hellmut
Avatar de Usuario
Genaro Miranda
Incondicional
Incondicional
Mensajes: 896
Registrado: Mar Feb 09, 2010 1:57 am
Ubicación: Mexico,D.F.
Contactar:

Re: PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut

Mensaje por Genaro Miranda »

Maestro hellmult estoy estudiando necesito mas tiempo como siempre y un dolor de cabeza que tengo pero horrible,horrible,horrible ya veras me tengo que resolver estas ecuacion que me dejo jochesus ,si pura logica nada mas. :shock:

Saludos a todos! :wink:
Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1305
Registrado: Sab Nov 29, 2008 2:06 pm
Ubicación: Mammendorf, Alemania

Re: PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut

Mensaje por Hellmut1956 »

Gracias Genaro por reaccionar así! Claro que esto requiere su tiempo y cuando quieras conersar sobre alguna duda u otro aspecto aquí estoy!
--------------------
Saludos Hellmut
Avatar de Usuario
josechu
Miembro Leal
Miembro Leal
Mensajes: 1407
Registrado: Mar Oct 20, 2009 8:14 pm
Ubicación: Illescas (Toledo)

Re: PROYECTOS PRACTICOS CON TARJETA EXPERIMENTAL POR Hellmut

Mensaje por josechu »

Hola chicos,
haber, si no lo sabeis, os informo que existe un manual del Bascom en Español, y es bastante bueno,
en el que se explica muchas de las sentencias del basic.
se puede bajar, en unas de las direcciones que facilitó Hellmut, en estos días de atras.

saludos.
Responder