#include <SPI.h>
const int pinLed = 13;
const int pinButton = 12;
const int pinPWMLed1 = 14;
const int pinPWMLed2 = 27;
const int chipSelectedPIN = 10;
void LEDPWN(int, int);
void SPITest();
void setup() {
// GPIO
pinMode(pinLed, OUTPUT);
pinMode(pinButton, INPUT);
// PWM
pinMode(pinPWMLed1, OUTPUT);
pinMode(pinPWMLed2, OUTPUT);
// SPI
pinMode(chipSelectedPIN, OUTPUT);
Serial.begin(115200);
Serial.println("Iniciando");
Serial.println("Este mensaje a través del puerto Serial es posible a través de UART");
Serial.println("Cambiando intensidad con PWN en el LED");
LEDPWN(pinPWMLed1, 500, 10);
LEDPWN(pinPWMLed2, 500, 10);
}
void loop() {
if(digitalRead(pinButton) == HIGH) {
digitalWrite(pinLed, HIGH);
} else {
digitalWrite(pinLed, LOW);
}
}
void LEDPWN(int ledPIN, int interval, int step) {
int brillo = 0;
while (true) {
analogWrite(ledPIN, brillo);
delay(interval);
brillo += step;
if (brillo>255) {
brillo = 0;
break
};
}
}
void SPITest() {
char buffer[] = "Uryyb, FCV! ";
// SPI Transaction: envía el contenido de buffer y lo sobrescribe con los datos recibidos.
digitalWrite(chipSelectedPIN, LOW); // Activa el pin CS (Chip Select) para iniciar la transacción SPI.
SPI.begin(); // Inicia la configuración de la interfaz SPI.
SPI.transfer(buffer, strlen(buffer)); // Envia el contenido de buffer a través de SPI y sobrescribe buffer con los datos recibidos.
SPI.end(); // Finaliza la configuración de la interfaz SPI.
digitalWrite(CS, HIGH); // Desactiva el pin CS para finalizar la transacción SPI.
Serial.println("Data received from SPI device:");
Serial.println(buffer); // Imprime en el puerto serial los datos recibidos a través de SPI.
}