Advertisement
Villalba2006

POST_19

Nov 24th, 2016
16,255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.13 KB | None | 0 0
  1. /*  TITULO: Programar posiciones en un Micro Servo Tower Pro SG90 9G.
  2.  
  3.     AUTOR:
  4.    
  5.     MARIANO DEL CAMPO GARCÍA (@2016) --> INGENIERO TÉCNICO INDUSTRIAL ESPECIALIDAD ELECTRÓNICA
  6.     - FACEBOOK: https://www.facebook.com/mariano.delcampogarcia
  7.     - TWITTER: https://twitter.com/MarianoCampoGa
  8.     - CORREO: marianodc83@gmail.com
  9.    
  10.    
  11.     DESCRIPCIÓN DEL PROGRAMA
  12.    
  13.     Cargando el siguiente programa en nuestro Arduino, seremos capaces de mover el servo desde la posición
  14.     de 0° hasta los 180° y viceversa (de 180° a 0°), con una velocidad de 1 grado cada 10 ms (1,8 segundos
  15.     el ciclo completo, es decir, los 180º).
  16.    
  17.    
  18.     ESQUEMA DE CONEXION
  19.    
  20.                                       +-----+
  21.          +----[PWR]-------------------| USB |--+
  22.          |                            +-----+  |
  23.          |         GND/RST2  [ ][ ]            |
  24.          |       MOSI2/SCK2  [ ][ ]  A5/SCL[ ] |  
  25.          |          5V/MISO2 [ ][ ]  A4/SDA[ ] |  
  26.          |                             AREF[ ] |
  27.          |                              GND[ ] |
  28.          | [ ]N/C                    SCK/13[ ] |  
  29.          | [ ]IOREF                 MISO/12[ ] |  
  30.          | [ ]RST                   MOSI/11[ ]~|  
  31.          | [ ]3V3    +---+               10[ ]~|  
  32.          | [ ]5v    -| A |-               9[ ]~|   Cable color "Naranja" del Servo
  33.          | [ ]GND   -| R |-               8[ ] |  
  34.          | [ ]GND   -| D |-                    |
  35.          | [ ]Vin   -| U |-               7[ ] |  
  36.          |          -| I |-               6[ ]~|  
  37.          | [ ]A0    -| N |-               5[ ]~|  
  38.          | [ ]A1    -| O |-               4[ ] |    
  39.          | [ ]A2     +---+           INT1/3[ ]~|    
  40.          | [ ]A3                     INT0/2[ ] |  
  41.          | [ ]A4/SDA  RST SCK MISO     TX>1[ ] |  
  42.          | [ ]A5/SCL  [ ] [ ] [ ]      RX<0[ ] |  
  43.          |            [ ] [ ] [ ]              |
  44.          |  UNO_R3    GND MOSI 5V  ____________/
  45.           \_______________________/
  46.  
  47.   NOTAS:
  48.    
  49.    - Cable color "Café" del Servo --> GND
  50.    - Cable color "Rojo" del Servo --> +5V
  51.    
  52. */
  53.  
  54.  
  55.   // Incluir la librería Servo
  56.   #include <Servo.h>                    
  57.   Servo servo1;    
  58.  
  59.   int pinServo = 9;    // Pin digital con PWM para el Servo
  60.   int pulsoMin = 650;  // Pulso en us para girar un ángulo de 0º
  61.   int pulsoMax = 2550; // Pulso en us para girar un ángulo de 180º
  62.  
  63.   int angulo = 0; // Variable para guardar el ángulo del servo
  64.  
  65.   void setup()
  66.   {
  67.     // Señal del Servo1 conectado al pin digital 9 (PWM)--> pinServo
  68.     // Calibración del servo para suavizar movimientos -->(pulsoMin, pulsoMax)
  69.     servo1.attach(pinServo, pulsoMin, pulsoMax);
  70.   }
  71.  
  72.   void loop()
  73.   {
  74.     // El Servo avanza de 0º a 180º
  75.     for(angulo = 0; angulo <= 180; angulo++)
  76.     {
  77.       // Avanza 1 grado cada 10 ms
  78.       servo1.write(angulo);
  79.       delay(10);
  80.     }
  81.    
  82.     // El Servo retrocede de 180º a 0º
  83.     for(angulo = 180; angulo >= 0; angulo--)
  84.     {
  85.       // Retrocede 1 grado cada 10 ms
  86.       servo1.write(angulo);
  87.       delay(10);
  88.     }
  89.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement