<!DOCTYPE html>
<html><head>

<meta content="text/html" charset="utf-8" http-equiv="content-type"><title>entradas digitales</title>

<link rel="stylesheet" type="text/css" href="http://www.apuntesmareaverde.org.es/com/estilo.css">

</head>
<body >

<h1>Entradas digitales <br> ejercicioss con placa</h1>


<h2>Conexiones</h2>En la siguiente imagen puedes ver cómo está configurada la placa. Las entradas está a la izquierda si pones el puerto de conexión al ordenador hacia arriba. Observa que hay dos puntos de conexión por cada entrada<br /><img width="298" vspace="0" hspace="0" height="330" border="0" title="placa ptolosa" alt="placa ptolosa" src="http://vps422858.ovh.net/av19/file.php/5/robotica/placa_ptolosa.gif" /><br /><br />Hay que conectar una resistencia de <b>10kΩ</b> entre la entrada y negativo<u>.</u> El pulsador se conecta entre el positivo y la entrada (por eso las conexiones de las entradas están duplicadas).<br />En el siguiente dibujo se observa cómo debe quedar la conexión si miráramos la placa de lado:<br /><br /><img width="244" vspace="0" hspace="0" height="176" border="0" title="conexiones de entrada digital" alt="conexiones de entrada digital" src="http://vps422858.ovh.net/av19/file.php/5/robotica/entrada_dig_ptolosa.gif" /><br /><br />Cuando el <b>pulsador está pulsado</b> el valor del <b>pinentrada</b> (entrada es un número entre el 0 y el 7, dependiendo de la entrada que estemos usando) es <b>igual a 1</b>. <br />Si <b>no está pulsado</b> es igual a <b>0</b>.<br /> 
<h2>IF</h2>
<p>Las bifurcaciones condicionales van a ser la estrategia fundamental 
que usemos cuando
queramos que un robot interaccione con el entorno y se comporte de 
diferentes maneras según sea este. Una bifurcación condicional empieza 
con la palabra if y termina con la palabra endif. Para entenderla 
conviene traducir: if -&gt; si; then -&gt;entonces; else &gt; sino; 
endif -&gt; fin de la bifurcación
</p>

<b>if</b> condición <b>then</b><br>
instrucciones que se realizan si la concición se cumple<br>
<b>else</b><br>
instrucciones que se ejecutarán si la condición no se cumple<br>
<b>endif</b><br>
<p>La condición puede ser que se pulse un pulsador conectado a una 
entrada. Por ejemplo la condición pin6=1 significa que el pulsador 1 
está pulsado y pin6=0 significa que no está pulsado.</p>

<p>Ejemplo:
</p>
<pre>do; esto es para que se repita siempre en un bucle infinito
	
	if pin6=1 then; si el pulsador 6 está pulsado entonces
		high 1; enciende la salida 1
	else; sino
		low 1; apaga la salida 1
	endif; fin del if
	
loop; fin del bucle infinito
</pre>
 
<ol>
<li>
<h3>Ejercicio </h3>

<p>Escribe un programa que funcione como este ejemplo. Es muy parecido al anterior, pero funciona al pulsar la entrada 7. </p>
<iframe src="ej1.html" width="260" height="100px"></iframe>

</li>
<li>
<hr>
<h3>Ejercicio </h3>

<p>Escribe un programa que funcione como este ejemplo. Las salidas 
0,1,2,3 se encienden cuando pulsamos la entrada 6 y se apagan si no la 
pulsamos. </p>
<iframe src="ej2.html" width="260" height="100px"></iframe>

</li>
<hr>


<li>
<h3>Ejercicio </h3>

<p>Escribe un programa que funcione como este ejemplo. Al pulsar la entrada 7 se encienden unas salidas y al pulsar la 6 se apagan </p>
<iframe src="ej3.html" width="260" height="100px"></iframe>

</li>
<hr>

<li>
<h3>Ejercicio </h3>

<p>Escribe un programa que funcione como este ejemplo. Se comporta de una manera al pulsar la entrada 6 y de otra al pulsar la 7 </p>
<iframe src="ej4.html" width="260" height="100px"></iframe>

</li>
<hr>
<li>
<h3>Ejercicio </h3>

<p>Escribe un programa en el que si se pulsa el pulsador 6, se encienden
 todas las entradas de la 0 a la 7, y si se pulsa el 7 se encienden en 
orden inverso </p>
<iframe src="ej5.html" width="260" height="100px"></iframe>

</li>
<hr>

<h2>Operadores lógicos</h2>
<p> En las condiciones de un if se pueden usar operadores lógicos como and, or o no. Si unimos dos condiciones con un and, sólo se valorará como verdadera cuando se cumplan las dos  de manera simultánea. Mientras que si lo hacemos con un or, la condición se cumplirá cuando se cumpla cualquiera de las condiciones individuales. Por ejemplo:
</p>
<pre>
if pin6=1 and pin7=1 then; Para que esto se cumpla, deben pulsarse las dos entradas simultáneamente
</pre>



<hr>

<li>
<h3>Ejercicio </h3>

<p>Escribe un programa en el que para que se encienda el led 1 es necesario tener pulsado simultáneamente el pulsador 6 y el 7. Como con el ratón no podemos pulsar los dos simultáneamente, en el ejemplo el pulsador se queda rojo mientras está pulsado. La condición de estar pulsados el pulsador 6 y el 7 será: pin6=1 and pin7=1</p>
<iframe src="ej6.html" height="100px" width="260"></iframe>

</li>
<hr>
<li>
<h3>Ejercicio </h3>

<p>Escribe un programa como el del ejemplo. Suceden cosas distintas si se pulsa cada pulsador por separado o juntos. Como con el ratón no podemos pulsar los dos simultáneamente, en el ejemplo el pulsador se queda rojo mientras está pulsado. En este caso, hay tres condiciones diferentes. Una de lellas sería pin6=1 and pin7=0 (cuando queremos que funcione con la entrada 6 pulsada pero la 7 sin pulsar).</p>
<iframe src="ej7.html" height="100px" width="260"></iframe>

</li>
<hr>


<li>
<h3>Ejercicio </h3>

<p>Escribe un programa como el del ejemplo. Suceden cosas distintas si se pulsa cada pulsador por separado o juntos. Como con el ratón no podemos pulsar los dos simultáneamente, en el ejemplo el pulsador se queda rojo mientras está pulsado.</p>
<iframe src="ej8.html" height="100px" width="260"></iframe>

</li>
<hr>

<li>
<h3>Ejercicio </h3>

<p>Escribe un programa como el del ejemplo. Suceden cosas distintas si se pulsa cada pulsador por separado o juntos. Como con el ratón no podemos pulsar los dos simultáneamente, en el ejemplo el pulsador se queda rojo mientras está pulsado.</p>
<iframe src="ej9.html" height="100px" width="260"></iframe>

</li>
</ol>

