Programas básicos de BLUI
Un repertorio de los programas más básicos para que puedas empezar
Published in
3 min readJul 24, 2018
Control de los motores
Establece los pines de conexión del controlador de motores.
ADVERTENCIA: La placa ha sido actualizada, a partir de BLUI v2.0. El pin que controla la velocidad del motor derecho (PIN 10) se DEBE CAMBIAR EN EL PROGRAMA por el (PIN 6)
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;
double Motor_derecha;
double Motor_Izquierda;
double Velocidad_Motor_Der;
double Velocidad_Motor_Izq;
void setup(){
Serial.begin(115200);
Serial.println("Cambiar 10 por 6 si la placa es version 2");
Motor_derecha = 12;
Motor_Izquierda = 13;
Velocidad_Motor_Der = 10;
Velocidad_Motor_Izq = 11;
pinMode(Motor_Izquierda,OUTPUT);
pinMode(Motor_derecha,OUTPUT);
pinMode(Velocidad_Motor_Der,OUTPUT);
pinMode(Velocidad_Motor_Izq,OUTPUT);
}
void loop(){
Serial.println("ADELANTE");
digitalWrite(Motor_Izquierda,1);
digitalWrite(Motor_derecha,1);
analogWrite(Velocidad_Motor_Der,200);
analogWrite(Velocidad_Motor_Izq,200);
_delay(1);
Serial.println("ATRAS");
digitalWrite(Motor_Izquierda,0);
digitalWrite(Motor_derecha,0);
analogWrite(Velocidad_Motor_Der,200);
analogWrite(Velocidad_Motor_Izq,200);
_delay(1);
Serial.println("DERECHA");
digitalWrite(Motor_Izquierda,1);
digitalWrite(Motor_derecha,0);
analogWrite(Velocidad_Motor_Der,200);
analogWrite(Velocidad_Motor_Izq,200);
_delay(1);
Serial.println("IZQUIERDA");
digitalWrite(Motor_Izquierda,0);
digitalWrite(Motor_derecha,1);
analogWrite(Velocidad_Motor_Der,200);
analogWrite(Velocidad_Motor_Izq,200);
_delay(1);
Serial.println("DETENER");
analogWrite(Velocidad_Motor_Der,0);
analogWrite(Velocidad_Motor_Izq,0);
_delay(1);
_loop();
}
void _delay(float seconds){
long endTime = millis() + seconds * 1000;
while(millis() < endTime)_loop();
}
void _loop(){
}
Lectura sensor de distancia
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;
double Distancia;
float getDistance(int trig,int echo){
pinMode(trig,OUTPUT);
digitalWrite(trig,LOW);
delayMicroseconds(2);
digitalWrite(trig,HIGH);
delayMicroseconds(10);
digitalWrite(trig,LOW);
pinMode(echo, INPUT);
return pulseIn(echo,HIGH,30000)/58.0;
}
void setup(){
Serial.begin(115200);
}
void loop(){
Distancia = getDistance(8,7);
Serial.println(Distancia+String(" -cm"));
_delay(0.2);
_loop();
}
void _delay(float seconds){
long endTime = millis() + seconds * 1000;
while(millis() < endTime)_loop();
}
void _loop(){
}
Lectura sensor de línea
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;
double luz;
void setup(){
Serial.begin(115200);
pinMode(A0+0,INPUT);
}
void loop(){
luz = analogRead(A0+0);
Serial.println(luz);
_delay(0.2);
_loop();
}
void _delay(float seconds){
long endTime = millis() + seconds * 1000;
while(millis() < endTime)_loop();
}
void _loop(){
}
Control de Buzzer
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;
void setup(){
pinMode(4,OUTPUT);
}
void loop(){
tone(4,523,500); // write to buzzer
delay(500);
tone(4,587,500); // write to buzzer
delay(500);
tone(4,659,500); // write to buzzer
delay(500);
tone(4,698,500); // write to buzzer
delay(500);
tone(4,784,500); // write to buzzer
delay(500);
tone(4,880,500); // write to buzzer
delay(500);
tone(4,988,500); // write to buzzer
delay(500);
_delay(1);
_loop();
}
void _delay(float seconds){
long endTime = millis() + seconds * 1000;
while(millis() < endTime)_loop();
}
void _loop(){
}