Taula de continguts:
- Pas 1: connecteu un micro servo
- Pas 2: proveu Micro Servo
- Pas 3: connecteu un potenciòmetre
- Pas 4: Codi d’inici del potenciòmetre
- Pas 5: connecteu el primer LED
- Pas 6: connecteu la fila restant de LEDs
- Pas 7: afegiu el primer LED, la segona fila
- Pas 8: connecteu els LED finals
- Pas 9: control de la pantalla LED
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-13 06:57
En aquest laboratori treballarem en el control de la posició d’un micro servo amb un potenciòmetre. Basant-nos en la posició dels "braços" del micro servo, il·luminarem les files corresponents de LED. Per a aquest laboratori necessitareu:
- 1 micro servo (el que es proporciona és un micro servo de 9 grams)
- 1 potenciòmetre
- 10 LED (amb dos colors diferents)
- 10 resistències de 220 Ohm
Pas 1: connecteu un micro servo
El micro servo té tres cables per a l'alimentació, la terra i un impuls de senyal. El micro servo acceptarà un pols PWM per determinar en quina posició hauria d’estar (0 - 180 graus). Tècnicament podeu utilitzar qualsevol dels pins PWM de l’Arduino Uno, però generalment comencem amb el pin 9 o 10 *.
Configuració:
- Connecteu la placa de connexió al rail de potència (+ 5 V) i al rail de terra (GND)
- Connecteu el servo al rail d’alimentació, al rail de terra i al passador 9.
** Això es deu al fet que la biblioteca Servo utilitza Timer2 a l'Arduino que ens impedirà l'ús de senyals PWM, analogWrite (), en aquests dos pins per a qualsevol altre propòsit que el control d'un servo. Tot i que encara podem utilitzar aquests pins per a E / S digitals, en general els utilitzarem exclusivament per al control de servo **
Pas 2: proveu Micro Servo
El codi aquí és el codi de mostra proporcionat per la Servo Library. Simplement tindrà el servo escombrat d’anada i tornada de 0 a 180 graus
/ * Escombrar
per BARRAGAN Aquest codi d'exemple és de domini públic. modificat el 8 de novembre de 2013 per Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep * / #include "Servo.h" Servo myservo; // crear un objecte servo per controlar un servo // es poden crear dotze servos objectes a la majoria de taules int pos = 0; // variable per emmagatzemar la posició de la posició del servo () {myservo.attach (9); // fixa el servo al pin 9 a l'objecte servo} void loop () {for (pos = 0; pos = 0; pos - = 1) {// va de 180 a 0 graus myservo.write (pos); // digueu al servo que vagi a la posició amb un retard variable de "pos" (15); // espera 15 ms perquè el servo assoleixi la posició}}
Pas 3: connecteu un potenciòmetre
Ara treballarem en el control manual de la posició del servo amb un potenciòmetre. Connecteu el potenciòmetre de la següent manera:
- Costat esquerre - Carril terra
- Lateral dret: carril de potència
- Connexió superior / mitja: pin A0 (0 pin analògic)
Pas 4: Codi d’inici del potenciòmetre
A continuació es mostra un codi d’inici per controlar el servo amb un potenciòmetre. Acabeu el codi de manera que quan moveu el potenciòmetre, el servo es mogui a l'uníson.
/ * Sweep per BARRAGAN Aquest codi d'exemple és de domini públic. modificat el 8 de novembre de 2013 per Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep * / #include "Servo.h" Servo myservo; // crear un objecte servo per controlar un servo // es poden crear dotze servos objectes a la majoria de taules int pos = 0; // variable per emmagatzemar la posició del servo int potPin = 0; // Seleccioneu el pin per connectar el potenciòmetre int potVal = 0; // Valor actual del potenciòmetre void setup () {myservo.attach (9); // fixa el servo al pin 9 a l'objecte servo pinMode (potPin, INPUT); } bucle buit () {potVal = analogRead (potPin); myservo.write (pos); // digueu al servo que vagi a la posició amb un retard variable de "pos" (15); // espera 15 ms perquè el servo assoleixi la posició}
Pas 5: connecteu el primer LED
Després de tenir el servo controlat mitjançant el potenciòmetre, afegirem alguns comentaris mitjançant alguns LED. Crearem dues files de LEDs. Un representarà el braç "esquerre" del servo i l'altre representarà el braç "dret" del servo. A mesura que el servo canvia de posició, un braç pujarà i l’altre caurà. Els LED s’encenen per mostrar:
- es fa aixecar el braç complet
- els mig braços són iguals.
- es baixa el braç
El diagrama mostrarà les files de LEDs als extrems oposats de la taula de treball. Això es va fer per facilitar la visibilitat, els LEDs haurien d’estar alineats / fins i tot entre si.
Connecteu el primer LED:
- Connecteu el cable curt del LED al rail de terra
- Connecteu el cable més llarg del LED a una resistència de 220 Ohm. Connecteu la resistència al pin 13 de l'Arduino.
Pas 6: connecteu la fila restant de LEDs
Després d'afegir el primer LED, connecteu els LED restants:
- Conductor més curt: connecteu-vos al rail de terra
- Conductor més llarg: connecteu una resistència de 220 Ohm als LED i als següents pins Arduino: 12, 11, 10, 9, 8
Pas 7: afegiu el primer LED, la segona fila
La segona fila de LED s’afegirà de la mateixa manera que la primera:
- Connecteu el cable curt del LED al rail de terra
- Connecteu el cable més llarg del LED a una resistència de 220 Ohm. Connecteu la resistència al pin 7 de l'Arduino.
Pas 8: connecteu els LED finals
Connecteu els LED restants:
Conductor més curt: connecteu-vos al rail de terra. Conductor més llarg: connecteu una resistència de 220 Ohm als LED i als següents pins Arduino: 6, 5, 4, 3
Pas 9: control de la pantalla LED
El darrer pas és actualitzar el codi per controlar els LEDs. Haurà de gestionar el següent:
- La fila superior coincidirà amb el "braç dret" del servo. A mesura que el braç arrossega amunt / avall, els LED s’han d’encendre / apagar.
- La fila inferior coincidirà amb el "braç esquerre" del servo. A mesura que el braç arrossega amunt / avall, els LED s’han d’encendre / apagar.