Re: Discord20 Star Wars - Millennium Falcon chase on Crait - bandai 1/144 - Nannolo
Inviato: 1 giugno 2021, 19:33
da Cafe89
nannolo ha scritto: 1 giugno 2021, 19:26
scusami ma e' stata la prima volta per me che ho usato arduino...
Nei prossimi aggiornamenti posto anche il listato così forse mi faccio capire di piu'...
Te che problema hai avuto esattamente?
Tranquillo, anzi grazie per la risposta esaustiva.
Anche io sono alle prime armi con Arduino e, documentandomi in giro per un progetto a cui sto lavorando, ho letto in diversi lamentarsi di problemi di incompatibilità con il dfplayer, molti dovuti alla compatibilità con la scheda microSD (ho letto che schede oltre i 2gb non vengono supportate, e vai a trovarle nel 2020 microsd così ) e di compatibilità di file audio...
Re: Discord20 Star Wars - Millennium Falcon chase on Crait - bandai 1/144 - Nannolo
Inviato: 3 giugno 2021, 8:54
da FreestyleAurelio
Ho sentito parlare bene delle Raspberry come sostituta ad Arduino
Re: Discord20 Star Wars - Millennium Falcon chase on Crait - bandai 1/144 - Nannolo
Inviato: 3 giugno 2021, 10:41
da Cafe89
FreestyleAurelio ha scritto: 3 giugno 2021, 8:54
Ho sentito parlare bene delle Raspberry come sostituta ad Arduino
Mmmmmm sono prodotti "simili", ma lavorano in modi e ambienti abbastanza diversi.
Arduino è un microcontrollore, il Raspberry è proprio un "mini pc" su scheda, con uscita video etc.
Diciamo che, anche in relazione al costo, per progetti simili il Raspberry è abbastanza sprecato.
Re: Discord20 Star Wars - Millennium Falcon chase on Crait - bandai 1/144 - Nannolo
Inviato: 6 giugno 2021, 18:26
da nannolo
Cafe89 ha scritto: 1 giugno 2021, 19:33
Tranquillo, anzi grazie per la risposta esaustiva.
Anche io sono alle prime armi con Arduino e, documentandomi in giro per un progetto a cui sto lavorando, ho letto in diversi lamentarsi di problemi di incompatibilità con il dfplayer, molti dovuti alla compatibilità con la scheda microSD (ho letto che schede oltre i 2gb non vengono supportate, e vai a trovarle nel 2020 microsd così ) e di compatibilità di file audio...
io ho usato una sandisk da 16 gb e non ha dato problemi. I file audio sono MP3.
Per quanto riguarda arduino ho preferito usare questo microcontrollore anche perche' con 12 euro ho acquistato 3 arduino nano su amazon.
Se ti puo' essere utile questo e' lo schetch che ho scritto. Non e' assolutamente ne' pulito ne' ottimizzato, visto che man mano che andavo avanti aggiungevo pezzi e opzioni. Da un semplice lampeggio ho aggiunto prima i suoni, poi il BT e infine la app per il cell... Inoltre sono un po' arrugginito nella programmazione... ero rimasto al visual basic e al AS400 dei tempi della università...
Cmq spero sia un poco comprensibile
( per il listato aprire lo spoiler..)
► Mostra testo
// carica librerie
#include <SoftwareSerial.h>
#include "DFRobotDFPlayerMini.h"
//#include "Arduino.h"
//prepara le due seriali software
SoftwareSerial SSerial(7, 8);// seriale software per BT
DFRobotDFPlayerMini myDFPlayer;
SoftwareSerial mySoftwareSerial(10, 11); // // seriale software per mp3
// duchiarazioni costanti DFplayer
int buusyPin = 12; // pin per sound player busy
int bsy = 0;// DFplayer ;se 0 sta riproducendo mp3 , se 1 ha finito
//**********************************************fine
//dichiarazioni costanti lampeggio
unsigned long t1, dt1; //tempo millis e intervallo
unsigned long t2, dt2,t3,dt4,t4;//
int stato = LOW; // stato pulsante
int lampo = 0 ; // sstadio lampeggio+
int numlampo =0;
int tled1 =80; //lunghezza lampo accensione primo tratto led
int tled2 = 170;//lunghezza lampo accensione secondo tratto led
int tled4 = 85;
int tascolto=4000 ;
//************************************fine
int fase=0;
bool redo= false ; // costante per ripetizione luci intermittenti
bool stai = false; // per alternare stato pulsante per luci fisse
int pwm=6; // valore dello switch da assegnare al volume
// ***********************
void setup() {
delay (2000);
Serial.begin(9600); // serial monitor per debug
Serial.println("ok");
SSerial.begin(9600);
mySoftwareSerial.begin(9600);
// check errori mp3 da togliere
Serial.println();
Serial.println(F("DFRobot DFPlayer Mini Demo"));
Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3.
Serial.println(F("Unable to begin:"));
Serial.println(F("1.Please recheck the connection!"));
Serial.println(F("2.Please insert the SD card!"));
while (true);
}
Serial.println(F("DFPlayer Mini online."));
// fine check
}
String str = "";
void loop() {
SSerial.listen ();
Serial.print( "bt in ascolto" );
switch(fase){
case 0:
inizio();
break;
case 5:
tutto();
break;
case 10:
luci();
break;
case 20:
fisse();
break;
}
}
void inizio () {
SSerial.listen (); // ascolto seriale per tasti
Serial.print( "bt in ascolto" );
if (SSerial.available()) {
Serial.print ( " available");
char ch = SSerial.read(); // legge il valore che viene dalla seriale
Serial.println(ch);
if ( (ch == '\n') || (ch == '\r') ) { // se il carattere e' di invio allora manda alla funzione cmd
cmd(str);
str = "";
} else {
str += ch; // altrimenti accoda alla stringa
}
}
}
void tutto (){
mySoftwareSerial.listen(); // ascolta la seriale del mp3 player
Serial.print("mp3 in ascolto");
bsy=0; //imposta il pin del player che indica se in funzione a 0
numlampo = 0; // variabile che conta il numero del lampo fatto
lampo = 0 ; // variabile che indica la fase del lampeggio per ogni ciclo
delay(100);
t2 = millis(); // assegna a t2 il valore del tempo passato
t3 = (t2 + 9270 ); // dice dopo quanto della musica deve iniziare il lampeggio
// primo lampeggio da 6
while (bsy ==0 ){ // finche il player e' in funzione
myDFPlayer.play(1); // apre la traccia audio
while (numlampo < 6 ) {
t2 = millis();
if (t2 >= t3) { // e' ora di iniziare il lampeggio
bsy = digitalRead(buusyPin); // controlla se il player ha finito
}
if (myDFPlayer.available()) {
printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.
}
if (bsy =1){ // se ha finito torna a inizio()
fase = 0;
String str = "";
// "finito tutto"
}
}
delay(4000); // pausa tra un lampeggio e l'altro
//dt4 = millis () -t4;
//if (dt4 < tascolto){
inizio();
Serial.print("aspetto ||||||||||||||||||||||||||||");
t4=millis();
//}
numlampo = 0;
String str = "";
if (redo==true) { // controlla se lo switch e' stato pigiato. Se non e' atato toccato ripete il lampeggio
fase = 10;}
else if (redo==false){
fase =0;
}
}
// solo luci fisse per foto
void fisse() {
if (stai == true) { // controlla se lo switch e' stato azionato
digitalWrite(4, HIGH);
digitalWrite(3, HIGH );
String str = "";
fase =0;
}
if (stai ==false) {
void cmd(String str) {
char c = str.charAt(0);
if (c == 'a') {
Serial.println("a");
// fai luci e suoni
fase=5;
} else if (c == 's') {
redo=!redo ; // ogni volta che si pigia cambia stato
// solo luci intermittenti
fase=10;
} else if (c == 'x') {
stai=! stai;
// solo luci fisse
fase=20 ;
} else if (c == 'p') {
mySoftwareSerial.listen(); // se si e' toccato il volume si mette in ascolto la seriale mp3
String n = str.substring(2); // si leggono solo le cifre
int pwm = (int)n.toInt();
myDFPlayer.volume(pwm);//Set volume value. From 0 to 30
delay (600);
inizio();
}
}
// comunicazione problemi mp3
void printDetail(uint8_t type, int value) {
switch (type) {
case TimeOut:
Serial.println(F("Time Out!"));
break;
case WrongStack:
Serial.println(F("Stack Wrong!"));
break;
case DFPlayerCardInserted:
Serial.println(F("Card Inserted!"));
break;
case DFPlayerCardRemoved:
Serial.println(F("Card Removed!"));
break;
case DFPlayerCardOnline:
Serial.println(F("Card Online!"));
break;
case DFPlayerPlayFinished:
Serial.print(F("Number:"));
Serial.print(value);
Serial.println(F(" Play Finished!"));
break;
case DFPlayerError:
Serial.print(F("DFPlayerError:"));
switch (value) {
case Busy:
Serial.println(F("Card not found"));
break;
case Sleeping:
Serial.println(F("Sleeping"));
break;
case SerialWrongStack:
Serial.println(F("Get Wrong Stack"));
break;
case CheckSumNotMatch:
Serial.println(F("Check Sum Not Match"));
break;
case FileIndexOut:
Serial.println(F("File Index Out of Bound"));
break;
case FileMismatch:
Serial.println(F("Cannot Find File"));
break;
case Advertise:
Serial.println(F("In Advertise"));
break;
default:
break;
}
break;
default:
break;
}
}
Re: Discord20 Star Wars - Millennium Falcon chase on Crait - bandai 1/144 - Nannolo
Inviato: 6 giugno 2021, 22:31
da Cafe89
nannolo ha scritto: 6 giugno 2021, 18:26
io ho usato una sandisk da 16 gb e non ha dato problemi. I file audio sono MP3.
Per quanto riguarda arduino ho preferito usare questo microcontrollore anche perche' con 12 euro ho acquistato 3 arduino nano su amazon.
Se ti puo' essere utile questo e' lo schetch che ho scritto. Non e' assolutamente ne' pulito ne' ottimizzato, visto che man mano che andavo avanti aggiungevo pezzi e opzioni. Da un semplice lampeggio ho aggiunto prima i suoni, poi il BT e infine la app per il cell... Inoltre sono un po' arrugginito nella programmazione... ero rimasto al visual basic e al AS400 dei tempi della università...
Cmq spero sia un poco comprensibile
( per il listato aprire lo spoiler..)
► Mostra testo
// carica librerie
#include <SoftwareSerial.h>
#include "DFRobotDFPlayerMini.h"
//#include "Arduino.h"
//prepara le due seriali software
SoftwareSerial SSerial(7, 8);// seriale software per BT
DFRobotDFPlayerMini myDFPlayer;
SoftwareSerial mySoftwareSerial(10, 11); // // seriale software per mp3
// duchiarazioni costanti DFplayer
int buusyPin = 12; // pin per sound player busy
int bsy = 0;// DFplayer ;se 0 sta riproducendo mp3 , se 1 ha finito
//**********************************************fine
//dichiarazioni costanti lampeggio
unsigned long t1, dt1; //tempo millis e intervallo
unsigned long t2, dt2,t3,dt4,t4;//
int stato = LOW; // stato pulsante
int lampo = 0 ; // sstadio lampeggio+
int numlampo =0;
int tled1 =80; //lunghezza lampo accensione primo tratto led
int tled2 = 170;//lunghezza lampo accensione secondo tratto led
int tled4 = 85;
int tascolto=4000 ;
//************************************fine
int fase=0;
bool redo= false ; // costante per ripetizione luci intermittenti
bool stai = false; // per alternare stato pulsante per luci fisse
int pwm=6; // valore dello switch da assegnare al volume
// ***********************
void setup() {
delay (2000);
Serial.begin(9600); // serial monitor per debug
Serial.println("ok");
SSerial.begin(9600);
mySoftwareSerial.begin(9600);
// check errori mp3 da togliere
Serial.println();
Serial.println(F("DFRobot DFPlayer Mini Demo"));
Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3.
Serial.println(F("Unable to begin:"));
Serial.println(F("1.Please recheck the connection!"));
Serial.println(F("2.Please insert the SD card!"));
while (true);
}
Serial.println(F("DFPlayer Mini online."));
// fine check
}
String str = "";
void loop() {
SSerial.listen ();
Serial.print( "bt in ascolto" );
switch(fase){
case 0:
inizio();
break;
case 5:
tutto();
break;
case 10:
luci();
break;
case 20:
fisse();
break;
}
}
void inizio () {
SSerial.listen (); // ascolto seriale per tasti
Serial.print( "bt in ascolto" );
if (SSerial.available()) {
Serial.print ( " available");
char ch = SSerial.read(); // legge il valore che viene dalla seriale
Serial.println(ch);
if ( (ch == '\n') || (ch == '\r') ) { // se il carattere e' di invio allora manda alla funzione cmd
cmd(str);
str = "";
} else {
str += ch; // altrimenti accoda alla stringa
}
}
}
void tutto (){
mySoftwareSerial.listen(); // ascolta la seriale del mp3 player
Serial.print("mp3 in ascolto");
bsy=0; //imposta il pin del player che indica se in funzione a 0
numlampo = 0; // variabile che conta il numero del lampo fatto
lampo = 0 ; // variabile che indica la fase del lampeggio per ogni ciclo
delay(100);
t2 = millis(); // assegna a t2 il valore del tempo passato
t3 = (t2 + 9270 ); // dice dopo quanto della musica deve iniziare il lampeggio
// primo lampeggio da 6
while (bsy ==0 ){ // finche il player e' in funzione
myDFPlayer.play(1); // apre la traccia audio
while (numlampo < 6 ) {
t2 = millis();
if (t2 >= t3) { // e' ora di iniziare il lampeggio
bsy = digitalRead(buusyPin); // controlla se il player ha finito
}
if (myDFPlayer.available()) {
printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.
}
if (bsy =1){ // se ha finito torna a inizio()
fase = 0;
String str = "";
// "finito tutto"
}
}
delay(4000); // pausa tra un lampeggio e l'altro
//dt4 = millis () -t4;
//if (dt4 < tascolto){
inizio();
Serial.print("aspetto ||||||||||||||||||||||||||||");
t4=millis();
//}
numlampo = 0;
String str = "";
if (redo==true) { // controlla se lo switch e' stato pigiato. Se non e' atato toccato ripete il lampeggio
fase = 10;}
else if (redo==false){
fase =0;
}
}
// solo luci fisse per foto
void fisse() {
if (stai == true) { // controlla se lo switch e' stato azionato
digitalWrite(4, HIGH);
digitalWrite(3, HIGH );
String str = "";
fase =0;
}
if (stai ==false) {
void cmd(String str) {
char c = str.charAt(0);
if (c == 'a') {
Serial.println("a");
// fai luci e suoni
fase=5;
} else if (c == 's') {
redo=!redo ; // ogni volta che si pigia cambia stato
// solo luci intermittenti
fase=10;
} else if (c == 'x') {
stai=! stai;
// solo luci fisse
fase=20 ;
} else if (c == 'p') {
mySoftwareSerial.listen(); // se si e' toccato il volume si mette in ascolto la seriale mp3
String n = str.substring(2); // si leggono solo le cifre
int pwm = (int)n.toInt();
myDFPlayer.volume(pwm);//Set volume value. From 0 to 30
delay (600);
inizio();
}
}
// comunicazione problemi mp3
void printDetail(uint8_t type, int value) {
switch (type) {
case TimeOut:
Serial.println(F("Time Out!"));
break;
case WrongStack:
Serial.println(F("Stack Wrong!"));
break;
case DFPlayerCardInserted:
Serial.println(F("Card Inserted!"));
break;
case DFPlayerCardRemoved:
Serial.println(F("Card Removed!"));
break;
case DFPlayerCardOnline:
Serial.println(F("Card Online!"));
break;
case DFPlayerPlayFinished:
Serial.print(F("Number:"));
Serial.print(value);
Serial.println(F(" Play Finished!"));
break;
case DFPlayerError:
Serial.print(F("DFPlayerError:"));
switch (value) {
case Busy:
Serial.println(F("Card not found"));
break;
case Sleeping:
Serial.println(F("Sleeping"));
break;
case SerialWrongStack:
Serial.println(F("Get Wrong Stack"));
break;
case CheckSumNotMatch:
Serial.println(F("Check Sum Not Match"));
break;
case FileIndexOut:
Serial.println(F("File Index Out of Bound"));
break;
case FileMismatch:
Serial.println(F("Cannot Find File"));
break;
case Advertise:
Serial.println(F("In Advertise"));
break;
default:
break;
}
break;
default:
break;
}
}
Ottimo a sapersi, mi hai tolto un enorme peso per via della micro sd
Ho acquistato gli stessi nano anche io (elegoo), ma non credevo potessero montare il df, ancora meglio dato che me ne avanzano 2
Grazie mille per le dritte e per il codice
Re: Discord20 Star Wars - Millennium Falcon chase on Crait - bandai 1/144 - Nannolo
Inviato: 12 giugno 2021, 17:49
da nannolo
aggiornamento ....
Una volta dato il colore base mi sono dedicato all'invecchiamento del falcon.
Ho utilizzato i colori ad olio della Abteilung. Per questi lavori li trovo ottimi perche' meno oleosi e piu' opachi dei colori classici. Non li amo molto invece per dipingere i figurini per i quali preferisco i windsor che hanno un pigmento piu' fine.
Per prima cosa ho effettuato un lavaggio con il terra di cassel per evidenziare i volumi.Poi dato un filtro su tutte le superfici con la tecnica del dot fading.
In pratica ho "puntinato" il modello con piccole quantità di olio di diversi colori. Poi con il pennello inumidito di diluente ho tirato e diffuso il colore cercando di rispettare la legge di gravità,seguendo le pendenze del modello. Il risultato e' un filtro non omogeneo per saturazione e intensità che da l'idea di uno sporco accumulato nel tempo.
I colori utilizzati sono stati lo starship filth, il dark rust, il basic earth e il faded navy blue. A parte il blu sono tutti colori caldi per dare questa tonalità al bianco di partenza.
Poi ho desaturato i pannelli con del faded grey e del dust( simile al deck tan...).
Tengo a precisare che sarebbero andati bene anche altri colori ad olio di altre marche. Io ho questi abteilung da parecchio tempo e li uso per l'invecchiamento ma basta anche sgrassare bene altri colori stendendoli su un cartoncino che assorbe l'olio in eccesso.
Tornando al modello, mi sono da ultimo dedicato a realizzare delle striature più marcate con lo starship filth ( simile ad un grigio tendente al marrone) .
Quindi ho lavorato sulle griglie fotoincise che ho preso per sostutuire quelle in plastica del kit.
Anche qui ho usato i colori ad olio con la tecnica del dry brush. Dopo un poco di rust sul metallo, ho usato lo starship filth per i fumi. Alcuni di voi potrebbero essere abituati ad altri modelli in cui sono realizzati molto piu' marcati. Ma bisogna ricordare che i contrasti sono molto esasperati dalle riprese del film in cui i bianchi e i neri sono piu' accentuati di quello che sono in realtà. Per questo mi sono fermato prima di esagerare troppo.
Insomma alla fine il risultato e' questo ( le foto schiacciano un po' le sfumature ma penso che qualcosa si veda lo stesso) :
Ora inizio a chiudere tutto posizionando le fibre e gli altri led...
Re: Discord20 Star Wars - Millennium Falcon chase on Crait - bandai 1/144 - Nannolo
Inviato: 13 giugno 2021, 11:19
da Alecs®
Se a qualcuno interessa, tutte le foto sono state prese dal DVD: Making Star Wars - Edizioni Lucasfilms
Le sfumature e gli effetti che hai dato alle varie parti sono fantastiche
Re: Discord20 Star Wars - Millennium Falcon chase on Crait - bandai 1/144 - Nannolo
Inviato: 14 giugno 2021, 9:41
da Aquila1411
Complimenti Andrea, sta venendo davvero belissimo!!! Non vedo l'ora di vederlo finito!!!
Re: Discord20 Star Wars - Millennium Falcon chase on Crait - bandai 1/144 - Nannolo
Inviato: 27 giugno 2021, 11:47
da microciccio
Ciao Andrea,
grazie per le informazioni sugli Abteilung 502. Finora non li ho mai usati.
Off Topic
nannolo ha scritto: 1 giugno 2021, 19:26... Anche io ho iniziato come te... poi piano piano si sono aggiunti anche i sequel, i prequel, gli spin off... e ora ci stanno anche le serie a puntate... Mi tocca prendere un mese di ferie per vedere tutto ogni volta ...
microciccio
Nota: in una delle ultime foto ho notato che hai nascosto The Tamiya Menace!