Questo è il primo progetto del
Ogni Giovedì sera alle 22:00 ci incontriamo su Twitch Tv per progettare insieme il Robot che risolve il Cubo di Rubik, partendo da zero. Affronteremo tutti i passaggi in maniera approfondita. Ho deciso di utilizzare tecnologie che conosco "per sentito dire", ma su cui non ho mai lavorato. In questo modo vedrai tutto il processo che sta dietro alla ricerca di una soluzione. A differenza di altri progetti che trovi in rete, #progetto1000 non esiste ancora, lo possiamo creare insieme.
Lo scopo non è mostrare al mondo quanto siamo bravi, ma mostrare agli aspiranti progettisti quali sono tutte le difficoltà che potranno incontrare nel loro percorso e suggerire un modo per affrontarle e superarle.
🎬 Canale Twitch: https://www.twitch.tv/fremsoft
Siccome si tratta di un progetto collaborativo, per definire le specifiche di progetto sono stati fatti alcuni sondaggi esplorativi per determinare quali tecnologie utilizzare in questo primo progetto. I risultati del sondaggio sono i seguenti:
-
Arduino o Microchip PIC? ARDUINO [4 voti / 2]
-
Encoder Ottico o Accelerometro Gravitazionale? ENCODER OTTICO [3 voti / 1]
-
Costruzioni LEGO o Particolari stampati con Stampante 3D? STAMPA 3D [3 voti / 4]
-
Stand alone o Connesso a un PC/Smartphone? SIA STANDALONE CHE COMANDATO [4 voti / 4]
-
Muto o Sonoro? SONORO [3 voti / 4]
-
Cieco o con Telecamera? TELECAMERA [0 voti / 4]
-
Procedurale o Intelligenza Artificiale? A.I. [0 voti / 5 ]
Ogni progetto che si rispetti deve prevedere una serie di fasi da svolgere. Maggiore sarà la difficoltà del progetto e maggiori sono le incognite, tanto più sarà difficile riuscire a prevedere con esattezza tutte le fasi. Ciononostante, è sempre buona norma prevedere con la massima accuratezza tutte le fasi del progetto in una sorta di planning. Ad ogni modo il progetto può essere periodicamente rivisitato, modificato e corretto, in corso d'opera.
L'utilità di suddividere il progetto in attività elementari, consente al progettista di avere un approccio più razionale ed evitare di disperdersi. Inoltre, laddove sia possibile lavorare in Team, la suddivisione del progetto in attività consente di stabilire se alcune attività possano essere svolte simultaneamente da più attori, per esempio dopo aver definito le specifiche di progetto con precisione, si può affidare il progetto meccanico ad un Team ed il progetto elettronico ad un altro Team di sviluppatori.
- Analisi di fattibilità
- Raccolta della documentazione e prove sperimentali con prototipi
- Dimensioni meccaniche e forze necessarie a manipolare il cubo di Rubik
- Caratteristiche elettriche e meccaniche dei motori c.c.
- Caratteristiche elettriche del driver (ponte-H) per motori c.c.
- Specifiche elettriche dei sensori ottici (fotoresistori/TCUT1350x01)
- Funzionamento di Arduino (uscite PWM, uscite parallele, timers)
- DAC e amplificatore audio per speaker 8 ohm
- Slot per Micro SD Card per Arduino per storage file audio
- Funzionamento Chip Camera OV7670 e acquisizione immagini
- Ottica del sensore OV7670
- Funzionamento del modulo WiFi per comunicazione con Smartphone
- Alimentazione 5V @ 10A
- [-]
Selezione molle per mano robotica
- Progettazione meccanica
- Realizzazione delle parti che compongono il Robot (esportati in STL)
- Stampare in 3D le componenti meccaniche
- Assemblare le parti meccaniche con le parti elettriche (motori, encoder, etc)
- Progettazione elettronica
- Alimentazione
- Shield p1000
- DAC e Amplificatore per altoparlante
- Modulo SD-Card
- Interfacciamento Chip Camera OV7670
- Modulo WiFi
- Circuiti di condizionamento dei sensori ottici
- Comando motori
- Protezioni e filtri EMC/EMI
- Montare i componenti elettronici
- Collaudo generale dell'elettronica
- Progettazione del programma su Arduino
- Movimentazione elementare (attraverso la porta seriale invieremo i comandi per eseguire i movimenti)
- Acquisizione delle immagini da telecamera per distinguere i colori e mappare gli elementi del cubo di Rubik
- Implementare gli algoritmi del metodo CFOP semplificato
- Croce bianca
- Faccia bianca e primo strato
- Secondo strato
- Croce gialla
- OLL
- PLL (primo passaggio)
- PLL (secondo passaggio)
- Allineamento terzo strato
- Implementare i suoni
- Progettazione della rete neurale
- Addestramento di una rete neurale per riconoscere tutti gli OLL e PLL
- Implementazione della rete neurale nell'algoritmo
- Progettazione dell'applicativo per Android per mescolare il cubo con una specifica scramble o altro (forse questa fase salta)
- Dare un nome al robot
#progetto1000 è un progetto Open-Source collaborativo. Tutti i sorgenti elaborati in fase di progettazione sono presenti su questo canale GitHub. Esplora le cartelle di 001-progetto1000 e troverai i sorgenti del progetto meccanico, elettronico, software e altro materiale prodotto in fase di progettazione.
Il codice sorgente di Arduino sarà disponibile anche a questo link: Sorgenti Arduino
La Shield #P1000 è stata omaggiata da PcbWay.com che è sponsor ufficiale di Progetto 1000. Trovi il progetto del PCB scaricabile anche qui: Shield #P1000 su PcbWay, ricordati di votare il progetto!
Se #progetto1000 ti sta appassionando e desideri sostenere la progettazione, puoi acquistare i componenti necessari alla creazione del prototipo o le attrezzature necessarie all'allestimento del laboratorio, facendoli recapitare al mio indirizzo. La lista dei desideri completa dove trovi tutte le cose che servono:
📓 "Wish list Amazon" - https://amzn.to/2BDtwIV
Un altro modo per sostenere il canale è seguendo il canale YouTube, semplicemente guardando i video, iscrivendoti al canale, mettendo like e interagendo con i commenti, ma soprattutto condividendo i video che preferisci con i tuoi amici progettisti, sono tutti modi per sostenere gratuitamente il canale.
#progetto1000 sta nascendo, non abbiamo ancora una BOM (Bill Of Material), ma stiamo già acquistando un po' di materiale per realizzare il prototipo e fare le prime prove pratiche. Se vuoi sviluppare insieme a noi e vuoi eseguire le stesse prove a casa tua, ti indico quale materiale ho acquistato qui di seguito:
- Arduino Mega 2560
- Telecamera a colori per Arduino
- Set 6 motori con accessori
- Fotoresistore
- Shield #P1000 su PcbWay
Trovi la lista completa al seguente link: 🛒 Lista della spesa di #progetto1000