Table des matières:

Support de téléphone rotatif : 7 étapes
Support de téléphone rotatif : 7 étapes

Vidéo: Support de téléphone rotatif : 7 étapes

Vidéo: Support de téléphone rotatif : 7 étapes
Vidéo: Acefast D7 le support de smartphone idéal en voiture ? 2024, Juillet
Anonim
Support de téléphone rot-t.webp
Support de téléphone rot-t.webp

Cette instructable a été créée pour répondre aux exigences du projet du Makecourse à l'Université de Floride du Sud (www.makecourse.com).

Vous voulez créer un support de téléphone rotatif afin de pouvoir afficher le contenu de votre téléphone en orientation portrait ou paysage sans avoir à le tenir ? Alors, ne cherchez pas plus loin.

Pour créer ce projet, vous aurez besoin de:

- Microcontrôleur Arduino et IDE

- Câble USB pour télécharger le code

- Planche à pain

- Fils de cavalier

- Affichage LCD

- Servomoteur

- Colonne pouvant se fixer au servo

- Télécommande infrarouge

- Récepteur infrarouge

- Résistance de 10k ohms

- Kenu Airframe+ Phone Clip (ou quelque chose pour maintenir le téléphone en place)

- Batterie 9 V pour alimentation portable ou tout simplement Arduino alimenté par USB

Étape 1: Construire le circuit du récepteur IR

Construire le circuit du récepteur IR
Construire le circuit du récepteur IR
Construire le circuit du récepteur IR
Construire le circuit du récepteur IR

Tout d'abord, sautez GND et +5V de l'Arduino aux rails d'alimentation de votre maquette. Ensuite, sautez votre résistance de 10k ohms du rail d'alimentation +5V à la broche de sortie de votre phototransistor récepteur IR. Ensuite, utilisez un cavalier pour vous connecter à la broche 11 de l'Arduino à partir de la broche de sortie du récepteur IR. Ensuite, utilisez deux cavaliers pour envoyer la masse et +5V aux broches respectives du récepteur IR. Le filtre RC illustré dans le schéma ci-dessus n'est pas nécessaire. Enfin, je n'ai pas fait le schéma montré dans cette étape, et la source est présente dans l'image.

Étape 2: connectez le servo, la colonne et le support de téléphone

Connectez le servo, la colonne et le support de téléphone
Connectez le servo, la colonne et le support de téléphone
Connectez le servo, la colonne et le support de téléphone
Connectez le servo, la colonne et le support de téléphone
Connectez le servo, la colonne et le support de téléphone
Connectez le servo, la colonne et le support de téléphone

Maintenant, utilisez deux cavaliers pour passer de la terre et du +5V des rails d'alimentation de la maquette aux fils marron et rouge du servo, respectivement. Ensuite, utilisez un cavalier pour attacher la broche 9 de l'Arduino au fil orange du servo.

Ensuite, attachez une colonne à la tête du servo comme indiqué sur la deuxième image.

Enfin, attachez quelque chose pour maintenir le téléphone à la colonne, comme le Kenu Airframe+, comme indiqué sur la troisième photo.

Étape 3: connectez l'écran LCD pour la lecture servo

Connectez l'écran LCD pour la lecture servo
Connectez l'écran LCD pour la lecture servo

Sautez à la terre et au +5V depuis les rails d'alimentation de votre maquette vers les broches respectives de l'écran LCD. De plus, sautez les broches SDA et SCL de l'écran LCD sur l'Ardiuno. Les broches SDA et SCL de l'Arduino peuvent être identifiées à l'arrière de la carte Arduino et sont les deux broches au-dessus de AREF et Ground au-dessus de la broche 13. La broche SCL est la plus haute. Cela permet à l'écran LCD de lire la position actuelle du servo.

Étape 4: Utilisez le code et les bibliothèques attachés pour programmer l'Arduino

Utilisez le code et les bibliothèques attachés pour programmer l'Arduino
Utilisez le code et les bibliothèques attachés pour programmer l'Arduino

Téléchargez le fichier RotatingMountCode.zip. Installez l'IDE Arduino et décompressez le fichier téléchargé dans Documents\Arduino. Assurez-vous de copier le contenu de mon dossier d'esquisses et de bibliothèques dans votre dossier d'esquisses et de bibliothèques. Ouvrez le croquis ServoIRandLCD et téléchargez-le sur votre Arduino.

Voir les étapes ultérieures pour l'explication du code.

Étape 5: connectez la source d'alimentation souhaitée à Arduino et utilisez la télécommande pour faire pivoter le support

Connectez la source d'alimentation souhaitée à Arduino et utilisez la télécommande pour faire pivoter le support !
Connectez la source d'alimentation souhaitée à Arduino et utilisez la télécommande pour faire pivoter le support !
Connectez la source d'alimentation souhaitée à Arduino et utilisez la télécommande pour faire pivoter le support !
Connectez la source d'alimentation souhaitée à Arduino et utilisez la télécommande pour faire pivoter le support !

Laissez l'Arduino branché sur votre ordinateur ou débranchez-le de votre ordinateur et utilisez une batterie 9V pour fournir une alimentation CC à l'Arduino. Enfin, utilisez une télécommande IR pas chère pour contrôler le servo et donc l'orientation du support de téléphone !

Le numéro 1 sur la télécommande doit régler la position du servo à 0 degré, le numéro 2 à 90 degrés et le numéro 3 à 180 degrés. Pendant ce temps, les boutons + et - de la télécommande devraient incrémenter ou décrémenter l'angle du servo de 1 degré, respectivement.

Remarque: si vous utilisez une télécommande IR différente de celle illustrée ici, il est possible que les codes IR correspondant aux différents boutons aient changé. Si tel est le cas, modifiez le croquis ServoIRandLCD pour utiliser ces codes IR à la place.

Étape 6: Lisez ceci pour l'explication du code source

Lisez ceci pour l'explication du code source
Lisez ceci pour l'explication du code source
Lisez ceci pour l'explication du code source
Lisez ceci pour l'explication du code source

Le code source de l'esquisse Arduino se trouve ci-dessous ou dans le fichier.zip précédemment joint. Les bibliothèques requises ne peuvent être trouvées que dans le fichier.zip précédemment joint à l'étape 4.

La première chose que fait le code est d'inclure les bibliothèques nécessaires pour exécuter toutes les fonctions de l'esquisse. Ensuite, il déclare que la broche 9 de l'Arduino est la broche de signal PWM pour le servo. Il fait également de la broche 11 de l'Arduino la broche utilisée pour le récepteur IR. Ensuite, il déclare une variable entière utilisée pour garder une trace de la position du servo en degrés et la définit à 0 degré, initialement. Ensuite, il instancie les objets requis pour un objet IRrecv, un objet servo et un objet myDisplay LCD (qui est également configuré dans la même ligne) afin que ces objets puissent être utilisés ultérieurement.

Ensuite, dans la fonction de configuration, le port série est démarré à 9600 bits/sec afin que le moniteur série puisse être utilisé pour garder une trace de la position du servo si vous le souhaitez. Il attache également l'objet myservo à la broche 9, démarre le récepteur IR et initialise l'écran LCD.

Dans la fonction de boucle principale, dont le corps n'est exécuté que si une transmission IR est reçue du récepteur IR, le récepteur IR décode le signal qui lui est envoyé par la télécommande IR à l'aide de la fonction decode(&results) puis si les instructions déterminent ce que pour régler le servo en fonction de la valeur IR reçue. La fonction d'écriture est utilisée pour régler le servo à ses degrés appropriés, et la fonction de lecture est utilisée pour trouver l'angle actuel du servo et l'incrémenter ou le décrémenter selon les besoins.

Enfin, l'angle actuel du servo est envoyé à la fois au moniteur série et à l'écran LCD à l'aide de la fonction myservo.read(), et les boucles principales itèrent indéfiniment.

Code source:

#include //Bibliothèque standard Arduino#include //Bibliothèque IR #include "Wire.h" //Wire.h pour LCD (parfois nécessaire) #include "LiquidCrystal_I2C.h" //Bibliothèque LCD

#define servopin 9 // cela définit la broche 9 comme la broche utilisée pour le fil de servocommande (orange)

int RECV_PIN = 11; //Le photo-transistor IR envoie la sortie à la broche 11

int CurrentAngle = 0; //déclarer la variable entière currentAngle et la mettre à 0

IRrecv irrecv(RECV_PIN); // instancie un objet récepteur IR résultats de decode_results; // instancie un objet decode_results. Cet objet est séparé du récepteur IR.

Servo myservo; // instancier un objet Servo nommé 'myservo' // un maximum de huit objets servo peut être créé

LiquidCrystal_I2C monAffichage (0x27, 16, 2); // instanciation de l'objet LCD et configuration de la configuration

void setup() {

Serial.begin(9600); //démarrer le port série

monservo.attach(servopin); // attache le servo sur la broche 9 à l'objet servo

irrecv.enableIRIn(); //démarrer le récepteur

monAffichage.init(); //initialisation de l'écran LCD

monAffichage.backlight(); //activer le rétroéclairage LCD

}

boucle vide() {

if (irrecv.decode(&results)) //si transmission reçue…

{ Serial.print("Valeur IR reçue: ");

Serial.println(results.value); //afficher la valeur reçue

// interpréter les commandes reçues… if (results.value == 16724175) // { // left myservo.write(0); }

if (results.value == 16718055) //2 { //milieu myservo.write (90); }

if (results.value == 16743045) //3 { // right myservo.write(180); }

if (results.value == 16754775) //+ { //incrémenter CurrentAngle = myservo.read(); myservo.write(currentAngle + 1); } if (results.value == 16769055) //- { //décrémenter currentAngle = myservo.read(); myservo.write(currentAngle - 1); } }

irrecv.resume(); //Recevoir la valeur suivante

//Moniteur série print Serial.print("Position actuelle du servo: ");

Serial.println(monservo.read()); // cela récupère la position du servo et l'envoie au moniteur série

//L'écran LCD affiche monAffichage.clear();

myDisplay.print("Deg. Servo: ");

monAffichage.print(monservo.read());

retard (200); //retard pour rendre l'actionnement du servo stable

}

Étape 7: Regardez ma vidéo Youtube pour obtenir de l'aide

Regardez ma vidéo YouTube non répertoriée qui discute et démontre pleinement le projet si vous avez des questions !

Conseillé: