Introduction
Codigo en Arduino
copia mientras aprendes
Aqui encontraras codigos muy utiles que podras juntas a tu aplicacion, solo copia y pegalo en tu codigo. en este apartado copia los diferentes codigos , pero no solo copia, sino tambien analiza lo que copias.

Marcha Imperial
Tetris
Pitido para parlante en el pin 3
Robot controlado por bluetooth
#include <SoftwareSerial.h>
SoftwareSerial bluetooth(5,4);//18,19
char letra;
#define pwm_A 11
#define m1A 10
#define m2A 9
#define pwm_B 6
#define m1B 7
#define m2B 8
int velo = 255;
#define spk 3
void setup () {
bluetooth.begin(9600);//115200
pinMode(m1A,OUTPUT);
pinMode(m2A,OUTPUT);
pinMode(m1B,OUTPUT);
pinMode(m2B,OUTPUT);
pinMode(spk,OUTPUT);
avanzar();
delay(700);
detener();
}
void loop () {
if (bluetooth.available()){letra = bluetooth.read();}
if(letra=='W'){avanzar();}
if(letra=='S'){reversa();}
if(letra=='A'){derecha();}
if(letra=='D'){izquierda();}
if(letra=='T'){detener();}
if(letra=='1'){velo=0;}
if(letra=='2'){velo=140;}
if(letra=='3'){velo=160;}
if(letra=='4'){velo=200;}
if(letra=='5'){velo=255;}
if(letra=='X'){pitidoAlerta();}
}
void avanzar(){
analogWrite(pwm_A,velo);
digitalWrite(m1A,HIGH);
digitalWrite(m2A,LOW);
analogWrite(pwm_B,velo);
digitalWrite(m1B,HIGH);
digitalWrite(m2B,LOW);
}
void detener(){
analogWrite(pwm_A,0);
digitalWrite(m1A,LOW);
digitalWrite(m2A,LOW);
analogWrite(pwm_B,0);
digitalWrite(m1B,LOW);
digitalWrite(m2B,LOW);
}
void izquierda(){
analogWrite(pwm_A,velo);
digitalWrite(m1A,LOW);
digitalWrite(m2A,HIGH);
analogWrite(pwm_B,velo);
digitalWrite(m1B,HIGH);
digitalWrite(m2B,LOW);
}
void derecha(){
analogWrite(pwm_A,velo);
digitalWrite(m1A,HIGH);
digitalWrite(m2A,LOW);
analogWrite(pwm_B,velo);
digitalWrite(m1B,LOW);
digitalWrite(m2B,HIGH);
}
void reversa(){
analogWrite(pwm_A,velo);
digitalWrite(m1A,LOW);
digitalWrite(m2A,HIGH);
analogWrite(pwm_B,velo);
digitalWrite(m1B,LOW);
digitalWrite(m2B,HIGH);
}
void pitidoAlerta() {
tone(spk, 1000, 200); // 1000 Hz por 200 ms
delay(250);
noTone(spk);
delay(250);
}
Medir distancia con Ultrasonido
// ---------- PINES ----------
const int trigPin = 9; // Trig del sensor ultrasónico
const int echoPin = 10; // Echo del sensor ultrasónico
const int buzzerPin = 8; // Buzzer
const int ledPin = 7; // LED
// ---------- VARIABLES ----------
long duracion;
int distancia;
unsigned long tiempoAnterior = 0;
const int DISTANCIA_MAX = 30; // Distancia (cm) a la que empieza a sonar
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
distancia = medirDistancia();
// Ver la distancia en el Monitor Serie
Serial.print("Distancia: ");
Serial.print(distancia);
Serial.println(" cm");
if (distancia > 0 && distancia <= DISTANCIA_MAX) {
// Convierte la distancia en velocidad de pitido:
// a 30 cm -> pitido cada 500 ms | a 2 cm -> pitido cada 60 ms
int intervalo = map(distancia, 2, DISTANCIA_MAX, 60, 500);
intervalo = constrain(intervalo, 60, 500);
if (millis() - tiempoAnterior >= (unsigned long)intervalo) {
tiempoAnterior = millis();
// Pitido corto + destello del LED
digitalWrite(buzzerPin, HIGH);
digitalWrite(ledPin, HIGH);
delay(60); // duración del pitido
digitalWrite(buzzerPin, LOW);
digitalWrite(ledPin, LOW);
}
} else {
// Fuera de rango: todo apagado
digitalWrite(buzzerPin, LOW);
digitalWrite(ledPin, LOW);
}
delay(30); // pequeña pausa entre lecturas
}
// ---------- MEDIR DISTANCIA ----------
int medirDistancia() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duracion = pulseIn(echoPin, HIGH, 30000); // timeout de 30 ms
return duracion * 0.034 / 2; // conversión a centímetros
}
base
void setup() {
}
void loop() {
}
