Sie sind auf Seite 1von 4

Enviar Datos

//Enviar datos con modulo Bluetooth para Arduino http://zygzax.com/


1. #include <SoftwareSerial.h>
2. SoftwareSerial blue(2, 3);
3. int pot=0;
4. void setup(){
5. blue.begin(9600);
6. blue.println("Conectado");
7. }
8. void loop(){
9. pot=analogRead(0);
10. blue.println(pot);
11. delay(1000);
12. }
Recibir Datos
1. //Recibir datos con modulo Bluetooth para Arduino http://zygzax.com/
2. #include <SoftwareSerial.h>
3. char rec;
4. SoftwareSerial blue(2,3);
5. void setup(){
6. pinMode(13,OUTPUT);
7. blue.begin(9600);
8. blue.println("Conectado");
9. }
10. void loop() {
11. if(blue.available()){
12. rec=blue.read();
13. switch(rec){
14. case '0':
15. digitalWrite(13,LOW);
16. delay(500);
17. blue.println("Led off");
18. break;
19. case '1':
20. digitalWrite(13,HIGH);
21. delay(500);
22. blue.println("Led on");
23. break;
24. default:
25. delay(500);
26. blue.print(rec);
27. blue.println(" no es una orden valida. Introduzca 0 o 1");
28. }
29. }
30. }
SERVOMOTORES
Antes de nada, mencionar los elementos necesarios para completar este tutorial,
todos disponibles en la tienda:
-Arduino Duemilanove o Arduino Mega (El que se usar en este tutorial)
-Servomotor/es (En este caso he usado un servomotor miniaturizado, por su
reducido consumo de energia, apto para arduino)
-Cables M/M para conexin facil, fiable y flexible entre Arduino, ProtoBoard y
Servo, aunque recomiendo cojer el pack de 100, por un precio asequible y no
tener que andar estirando nunca mas (Pack de 100 cables premium M/M)
-Placa de protipado (Si no se dispone ya de una)
Si tenemos todo esto, es el momento de empezar a montar...
Pero antes un poco de teoria sobre servomotores.
La interfaz de conexin del servomotor consta normalmente de 3 cables o
conductores, generalmente de 3 colores distintos,a saber:
-Rojo
-Marrn o Negro
-Azul, Amarillo u otros
Donde por norma general el cable Rojo es el positivo o fase, el Marrn o Negro es
el tierra o masa, y el restante de varios posibles colores es el seal, que nos
permitir controlar el servomotor con precisin.
Normalmente el seal de controla con PWM, osea pulsos de ancho modular, con
los que podemos mover con precisin el servomotor a cualquier punto de su radio
de acin.
Y como podemos provocar dichos pulsos?
Pues muy sencillo usando uno de los pines marcados como PWM en arduino.
Vamos pus a conectar nuestro servo con arduino:

Tal como se observa en el grfico, se conecta el servo al positivo que nos da
arduino, y al GND tmabin proporcionado por nuestro arduino, y por ultimo
conectamos el seal (amarillo) al pin numero 2, marcado como PWM.
Si mas o menos te has enterado de lo explicado ya estars deduciendo como va a
funcionar :)
Ahora vamos crear un codigo que nos permita mover el servomotor, asi que
atentos:

view plaincopy to clipboardprint?
1. #include <Servo.h>
2.
3. Servo servo1; // Crea un Objeto servo
4. int posicion; // Variable de la posicion del servo
5.
6. void setup()
7. {
8. servo1.attach(2); // Selecionamos el pin 2 como el pin de contro
l para els ervo
9. }
10.
11. void loop()
12. {
13.
14. posicion = 150; // Establecemos el valor de la p
osicion a 150
15. posicion = map(posicion, 0, 1023, 0, 179); // Establece
mos la relacion entre los grados de giro y el PWM
16. /* Con el mapa de valores anterior establecemos una relacin
proporcional */
17. /* entre el pulso minimo 0 con el grado minimo, 0 tambien y
el pulso maximo*/
18. /* 1023 con el grado maximo, 179*/
19. servo1.write(posicion); // Escribimos la p
osicion con el mapa de valores al servo
20. delay(150); // Y le damos un tiem
po para que sea capaz de moverse
21. }

Como veis, no es especialmente dificil, solo hace falta tener las cosas claras.
Conectamos nuestro arduino al usb del pc, cargamos este programa con las
conexiones especificadas anteriormente y moveremos nuestro servo a la posicion
150

Das könnte Ihnen auch gefallen