Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ARQUITECTURA DE COMPUTADORAS 1
ALUMNOS:
2
1. INTRODUCCION
Las consignas a seguir para el primer trabajo práctico eran las siguientes:
1) Codificar un programa que configure un puerto E/S como salida y que cambie su
estado cada un segundo. Conectar un LED externo o utilizar el disponible para
propósito general en la placa Galileo. El LED externo debe conectarse al puerto
a través de una resistencia de 1 KΩ.
2) Codificar un programa que configure dos puertos E/S como salida y que
cambien sus estados cada un segundo. Los estados serán opuestos. Conectar dos
LEDs externos o utilizar uno externo y el disponible para propósito general en la
placa Galileo. Los LEDs externos deben conectarse a los puertos a través de
resistencias de 1 KΩ.
3) Codificar un programa que configure un puerto E/S como entrada y conectar un
pulsador al mismo a través de una resistencia de pull-up de 10 KΩ. El programa
debe modificar el estado de un LED externo o del disponible para propósito
general en la placa Galileo, según el estado presionado o no presionado del
pulsador. El LED deberá encenderse cuando el pulsador sea presionado, y se
apagará cuando no se presione.
4) Codificar un programa que configure un puerto E/S como salida. Conectar un
LED externo o utilizar el disponible para propósito general en la placa Galileo.
El LED externo debe conectarse al puerto a través de una resistencia de 1 KΩ.
Configurar un puerto E/S como entrada y conectar un pulsador al mismo a través
de una resistencia de pull-up de 10 KΩ. Al iniciar el programa, el LED tendrá un
tiempo de apagado de 500 mseg y tiempo de encendido de 500 mseg. Cuando el
pulsador sea presionado, el tiempo de encendido se incrementará en 100 mseg
3
hasta llegar a 1500 mseg. En caso de superarse los 1500 mseg, se retornará al
valor 500 mseg.
5) A todos los ejercicios anteriores se deberá incluir el envío de mensajes al
monitor serie del estado de los LEDs y sus respectivos tiempos de encendido y
apagado, y estado del pulsador.
2. DESARROLLO
4
delay(1000); // Se establece el tiempo de apagado
5
2.2.3. Monitor serie:
void setup() {
pinMode(2, OUTPUT);
void loop() {
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000);
6
2.3.1. Código en IDE Arduino:
void setup() {
void loop() {
7
2.3.3. Monitor serie:
void setup() {
pinMode(2, OUTPUT);
pinMode(8, OUTPUT);
void loop() {
digitalWrite(2, HIGH);
digitalWrite(8, LOW);
delay(1000);
digitalWrite(2, LOW);
digitalWrite(8, HIGH);
8
2.4. RESOLUCION DEL ENUNCIADO Nº 3
void setup() {
void loop() {
if (buttonState == LOW) {
else {
9
10
2.4.3. Monitor serie:
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == LOW) {
digitalWrite(ledPin, HIGH);
Else {
digitalWrite(ledPin, LOW);
11
2.5. RESOLUCION DEL ENUNCIADO Nº 4
void setup() {
void loop() {
delay(var); // El tiempo de
encendido depende del valor de var.
if (buttonState == LOW) {
var = var + 100; //Si se cumple la condición se le suman 100 mseg de encendido
if (var > 1500) { // En caso que el delay supere los 1500 mseg lo reinicia en 500
mseg.
var = 500;
12
}
void setup() {
void loop() {
digitalWrite(ledPin, HIGH);
delay(var);
digitalWrite(ledPin, LOW);
13
delay (500);
buttonState = digitalRead(buttonPin);
if ((buttonState == LOW)&&(var<1500)) {
var = 500;
14
15