Conectando Arduino a tu Computadora
Una luz que obedece la letra que escribes, y un botón que le contesta a la computadora.
Qué vas a encontrar
- Elegir la placa y el puerto
- Encender la luz con 1 y apagarla con 0
- La velocidad 9600, en los dos lados
- Un botón que avisa una sola vez
Una Arduino Uno es una computadora chiquita con patas de metal. Le escribes el programa en la computadora grande, se lo pasas por el cable, y a partir de ahí obedece sola. La luz de la placa es un bit que puedes ver: pasa corriente o no pasa.
Necesitas la placa, el programa Arduino IDE y un cable USB que pase datos. Hay cables que solo cargan. Esos encienden una lucecita y no hablan. En el menú elige “Arduino Uno” y el puerto que apareció al enchufarla. Si no aparece ningún puerto, casi siempre es el cable, no tu código.
Sube el primer programa. Abre el Monitor serie y pon la velocidad en 9600, la misma cifra de Serial.begin. Si no coinciden, se hablan en dos idiomas. Escribe 1 y envía: la luz se enciende y el monitor responde “Prendido”. Escribe 0: se apaga.
“Puerto no disponible” suele arreglarse cerrando el monitor serie antes de volver a cargar. Si la luz no cambia y el monitor calla, revisa el 9600.
El segundo programa suma el camino de vuelta. Un botón en el pin 2, con la resistencia interna de la placa, escribe “Tocaron” una sola vez. Una pata del botón al pin 2, la otra a GND. No hace falta comprar la resistencia.
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
char tecla = Serial.read();
if (tecla == '1') {
digitalWrite(LED_BUILTIN, HIGH);
Serial.println("Prendido");
}
if (tecla == '0') {
digitalWrite(LED_BUILTIN, LOW);
Serial.println("Apagado");
}
}
}const int BOTON = 2;
int anterior = HIGH;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
pinMode(BOTON, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
char tecla = Serial.read();
if (tecla == '1') {
digitalWrite(LED_BUILTIN, HIGH);
Serial.println("Prendido");
}
if (tecla == '0') {
digitalWrite(LED_BUILTIN, LOW);
Serial.println("Apagado");
}
}
int ahora = digitalRead(BOTON);
if (anterior == HIGH && ahora == LOW) {
Serial.println("Tocaron");
}
anterior = ahora;
delay(50);
}