Entrambe le parti precedenti la revisione Revisione precedente Prossima revisione | Revisione precedente |
progetti:5p4k:ratcam_v1 [2018/07/25 23:05] – Aggiunta descrizione del case 5p4k | progetti:5p4k:ratcam_v1 [2023/03/13 22:40] (versione attuale) – 5p4k |
---|
{{ :progetti:5p4k:ratcamv1_mount.jpg?direct&180|}} | {{ :progetti:5p4k:ratcamv1_assemble_final3.jpg?direct&180|}} |
====== Ratcam v1 ====== | ====== Ratcam v1 ====== |
> Ratcam ti permette di controllare la fotocamera del RaspberryPi da un bot di Telegram, e ti allerta in caso di movimento inviando video e foto. | > Ratcam ti permette di controllare la fotocamera del RaspberryPi da un bot di Telegram, e ti allerta in caso di movimento inviando video e foto. |
<list-group> | <list-group> |
* **Data inizio:** 13 ott. 2017 | * **Data inizio:** 13 ott. 2017 |
* **Data fine:** in corso | * **Data fine:** sospeso |
* **Stato:** modularizzazione codice | * **Stato:** modularizzazione codice |
</list-group> | </list-group> |
| |
===== Sviluppo del circuito ===== | ===== Sviluppo del circuito ===== |
{{ :progetti:5p4k:ratcamv1_net.png?direct&200|}} | {{ :progetti:5p4k:ratcamv1_net.png?direct&300|}} |
Ho realizzato il pcb usanto il sapiente aiuto di [[ user:g5pw ]], [[ user:wifasoi ]] e [[ user:ziongate ]] con [[ http://kicad-pcb.org/ | Kicad ]]. Il circuito deve semplicemente alimentare dei LED infrarossi dal pin a 5V del Raspberry Pi. In più, vorrei poterli pilotare da uno dei pin a 3v3 del Raspberry; in questa maniera posso regolare la luminosità usando [[https://en.wikipedia.org/wiki/Pulse-width_modulation | PWM]]. | Ho realizzato il pcb usanto il sapiente aiuto di [[ user:g5pw ]], [[ user:wifasoi ]] e [[ user:ziongate ]] con [[ http://kicad-pcb.org/ | Kicad ]]. Il circuito deve semplicemente alimentare dei LED infrarossi dal pin a 5V del Raspberry Pi. In più, vorrei poterli pilotare da uno dei pin a 3v3 del Raspberry; in questa maniera posso regolare la luminosità usando [[https://en.wikipedia.org/wiki/Pulse-width_modulation | PWM]]. |
| |
| |
=== Progettazione del PCB === | === Progettazione del PCB === |
{{ :progetti:5p4k:ratcamv1_pcb_front.png?direct&400|}}Volevo disporre i LED in maniera circolare, ma Kicad non ha strumenti adatti; non è possibile disegnare curve con le tracce o con i fill. Per cui ho preso spunto da [[https://forum.kicad.info/t/python-scripting-example-studio-clock/5387|qui]] per disegnare degli elementi circolari con Kicad. | {{ :progetti:5p4k:ratcamv1_pcb_front.png?direct&375|}}Volevo disporre i LED in maniera circolare, ma Kicad non ha strumenti adatti; non è possibile disegnare curve con le tracce o con i fill. Per cui ho preso spunto da [[https://forum.kicad.info/t/python-scripting-example-studio-clock/5387|qui]] per disegnare degli elementi circolari con Kicad. |
| |
All'inizio avevo scritto il codice minimo indispensabile per generare tracce circolari, ma mi sono reso conto che per allineare correttamente i componenti e calcolare i fill c'era bisogno di un supporto più estensivo per lavorare in coordinate polari, per cui ho scritto qualche classe per manipolare corde e settori circolari, ed un layer di interfaccia a Kicad più "pythonico" di quello offerto da Kicad. Il set di script è [[https://git.mittelab.org/proj/ratcam-illuminator/tree/master/synthesize|su Gitlab]], consta di | All'inizio avevo scritto il codice minimo indispensabile per generare tracce circolari, ma mi sono reso conto che per allineare correttamente i componenti e calcolare i fill c'era bisogno di un supporto più estensivo per lavorare in coordinate polari, per cui ho scritto qualche classe per manipolare corde e settori circolari, ed un layer di interfaccia a Kicad più "pythonico" di quello offerto da Kicad. Il set di script è [[https://git.mittelab.org/proj/ratcam-illuminator/tree/master/synthesize|su Gitlab]], consta di |
| |
=== Placement e routing === | === Placement e routing === |
{{ :progetti:5p4k:ratcamv1_pcb_back.png?direct&400|}} | {{ :progetti:5p4k:ratcamv1_pcb_back.png?direct&375|}} |
Segue l'outline dell'algoritmo di placement e routing usato. | Segue l'outline dell'algoritmo di placement e routing usato. |
| |