Sommario:
- Passaggio 1: costruire il circuito del ricevitore IR
- Passaggio 2: collegare il servo, la colonna e il supporto del telefono
- Passaggio 3: collegare il display LCD per la lettura dei servi
- Passaggio 4: utilizzare il codice e le librerie allegate per programmare Arduino
- Passaggio 5: collega la fonte di alimentazione desiderata ad Arduino e usa il telecomando per ruotare il supporto
- Passaggio 6: leggi questo per la spiegazione del codice sorgente
- Passaggio 7: guarda il mio video di Youtube per aiuto
Video: Supporto per telefono rotante: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Questo istruttivo è stato creato in adempimento del requisito del progetto del Makecourse presso la University of South Florida (www.makecourse.com).
Vuoi creare un supporto per telefono rotante in modo da poter visualizzare i contenuti del tuo telefono in orientamento verticale o orizzontale senza doverlo tenere? Quindi, non cercare oltre.
Per creare questo progetto, avrai bisogno di:
- Microcontrollore Arduino e IDE
- Cavo USB per caricare il codice
- Tagliere
- Ponticelli
- Display LCD
- Servo
- Colonna che può essere collegata al servo
- Telecomando IR
- Ricevitore IR
- Resistenza da 10k ohm
- Kenu Airframe + Phone Clip (o qualcosa per tenere il telefono in posizione)
- Batteria da 9 V per alimentazione portatile o solo Arduino alimentato tramite USB
Passaggio 1: costruire il circuito del ricevitore IR
Per prima cosa, salta GND e +5V da Arduino ai binari di alimentazione sulla breadboard. Quindi, salta il resistore da 10k ohm dalla barra di alimentazione +5V al pin di uscita del fototransistor del ricevitore IR. Quindi, utilizzare un ponticello per connettersi al pin 11 su Arduino dal pin di uscita del ricevitore IR. Quindi, utilizzare due ponticelli per inviare massa e +5V ai rispettivi pin sul ricevitore IR. Il filtro RC raffigurato nello schema sopra non è necessario. Infine, non ho realizzato lo schema mostrato in questo passaggio e la fonte è presente nell'immagine.
Passaggio 2: collegare il servo, la colonna e il supporto del telefono
Ora, usa due ponticelli per saltare da terra e +5V dei binari di alimentazione della breadboard rispettivamente nei fili marrone e rosso del servo. Quindi, usa un ponticello per collegare il pin 9 su Arduino al filo arancione del servo.
Quindi, collega una colonna alla testa del servo come mostrato nella seconda immagine.
Infine, collega qualcosa per tenere il telefono alla colonna, come Kenu Airframe+, come mostrato nella terza immagine.
Passaggio 3: collegare il display LCD per la lettura dei servi
Salta terra e +5V dai binari di alimentazione della breadboard ai rispettivi pin sul display LCD. Inoltre, salta i pin SDA e SCL dall'LCD sull'Ardiuno. I pin SDA e SCL di Arduino possono essere identificati dal retro della scheda Arduino e sono i due pin sopra AREF e Ground sopra il pin 13. Il pin SCL è quello più alto. Ciò consente al display LCD di leggere la posizione corrente del servo.
Passaggio 4: utilizzare il codice e le librerie allegate per programmare Arduino
Scarica il file RotatingMountCode.zip. Installa l'IDE Arduino e decomprimi il file scaricato in Documents\Arduino. Assicurati di copiare il contenuto della cartella dei miei schizzi e delle biblioteche nella cartella degli schizzi e delle biblioteche. Apri lo sketch ServoIRandLCD e caricalo sul tuo Arduino.
Vedere i passaggi successivi per la spiegazione del codice.
Passaggio 5: collega la fonte di alimentazione desiderata ad Arduino e usa il telecomando per ruotare il supporto
Lascia l'Arduino collegato al computer o scollegalo dal computer e utilizza una batteria da 9 V per fornire alimentazione CC all'Arduino. Infine, usa un telecomando IR economico per controllare il servo e quindi l'orientamento del supporto del telefono!
Il numero 1 sul telecomando dovrebbe impostare la posizione del servo su 0 gradi, il numero 2 su 90 gradi e il numero 3 su 180 gradi. Nel frattempo i pulsanti + e - sul telecomando dovrebbero aumentare o diminuire l'angolo del servo di 1 grado, rispettivamente.
Nota: se si utilizza un telecomando IR diverso da quello illustrato qui, è possibile che i codici IR corrispondenti ai vari pulsanti siano cambiati. In tal caso, modificare lo sketch ServoIRandLCD per utilizzare invece quei codici IR.
Passaggio 6: leggi questo per la spiegazione del codice sorgente
Il codice sorgente per lo sketch Arduino può essere trovato sotto o nel file.zip precedentemente allegato. Le librerie richieste possono essere trovate solo nel file.zip precedentemente allegato al passaggio 4.
La prima cosa che fa il codice è includere le librerie necessarie per eseguire tutte le funzioni nello sketch. Successivamente, dichiara che il pin 9 su Arduino è il pin del segnale abilitato per PWM per il servo. Inoltre, rende il pin 11 di Arduino il pin utilizzato per il ricevitore IR. Successivamente, dichiara una variabile intera utilizzata per tenere traccia della posizione del servo in gradi e la imposta inizialmente a 0 gradi. Quindi, istanzia gli oggetti richiesti per un oggetto IRrecv, un oggetto servo e un oggetto LCD myDisplay (anch'esso configurato nella stessa riga) in modo che questi oggetti possano essere utilizzati in seguito.
Successivamente, nella funzione di configurazione, la porta seriale viene avviata a 9600 bit/sec in modo che il monitor seriale possa essere utilizzato per tenere traccia della posizione del servo, se lo si desidera. Inoltre collega l'oggetto myservo al pin 9, avvia il ricevitore IR e inizializza il display LCD.
Nella funzione loop principale, il cui corpo viene eseguito solo se viene ricevuta una trasmissione IR dal ricevitore IR, il ricevitore IR decodifica il segnale inviato dal telecomando IR utilizzando la funzione decode(&results) e quindi le istruzioni if determinano cosa per impostare il servo a seconda del valore IR ricevuto. La funzione di scrittura viene utilizzata per impostare il servo sui gradi appropriati e la funzione di lettura viene utilizzata per trovare l'angolo corrente del servo e incrementarlo o decrementarlo secondo necessità.
Infine, l'angolo corrente del servo viene inviato sia al monitor seriale che al display LCD utilizzando la funzione myservo.read(), e il ciclo principale itera indefinitamente.
Codice sorgente:
#include //Libreria standard Arduino#include //Libreria IR #include "Wire.h" //Wire.h per LCD (a volte necessario) #include "LiquidCrystal_I2C.h" //Libreria LCD
#define servopin 9 // definisce il pin 9 come il pin utilizzato per il cavo del servocomando (arancione)
int RECV_PIN = 11; //Il fototransistor IR invia l'output al pin 11
int CurrentAngle = 0; //dichiara la variabile intera currentAngle e la imposta su 0
IRrecv irrecv(RECV_PIN); //istanzia un oggetto ricevitore IR decode_results results; //istanzia un oggetto decode_results. Questo oggetto è separato dal ricevitore IR.
Servo mio servo; //istanzia un oggetto Servo chiamato 'myservo' //può essere creato un massimo di otto oggetti servo
LiquidCrystal_I2C myDisplay(0x27, 16, 2); //istanzia l'oggetto LCD e imposta la configurazione
void setup() {
Serial.begin(9600); //avvia la porta seriale
myservo.attach(servopin); //attacca il servo sul pin 9 all'oggetto servo
irrecv.enableIRIn(); //avvia il ricevitore
mioDisplay.init(); //inizializzo LCD
mioDisplay.backlight(); // accendi la retroilluminazione LCD
}
ciclo vuoto() {
if (irrecv.decode(&results)) //se la trasmissione è stata ricevuta…
{ Serial.print("Valore IR ricevuto: ");
Serial.println(results.value); //visualizza il valore ricevuto
//interpreta i comandi ricevuti… if (results.value == 16724175) //1 { //left myservo.write(0); }
if (results.value == 16718055) //2 { //middle myservo.write(90); }
if (results.value == 16743045) //3 { //right myservo.write(180); }
if (results.value == 16754775) //+ { //increment currentAngle = myservo.read(); myservo.write(currentAngle + 1); } if (results.value == 16769055) //- { //decrementa currentAngle = myservo.read(); myservo.write(currentAngle - 1); } }
irrecv.resume(); //Ricevi il valore successivo
//Serial monitor print Serial.print("Posizione servo corrente: ");
Serial.println(mioservo.read()); //questo recupera la posizione del servo e la invia al monitor seriale
//stampa LCD myDisplay.clear();
myDisplay.print("Deg. servo: ");
mioDisplay.print(mioservo.read());
ritardo(200); //ritardo per rendere stabile l'azionamento del servo
}
Passaggio 7: guarda il mio video di Youtube per aiuto
Guarda il mio video YouTube non in elenco che discute e dimostra completamente il progetto se hai domande!
Consigliato:
Supporto per iPad per supporto per microfono in PVC: 4 passaggi
Supporto per iPad per supporto per microfono In PVC: molti musicisti ora usano l'iPad come fogli di testi/schemi di accordi. I titolari commerciali, come iKlip, possono costare $ 30 e oltre. Ho fatto questo per $ 5. Voglio dare credito a replayerreb il cui supporto per iPad da utilizzare durante il campeggio in tenda è stato l'ispirazione
Supporto per chiavetta USB Thumb Drive-CREA un SUPPORTO PER CLIP DA CINTURA: 5 passaggi
Supporto per chiavetta USB per chiavetta USB: CREA un SUPPORTO PER CLIP DA CINTURA: stanco di avere sempre una chiavetta USB al collo? Sii alla moda realizzando un SUPPORTO PER CINGHIA da un accendisigari sportivo
Supporto per fotocamera con supporto per microfono: 6 passaggi (con immagini)
Supporto per videocamera con supporto per microfono: in uno spettacolo recente, avevo bisogno di avere una vista del palco. Normalmente c'è molto spazio per mettere un treppiede in fondo alla stanza e avere una telecamera che mi manda un feed di quello che stava succedendo. In questo luogo particolare, non c'era spazio extra al ba
Supporto per laptop in carta, il supporto per laptop più economico possibile.: 4 passaggi
Supporto per laptop in carta, il supporto per laptop più economico possibile.: Adoro quake3 e sono piuttosto preoccupato per la durata del mio MacBook. Non ho mai avuto l'idea di comprare quei supporti per laptop con i fan, perché i MacBook non hanno alcun buco nella parte inferiore. Stavo pensando che quelle mezze palle forse avrebbero piegato il mio laptop c
Supporto a clip per iPhone / iPod Touch con supporto per cavo AGGIORNATO: 5 passaggi (con immagini)
Supporto a clip per iPhone / iPod Touch con predisposizione per cavo AGGIORNATO: Ispirato da altri (grazie ragazzi sapete chi siete) ho deciso di fare un supporto per il mio iPod Touch 3G (che non viene fornito con un supporto) usando quella graffetta fissa………clip di rilegatura. Anche se alcuni progetti intelligenti hanno dimostrato di essere