Sommario:

AHI: 6 passaggi
AHI: 6 passaggi

Video: AHI: 6 passaggi

Video: AHI: 6 passaggi
Video: Ice Scream 6 Full Gameplay 2024, Luglio
Anonim
AHIA
AHIA
AHIA
AHIA

Ahi è il tuo personale aiutante omnidirezionale per la cataratta inutile. Mentre il riconoscimento facciale colpisce lo Zeitgeist, OUCH colpisce te! OUCH non solo sa come sembri, sa anche essere molto fastidioso! A differenza del fratello maggiore, questa macchina è molto visibile e soddisfa un solo scopo: rendere la tua vita un po' più schifosa. Hai mai dimenticato a casa gli occhiali da sole e sei rimasto sorpreso da un riflesso luminoso? OUCH ti fa rivivere questo momento ancora e ancora. Riflettendo la luce della fonte di luce più brillante intorno a te direttamente sul tuo viso, ti assicurerai che non ti godrai un solo momento intorno a te.

Attento, o OUCH potrebbe essere l'ultima cosa che vedrai!

Il progetto è stato condotto nell'ambito del seminario Computational Design and Digital Fabrication nel programma di master ITECH.

Agosto Lehrecke | Max Zorn

Forniture

Parti elettroniche:

Arduino

  • Arduino UNO

    • 2x Mini-Servo Reely S0009
    • 4x fotoresistenze
    • 4 resistenze da 10k
    • 2x potenziometri
    • 1x cavo USB per stampante

Lampone Pi

  • Lampone Pi 4

    • 1x RaspiCam
    • 4x Mini-Servo Reely S0009
    • 1x servo driver PWM a 16 canali e 12 bit PCA9685
    • Alimentatore esterno 5v CC
    • 1x Rasberry Pi 5.1V - Alimentatore 3Amp (o equivalente esterno)
    • 1x MAKERFACTORY HC-SR05 Sensore a ultrasuoni (MF-6402156)
    • 1x resistenza da 470 Ohm
    • 1x resistenza da 320 Ohm

Parti stampate in 3D:

OUCH sono disponibili in varie forme e dimensioni. Per questa versione, abbiamo utilizzato una stampante 3D per stampare meccanismi personalizzati.

  • 4 x supporto
  • 2 x Base S
  • 1 x Base L
  • 2 x base di rotazione doppia
  • 1 x base di rotazione singola
  • 1 x set di supporti per assi S
  • 1 x set di supporti per assi M
  • 1 x set di supporti per assi L
  • 1 x supporto per fotocamera
  • 1 x supporto per luce
  • 1 x supporto per specchio

Facoltativamente è possibile utilizzare il design Tower fornito, per assemblare i componenti a:

  • 1 x Torre (invece di 4 x Stand)
  • 1 x Base S e 1 x Base M (invece di 2 x Base S)

Altre parti:

  • Mylar
  • 1 x elastico
  • 1 x fascetta con cerniera
  • 12 viti a testa piatta M5 x 160
  • 2 viti a testa piatta M5 x 80

Utensili:

  • stampante 3d
  • Cacciavite H3.0
  • Pistola per colla a caldo

Passaggio 1: Passaggio 1: Stampa delle parti

Se hai accesso a una stampante 3D, puoi stampare meccanismi personalizzati per ospitare i Servi e montare i tre componenti principali.

Per il componente Face, abbiamo bisogno di:

  • 2 x supporti
  • 1 x Base L
  • 1 x base rotante doppia
  • 1 x set di supporti per assi M
  • 1 x supporto per fotocamera e sensore di distanza

Il componente Luce richiede:

  • 1 x supporto
  • 1 x Base S
  • 1 x base rotante doppia
  • 1 x set di supporti per assi S
  • 1 x supporto per luce

I componenti Mirror sono i seguenti:

  • 1 x supporto
  • 1 x Base S
  • 1 x base rotante singola
  • 1 x set di supporti per assi L
  • Supporto per specchio

Infine, puoi anche stampare la torre fornita.

Se vuoi usarlo come base per tutti e tre i componenti, dovrai regolare la matematica vettoriale nel codice di conseguenza. Inoltre, collega il componente Face con Base M anziché Base L alla torre.

Passaggio 2: Passaggio 2: Realizzare lo specchio

Passaggio 2: creare lo specchio
Passaggio 2: creare lo specchio
Passaggio 2: creare lo specchio
Passaggio 2: creare lo specchio

Per creare il tuo componente Specchio, taglia un pezzo circolare di Mylar e posizionalo sopra la parte a specchio stampata in 3D. Quindi utilizzare prima un elastico per fissarlo in posizione. L'elastico dovrebbe adattarsi all'interno della scanalatura attorno al componente. Quindi usa una fascetta per fissare delicatamente la connessione, non stringerla troppo, ancora. Ora puoi iniziare ad allungare il Mylar fino a ottenere una superficie lucida e specchiante. Infine, stringi la fascetta e goditi il riflesso del tuo bel viso!

Passaggio 3: Passaggio 3: assemblaggio dei componenti

Passaggio 3: assemblaggio dei componenti
Passaggio 3: assemblaggio dei componenti
Passaggio 3: assemblaggio dei componenti
Passaggio 3: assemblaggio dei componenti
Passaggio 3: assemblaggio dei componenti
Passaggio 3: assemblaggio dei componenti
Passaggio 3: assemblaggio dei componenti
Passaggio 3: assemblaggio dei componenti

Componente viso

  1. Incollare a caldo il pugno Servo nell'intaglio corrispondente della base rotante
  2. Incolla il connettore Servo nella scanalatura, situata nella parte inferiore della parte di base
  3. Unire le due parti della base, in modo che il Servo si incastri con il connettore
  4. Utilizzare la vite del servo per fissare il connettore al servo
  5. Incollare a caldo il secondo connettore nella scanalatura corrispondente, situata nella parte superiore del supporto dell'asse
  6. Utilizzare 4 bulloni M5 per avvitare il supporto dell'asse alla base rotante
  7. Incolla a caldo il secondo Servo al supporto
  8. Fai scorrere la fotocamera sui perni
  9. Fissare il sensore di distanza ad ultrasuoni al supporto, tramite avvitamento o incollaggio a caldo
  10. Collegare il supporto della fotocamera / sensore al supporto dell'asse, il Servo deve nuovamente scorrere nel connettore
  11. Utilizzare la vite del servo per fissare il connettore al servo
  12. Avvita il Raspberry Pi e il servo driver a un pezzo di compensato (assicurati che la spaziatura corrisponda ai fori della Base L)
  13. Avvitare il componente Face ai supporti, utilizzando bulloni M5

Componente specchio

  1. Segui i passaggi da 1 a 7
  2. Collegare lo Specchio al supporto dell'asse
  3. Incolla un supporto per specchio su compensato, in modo che i componenti Specchio e Faccia siano allineati
  4. Avvitare il componente Specchio al supporto, utilizzando bulloni M5

Componente luce

  1. Segui i passaggi da 1 a 7 dall'alto
  2. Infilare i sensori di luce attraverso i fori di montaggio nella parte inferiore della croce di ombreggiatura
  3. Collegare la croce ombreggiante al supporto dell'asse, il Servo deve nuovamente scorrere nel connettore
  4. Utilizzare la vite del servo per fissare il connettore al servo
  5. Incolla un supporto su compensato, in modo che i componenti Light, Mirror e Face siano allineati e lo Mirror si trovi tra i componenti Face e Light
  6. Avvitare il componente Face ai supporti, utilizzando bulloni M5

*Tutti i componenti potrebbero anche essere collegati alla torre, si prega di considerare la maggiore complessità di codifica e cablaggio e il tempo di stampa. Se si desidera utilizzare la torre, utilizzare la parte Base M invece della Base L per il componente Face e avvitare le parti Base alla torre utilizzando gli occhielli e i bulloni M5.

Passaggio 4: Passaggio 4: Configura le schede

Passaggio 4: configurare le schede
Passaggio 4: configurare le schede
Passaggio 4: configurare le schede
Passaggio 4: configurare le schede
Passaggio 4: configurare le schede
Passaggio 4: configurare le schede

Ecco lo schema elettrico dei tre componenti. L'inseguitore solare agisce sul proprio loop sull'Arduino e invia le sue posizioni dei servi al Rasberry Pi tramite la porta USB seriale. Un sensore di distanza opzionale può essere collegato alla parte anteriore della piCamera pan/tilt per creare una triangolazione più robusta del target. Qui li allineeremo in linea retta e faremo solo la media dei vettori, quindi non è necessario.

Quattro servi sono collegati al servoazionamento PCA9685 che è alimentato da un alimentatore esterno da 5 V. Due dei servi controllano la panoramica e l'inclinazione per la telecamera di rilevamento del viso, mentre i restanti due controllano la panoramica e l'inclinazione per lo specchio.

Passaggio 5: il codice:

Il codice
Il codice

Il codice per questo progetto può essere suddiviso in due parti: il codice di tracciamento della luce di Arduino e il codice di tracciamento del viso/posizionamento dello specchio di Python.

Codice Arduino:

Questo codice è una versione leggermente modificata del progetto di inseguimento solare di geobruce. È un ottimo riferimento per saperne di più sul componente di inseguimento solare e maggiori dettagli possono essere trovati in questa pagina di istruzioni. I valori di intensità della luce sono presi dalle 4 foto-resistenze e mediati per trovare l'area più luminosa e regolare i servi di conseguenza. Quindi scriviamo i valori dell'angolo del servo sulla porta seriale.

Codice Python:

Questo codice integra CV aperto per creare un meccanismo di inclinazione della panoramica del viso e aziona i servi per lo specchio. Dovrai eseguire alcuni passaggi per scaricare CV aperto sul tuo Raspberry pi. Ci sono molte risorse per questo, ma mi piace molto quella di pyimagesearch. Una panoramica completa di questo processo può essere trovata qui. Nota: abbiamo scaricato le librerie CV aperte in un ambiente virtuale su cui eseguiamo tutto il codice, se hai deciso di farlo assicurati di scaricare tutte le dipendenze nell'ambiente virtuale su cui stai eseguendo il programma e non il Pi stesso.

Una volta scaricato open CV, questo codice richiederà anche alcune dipendenze in più (installate nell'ambiente specifico in esecuzione) per essere eseguito:

  • Adafruit ServoKit: Una pagina completa sul processo per il download sul Raspberry Pi può essere trovata qui.
  • imutil
  • insensibile
  • gpiozero (se si utilizza il sensore di distanza)

Per il rilevamento dei volti, lo script richiede un argomento (--faces) che è un file.xml che openCv utilizza per trovare i volti. Dovrai mettere questo file nella stessa directory dello script python. L'ho fornito nei download e può essere trovato anche qui.

Passaggio 6: esecuzione del codice

Esecuzione del codice
Esecuzione del codice
Esecuzione del codice
Esecuzione del codice

Una volta scaricato tutto il codice nella stessa directory e configurato il tuo ambiente virtuale con CV aperto, sei pronto per eseguirlo.

  1. Apri il prompt dei comandi sul tuo pi
  2. Digita workon cv (o qualsiasi nome tu abbia scelto per il tuo ambiente virtuale)
  3. Cambia la directory in cui hai archiviato i file (cd (percorso dei file))
  4. L'ultima riga esegue il programma e specifica il file haar a cascata. (python Face3.py --faces haarcascade_frontalface_default.xml)

Quando lo esegui dovresti vedere un flusso video dal picam apparire sullo schermo e il prompt dei comandi inizierà a stampare i valori dei servi da tutti e sei i servi.

E hai finito! A seconda della qualità dei servi che hai, potresti voler calibrarli ciascuno in modo specifico per migliorare la precisione del tuo sistema. Alla fine abbiamo dovuto modificare tutte le gamme PWM per farle funzionare correttamente.

Consigliato: