Sommario:
- Forniture
- Passaggio 1: configurazione del Raspberry Pi
- Passaggio 2: capire come funzionerà l'installazione
- Passaggio 3: backend del Pi
- Passaggio 4: frontend del Pi
- Passaggio 5: Arduino
- Passaggio 6: collegare tutto
Video: Argano controllato da Art-Net: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Ciao a tutti, in questo tutorial spiegherò come ho creato il mio verricello controllato da art-net. "La tua cosa?" ti sento chiedere, beh, lascia che ti spieghi molto rapidamente. Qualche anno fa abbiamo organizzato una festa con la casa della gioventù locale e come scenografia abbiamo avuto l'idea di realizzare un tetto mobile.
Con 9 argani (takel) abbiamo sollevato un gigantesco telo bianco e tramite protocollo dmx li abbiamo controllati. Ma all'epoca gli argani che usavamo erano controllati in 3 fasi. Quindi per farlo andare su e giù abbiamo dovuto creare un sistema di relais controllato da un mega Arduino centrale che veniva controllato tramite dmx. Il relè dove commutare le tensioni di 230V e 12 amp.
Per dirla in termini più comprensibili, abbiamo dovuto creare un gigantesco pasticcio di cavi e relais che fosse super instabile, inaffidabile e piuttosto pericoloso in realtà.
Quindi abbiamo pensato che ci deve essere un modo migliore per farlo. Abbiamo iniziato a pensare e siamo giunti alla conclusione che il modo migliore per farlo sarebbe attraverso un sistema modulare di argani, controllati tramite il protocollo Art-Net, quindi avremmo solo bisogno di una fonte di tensione e di un cavo ethernet.
Quindi è esattamente quello che ho creato e cercherò di spiegarti come ho fatto. L'intera configurazione si basa su un Raspberry Pi che controlla il processo di installazione. Una volta impostato il controllo, il controllo è affidato a un computer leggero (Chamsys, ecc.) che da lì in poi controllerà i verricelli.
Presumo che tu abbia una conoscenza di base di python, arduino e raspberry pi aswel come capire qualcosa sul protocollo e sui controller art-net.
Forniture
Di cosa avrai bisogno:
- lampone pi
- Arduino
- Scudo Ethernet Arduino
- Scudo motore Arduino
- Qualsiasi schermo OLED
- cavo Ethernet
- interruttore ethernet
- Motore DC con encoder integrato
Passaggio 1: configurazione del Raspberry Pi
Ok, quindi il modo in cui funzionerà è che il Raspberry Pi eseguirà un server Apache e un MariaDB. Il server Apache deve ospitare il sito Web, il MariaDB deve mantenere un database in cui conserveremo i dati degli argani.
Non ti guiderò attraverso l'intero processo di configurazione del pi con ssh, se non hai familiarità ecco un buon tutorial.
Quindi prima di tutto ci assicureremo che il raspberry pi sia tutto configurato, nell'esecuzione del terminale:
Per installare apache
sudo apt install apache2 -y
Per installare mariaDB
sudo apt-get install mariadb-server
Queste sono tutte le estensioni Python di cui avremo bisogno
pip3 installa mysql-connector-python
pip3 installa flask-socketio pip3 installa flask-cors pip3 installa gevent pip3 installa gevent-websocket pip3 installa netifaces
Per il display OLED abbiamo bisogno di un processo di installazione un po' più difficile che può essere trovato qui.
Ok questo è tutto fatto!
Passaggio 2: capire come funzionerà l'installazione
Quindi, come si desidera impostare il verricello è assegnandogli una posizione iniziale e una posizione finale. Verrà assegnato un determinato canale e con questo canale potrai solo spostarti tra la statistica scelta e la posizione finale.
Per selezionare queste posizioni dovrai spostare il verricello su di esse, una volta che sei lì girerai un determinato canale al valore di 56. Quando questo esatto canale raggiunge quel valore saprà che questa è la sua posizione finale di inizio / fine, se ha bisogno di spostarsi in alto o in basso o se ha bisogno di cambiare i suoi valori artnet. Anche lo spostamento del verricello viene eseguito impostando un determinato canale su 56. "E perché 56" ti chiedo, beh, dovevo scegliere qualcosa:).
La posizione viene calcolata tramite l'encoder presente sul motore DC.
Passaggio 3: backend del Pi
Il backend per il sistema può essere trovato sul mio github. Ho scritto la mia libreria per il protocollo art-net, quindi sentiti libero di usarla. Non ti guiderò attraverso tutto riga per riga, ma ti darò l'idea generale di tutto.
Il codice esegue un server flask che comunica con il server Apache in esecuzione sul pi. Utilizza il modulo flask-socketio per inviare e ricevere dati al frontend. La libreria art-net utilizza il modulo socket di python per inviare pacchetti UDP da e verso arduino.
Ogni metodo che inizia con @socketio.on('F2B_***') è in attesa di una chiamata F2B dal frontend. Una volta ricevuto, eseguirà l'azione corrispondente. Che si tratti di inviare un commando artnet o di ottenere dati dal DB e inviarli di nuovo in primo piano.
Il metodo oled_show_info() viene utilizzato per visualizzare l'ip dell'ip (sia sulle interfacce wlan che ethernet).
quindi esegui il codice con
python3 app.py
Passaggio 4: frontend del Pi
Per poter modificare il frontend del pi devi prima darti accesso alla directory /var/www/html/. Qui è dove Apache ottiene i suoi file da visualizzare sul suo sito web. Per ottenere l'accesso eseguire:
sudo chmod 777 /var/www/html/
Ora è tutto fatto, prendi il codice per il frontend del mio github e inseriscilo nella directory /var/www/html/.
Il frontend utilizza lo stesso principio del backend ma ora invia i comandi F2B_*** quando viene premuto un pulsante o viene spostato il cursore.
E questo è il frontend fatto!
Passaggio 5: Arduino
Per usare l'arduino dovrai usare lo scudo ethernet e lo scudo del motore. Basta spingerli delicatamente sull'arduino. Assicurati di non spingere troppo lo schermo del motore sullo schermo ethernet o cortocircuiterai i 2 pin del motore sulla connessione ethernet!
Il codice per arduino si trova anche sul mio github. Carica il file artnet_winch.ino e tutto dovrebbe essere a posto.
Assicurati di definire i pin giusti per i pin corretti del tuo motore. I pin del motorshield vengono scelti con i pin dell'intestazione sulla parte superiore dello shield. Questi pin vengono scelti sotto //--- motor config. Così come i pin dell'encoder che devono essere collegati ai pin di destra dell'arduino.
Assicurati anche che il tuo indirizzo MAC dello shield sia corretto. Questo può essere trovato su un adesivo sotto lo scudo e modificato nella variabile MAC. L'IP che usi per il pi deve essere nello stesso intervallo del PI, questo può essere normalmente trovato sullo schermo oled.
Il codice sembra un po' troppo ma non è così difficile da capire. Fondamentalmente lo scudo ethernet legge costantemente i pacchetti udp in arrivo. Se quel pacchetto è un pacchetto Artnet, lo decodifica e ottiene le informazioni di cui ha bisogno da esso. I diversi pacchetti artnet sono ben descritti sul sito web di Art-Net, quindi se sei interessato puoi leggere cosa fanno tutti.
Se riceve un pacchetto ArtPoll, risponderà con un ArtPollReply. questo viene utilizzato nella funzione callout nel backend per trovare quali dispositivi sono sulla rete.
Se riceve un pacchetto ArtDMX, decodificherà il pacchetto e utilizzerà i dati forniti per eseguire determinati comandi di configurazione o per spostare il verricello in posizione.
La funzione move_takel trasforma il valore DMX dato (tra 0-255) in una posizione tra la posizione iniziale e quella finale (0 è la fine e 255 l'inizio). Se la posizione dell'encoder non è uguale al valore trasformato il verricello si sposterà su/giù a seconda di dove ti trovi.
Stavo lavorando su un ciclo di feedback tra PI e arduino in modo che potesse tenere il passo con la sua posizione, ma il mio arduino ha esaurito la memoria per memorizzare il programma:).
Montare tutto
Per il suo montaggio ho attaccato il motore ad un supporto metallico e ci ho messo sopra una specie di tubo. Poi basta attaccare una corda al tubo e usare un rotolo di nastro adesivo come peso. Questo è molto semplice e puoi diventare molto creativo nel modo in cui vuoi montarlo.
Passaggio 6: collegare tutto
Una volta che l'arduino e il pi sono tutti configurati, collega semplicemente entrambi i cavi ethernet allo switch e dovrebbe essere così!
Puoi testarlo navigando sull'ip wlan fornito sullo schermo oled e dovresti vedere il sito. Premi Trova dispositivi per vedere se riesci a trovare il dispositivo. Se non mostra nulla, il tuo arduino non è ben collegato o l'IP che hai scelto non è nello stesso intervallo di quello del PI.
Quando vedi il dispositivo, premi semplicemente setup. Nel menu di configurazione puoi spostare il verricello usando le frecce e verificare se le sue posizioni di inizio e fine sono corrette con il cursore.
Assicurati che anche il tuo controller sia collegato allo shield e che il suo IP sia nel raggio di quello di PI e arduino.
Questo è tutto!
Consigliato:
Albero di Natale controllato dal sito web (chiunque può controllarlo): 19 passaggi (con immagini)
Albero di Natale controllato da un sito web (chiunque può controllarlo): vuoi sapere che aspetto ha un albero di Natale controllato da un sito web? Ecco il video che mostra il mio progetto del mio albero di Natale. Il live streaming è terminato ormai, ma ho fatto un video, catturando quello che stava succedendo: Quest'anno, a metà dicembre
Glass Stone LED Tube (WiFi controllato tramite app per smartphone): 6 passaggi (con immagini)
Glass Stone LED Tube (WiFi controllato tramite l'app per smartphone): ciao amici produttori! I LED sono indirizzabili individualmente e quindi sono possibili alcuni effetti piacevoli nel
Fai da te -- Come creare un robot ragno che può essere controllato tramite smartphone utilizzando Arduino Uno: 6 passaggi
Fai da te || Come creare un robot ragno che può essere controllato tramite smartphone utilizzando Arduino Uno: Durante la creazione di un robot Spider, si possono imparare tante cose sulla robotica. Come fare robot è divertente oltre che stimolante. In questo video ti mostreremo come realizzare un robot Spider, che possiamo azionare utilizzando il nostro smartphone (Androi
Albero di Natale NeoPixel controllato da Bluetooth: 5 passaggi
Albero di Natale NeoPixel controllato da Bluetooth: ti stavi chiedendo come aggiungere IoT (Internet of Things) nel tuo albero di Natale quest'anno? Beh, è assolutamente possibile! Io personalmente chiamo questo progetto "ArduXmas", e consiste in una striscia led RGB NeoPixel comandata da un cinghiale Arduino
Color Cloud controllato da app: 7 passaggi (con immagini)
App Controlled Color Cloud: Ciao, in questo tutorial ti mostro come costruire un'illuminazione della stanza da una griglia di ghiaia. Il tutto può essere controllato tramite WLAN con un'app.https://youtu.be/NQPSnQKSuoUCi sono stati alcuni problemi con il progetto. Ma alla fine puoi farcela