MICROCONTROLADORES II - SA26-2
Diagrama de temas
- BIENVENIDA
BIENVENIDA
En esta sección el docente dará la bienvenida al estudiante a través de un mensaje explicito y cordial, acorde a su nivel profesional e integral.
También puede incluir una imagen alusiva a la bienvenida
- COMPETENCIA ESPECíFICA
- DATOS DEL DOCENTE:Tema actual
DATOS DEL DOCENTE:
Profesor: Gil Mendez
Sección Según la Especialidad:
Semestre: Quinto
Datos de Contacto:
* Número de Teléfono: 0424 5158770
* WhatsApp:
* Correo: mendezgil40@gmail.com
HORARIO DE ASESORÍA:
Asesoría: Explicación para actividades o contenidos asignados.
– De 00:00 AM A 00:00 PM y de 00:00 PM a 00:00 PM
Observación:
- CRONOGRAMA DE EVALUACIÓN
- I CORTE: El docente debe colocar en esta zona cuando inicia y termina el Módulo
- Semana No. 16
Semana No. 16
SALIDAS ANALOGICAS DEL ARDUINO
-Pines Analógicos:
Los pines analógicos pueden medir un rango de valores de voltaje, a diferencia de los digitales que solo entienden dos valores: 0-1, o lo que es lo mismo, 0V o 5V.
Con los pines analógicos vamos a poder leer valores intermedios entre 0V y 5V, representados con un valor entero comprendido entre 0 y 1023, ya que la información se representa en números de 10 bits, y también vamos a poder escribir en los pines valores comprendidos entre 0 y 255, ya que la información se representa en números de 8 bits.
En el punto anterior hemos hablado sobre pines digitales, si te fijas en ellos verás que aparecen algunos con el símbolo “~” en la placa, este símbolo indica que pueden ser utilizados también como pines analógicos.
Modulación por ancho de pulso PWM
PWM significa Pulse Width Modulation (Modulación por Ancho de Pulso). Es una técnica para simular una salida analógica usando señales digitales.
Un pin PWM alterna rápidamente entre HIGH (5V) y LOW (0V). El ciclo de trabajo (duty cycle) determina cuánto tiempo está en HIGH:
0→ 0% (siempre LOW, 0V)128→ 50% (mitad del tiempo HIGH)255→ 100% (siempre HIGH, 5V)
realizar el siguiente ejercicio, usando el simulador Proteus y el programa de Arduino
const int PIN_LED = 9; void setup() { pinMode(PIN_LED, OUTPUT); } void loop() { // Sube de 0 a 255 for (int b = 0; b <= 255; b++) { analogWrite(PIN_LED, b); delay(8); } // Baja de 255 a 0 for (int b = 255; b >= 0; b--) { analogWrite(PIN_LED, b); delay(8); } } - Semana No.17
Semana No.17
Salidas Analógicas del Arduino
Si se observa la placa Arduino, notamos que ciertos pines están marcados como A0 A1 A1 etc (Analogic In). Esas son las entradas analógicas de Arduino, y están presentes en todas las placas Arduino, pudiendo variar la cantidad de ellas de acuerdo al modelo de Arduino.
La función de estas entradas, es digitalizar las señales analógicas que allí coloquemos. Los pines de entrada analógica de Arduino permiten leer valores analógicos que se convertirán en valores dentro del rango de 0-1024, (2 elevado a la 10). Se trata de una conversión analógica digital de 10 bits.
monte el siguiente circuito en el programa arduino.
int valor = 0; // Variable donde almacenaremos el valor del potenciometro
void setup() {
Serial.begin(9600); // Inicializamos la comunicación serial
}
void loop() {
valor = analogRead(A0); // Leemos del pin A0 valor
// Imprimimos el valor por el monitor serie (0 - 1023)
Serial.print("Valor analogico : ");
Serial.println(valor);
delay(1000);
}
- Semana No. 18
Semana No. 18
Display 7 segmentos y arduino
Conexión Ánodo común
Cada segmento (a, b, c, d, e, f, g) necesita una resistencia de 220Ω en serie con el pin del Arduino.
ejemplo para contar del 0 al 9
// Pines: a, b, c, d, e, f, g int pines[] = {2, 3, 4, 5, 6, 7, 8}; // 1 = encendido (cátodo común) // Orden: a b c d e f g byte digitos[10][7] = { {1,1,1,1,1,1,0}, // 0 {0,1,1,0,0,0,0}, // 1 {1,1,0,1,1,0,1}, // 2 {1,1,1,1,0,0,1}, // 3 {0,1,1,0,0,1,1}, // 4 {1,0,1,1,0,1,1}, // 5 {1,0,1,1,1,1,1}, // 6 {1,1,1,0,0,0,0}, // 7 {1,1,1,1,1,1,1}, // 8 {1,1,1,1,0,1,1} // 9 }; void setup() { for (int i = 0; i < 7; i++) pinMode(pines[i], OUTPUT); } void mostrar(int n) { for (int i = 0; i < 7; i++) digitalWrite(pines[i], digitos[n][i]); } void loop() { for (int n = 0; n <= 9; n++) { mostrar(n); delay(1000); } } - Semana No. 19
Semana No. 19
DISPLAY 7 SEGMENTOS DOBLES
un Ejemplo de programación.
const int pins[7] = { 2, 3, 4, 5, 6, 7, 8 }; //Declaramos los numeros para el ánodo común const byte numbersDisplayAnode[10] = {0b1000000, //0 0b1111001, //1 0b0100100, //2 0b0110000, //3 0b0011001, //4 0b0010010, //5 0b0000010, //6 0b1111000, //7 0b0000000, //8 0b0010000}; //9 const int nbrDigits = 2; // digits 1 2 const int digitPins[nbrDigits] = {10,11}; void setup() { for(int i = 0; i < 8; i++) { pinMode(pins[i], OUTPUT); } for(int i = 0; i < nbrDigits; i++) { pinMode(digitPins[i], OUTPUT); } } void loop() { for(int i = 0; i < 100; i++ ){ showNumber(i); delay(1); } } void showNumber(int number) { if(number == 0) { showDigit(0, nbrDigits-1); } else { for(int digit = nbrDigits-1; digit >= 0; digit--) { if(number > 0) { showDigit(number % 10, digit); number = number / 10; } } } } void showDigit(int number, int digit) { digitalWrite(digitPins[digit], HIGH); byte numberBit = numbersDisplayAnode[number]; for (int i = 0; i < 7; i++) { int bit = bitRead(numberBit, i); digitalWrite(pins[i], bit); } delay(5); digitalWrite(digitPins[digit], LOW); - Semana No. 20
Semana No. 20
EVALUACION FINAL
Realice un programa de Arduino que al recibir
una señal activa
en el pin de entradas digitales 6. active los leds
del cero al cinco en intervalo de medio segundo.
y si recibe una señal activa en el pin 7, los leds
en los pines 8 y 9 parpadean durante dos segundos.
- Semana No. 6
- Semana No. 7
- Semana No. 8
- Semana No. 9
- Semana No. 10
