Skip to content

fremsoft/001-progetto1000

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#progetto1000 il Robot che risolve il Cubo di Rubik

Questo è il primo progetto del ▶️ Canale YouTube "PROGETTI con Emanuele Frisoni", un progetto collaborativo che nasce al raggiungimento di 1000 iscritti: 🎥 Guarda la Playlist completa del progetto

  1. Parte la progettazione in Live Streaming su Twitch

  2. Definizione delle specifiche

  3. Attività da svolgere e svolte

  4. Codici sorgenti

  5. Sostieni PROGETTO1000

  6. Lista della spesa

    6.1 Attrezzature da laboratorio e Kit

    6.2 Materiale e schede elettroniche

    6.3 Materiale vario per assemblaggio prototipo

Parte la progettazione in Live Streaming su Twitch

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

^ Torna su

Definizione delle specifiche

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:

  1. Arduino o Microchip PIC? ARDUINO [4 voti / 2]

  2. Encoder Ottico o Accelerometro Gravitazionale? ENCODER OTTICO [3 voti / 1]

  3. Costruzioni LEGO o Particolari stampati con Stampante 3D? STAMPA 3D [3 voti / 4]

  4. Stand alone o Connesso a un PC/Smartphone? SIA STANDALONE CHE COMANDATO [4 voti / 4]

  5. Muto o Sonoro? SONORO [3 voti / 4]

  6. Cieco o con Telecamera? TELECAMERA [0 voti / 4]

  7. Procedurale o Intelligenza Artificiale? A.I. [0 voti / 5 ]

^ Torna su

Attività da svolgere e svolte

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

^ Torna su

Codici sorgenti

#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!

^ Torna su

Sostieni PROGETTO1000

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.

^ Torna su

Lista della spesa

#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:

Attrezzature da laboratorio e Kit

Materiale e schede elettroniche

Materiale vario per assemblaggio prototipo

Trovi la lista completa al seguente link: 🛒 Lista della spesa di #progetto1000

^ Torna su

About

Il primo progetto del canale, un progetto collaborativo che nasce a mille iscritti sul canale YouTube @fremsoft

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages