La festa che si svolge ogni anno il 31 ottobre è Halloween, conosciuta anche come la Notte delle Streghe. È una celebrazione particolarmente popolare nei Paesi anglosassoni come Stati Uniti, Canada, Irlanda e Regno Unito, ma negli ultimi decenni si è diffusa in molte parti del mondo.
Le sue origini risalgono ai rituali pagani e alle credenze sull'aldilà. Il nome deriva dall'espressione "All Hallows' Eve", che significa "vigilia di tutti i giorni". Nel corso del tempo, questa espressione si è abbreviata in "Halloween", ma oggi viene celebrata soprattutto come festa del divertimento. È una celebrazione associata al soprannaturale, alla paura e al divertimento, con costumi, zucche illuminate, caramelle e storie spaventose in abbondanza.
La festa è caratterizzata da travestimenti che rappresentano creature soprannaturali (streghe, vampiri, fantasmi, mostri) ed è consuetudine che i bambini vadano di casa in casa a chiedere dolci con lo slogan "Dolcetto o scherzetto". Se non ricevono dolci, possono fare uno scherzetto.
Case, scuole e negozi vengono decorati con elementi spettrali: ragnatele, scheletri, teschi, pipistrelli, fantasmi e luci soffuse. Per la decorazione di quest'anno, abbiamo realizzato un progetto con uno scheletro che oscilla avanti e indietro e che, quando qualcuno si avvicina, si ferma, i suoi occhi si illuminano e si alza in piedi, naturalmente con effetti sonori per aumentare l'impressione.
I materiali richiesti sono:
● 1 AZ-Nano Scheda V3 con connessione USB-C con Atmega328 CH340
● 1 Scheda adattatore per terminali con terminali a vite, compatibile con Nano V3
● 1 Adattatore di alimentazione per breadboard MB102
● 1 Mini breadboard 400 PIN con 4 sbarre per cavi di collegamento
● 1 HC-SR04 Modulo a ultrasuoni
● Cavo di collegamento 3 x 40 pezzi, 20 cm, M2M / F2M / F2F
● 2 LED rosso
● 1 Mini lettore MP3 Modulo master DFPlayer
● 2 Unità DFPlayer Mini 3 Watt 8 Ohm mini altoparlante
● 1 PAM8403 mini amplificatore audio digitale 2x 3 Watt
● Rame stagnato ultra flessibile
● Legno di balsa di 3 mm di spessore e colla per legno bianca
Il software richiesto è:
● IDE Arduino
● Libreria SPI.h (inclusa nell'IDE Arduino)
● Minibiblioteca DFPlayer di DFRobot (DFRobotDFPlayerMini.h)
● Libreria Servo.h (Scarica da arduino.cc)
● 001.mp3
● 002.mp3
Circuito e descrizione dei moduli utilizzati

Figura 1 - Schema elettronico

Figura 2 - Distribuzione dei componenti
Come si può vedere dallo schema del circuito, per muovere il progetto vengono utilizzati due servomotori. Il servomotore MG90S con ingranaggi in metallo è utilizzato per muovere la sedia a dondolo, poiché deve svolgere la maggior parte del lavoro essendo costantemente in movimento. Il servomotore SG90 con ingranaggi in plastica è stato scelto per il movimento di sollevamento dello scheletro, in quanto si attiva solo quando viene rilevata una presenza. Per il rilevamento della presenza è stato utilizzato il modulo a ultrasuoni HC-SR04, poiché per attivare lo scheletro è necessario conoscere la distanza delle persone. Per illuminare gli occhi dello scheletro sono stati utilizzati due LED rossi, ciascuno dei quali deve essere collegato a una resistenza da 330 Ohm per regolare la tensione di alimentazione ed evitare di danneggiarli. Per il suono della sedia a dondolo e dello scheletro sono stati utilizzati il modulo DFPlayer MP3 mini, l'amplificatore sonoro PAM8403 e due altoparlanti DFPlayer Mini 3 Watt 8 Ohm. L'alimentazione dell'intero set è fornita dall'alimentatore MB102 e dall'AZ-Nano V3 con connessione USB-C.
Come già accennato, questo progetto utilizza un modulo di riproduzione MP3 e un amplificatore per riprodurre i suoni. I pin di collegamento dei due moduli sono i seguenti:

Immagine 3 - PAM8403

Figura 4 - Mini lettore MP3
Per una corretta riproduzione dei file audio, il primo file audio da salvare sulla scheda microSD deve essere denominato 001.mp3 e contenere il suono del legno che scricchiola. Successivamente viene salvato il file audio 002.mp3. Il modulo di riproduzione MP3 ha la particolarità che quando si richiama il file 001 viene riprodotto il primo file salvato e quando si richiama il file 002.mp3 viene riprodotto il secondo file audio salvato.
Piani delle figure di progetto
Il progetto è composto da tre parti: una sedia a dondolo, il telaio e la base in cui sono installati i componenti elettronici. È stato utilizzato il legno di balsa, un materiale leggero e molto resistente. La sedia a dondolo è composta da quattro parti: lo schienale, due parti laterali e la seduta, tutte con uno spessore di 6 millimetri. Per ottenere questo spessore, due parti uguali con uno spessore di 3 mm sono state incollate insieme con colla bianca. Le dimensioni delle parti della sedia a dondolo sono le seguenti:

Immagine 5 - Sedia a dondolo
La figura dello scheletro è composta da 9 parti: Cranio, schiena, bacino, braccia e gambe.

Immagine 6 - Scheletro
Il pezzo di cranio è spesso 15 millimetri, quindi è necessario incollare 5 pezzi di legno. I primi due pezzi sono costituiti solo dal cranio, gli ultimi tre dal cranio e da un'asta.
Per fissare i due LED rossi negli occhi del teschio, sono stati scavati gli occhi delle prime quattro parti del teschio e sono stati praticati dei fori nella quinta parte (quella posteriore) per far uscire i collegamenti dei LED, che vengono inseriti nelle orbite.

Immagine 7 - Cranio e occhi nel cranio
Il cranio e la schiena sono attaccati a un palo che serve a sollevare lo scheletro della sedia. Le braccia sono collegate da un pezzo di filo che attraversa il palo e sono attaccate a un altro filo verticale che è attaccato alla base dello scheletro e fa ruotare le braccia, dando l'impressione che vengano sollevate quando lo scheletro viene sollevato. Il servomotore è installato alla base dell'insieme dello scheletro per azionare il montante e sollevare lo scheletro.

Figura 8 - Vista dettagliata del meccanismo di movimento del braccio

Figura 9 - Servomotore per il sollevamento dello scheletro
Le gambe dello scheletro sono state incollate alla base su cui poggia lo scheletro. Gli ultimi due dettagli dello scheletro sono il mantello e la falce. Il mantello è diviso in tre parti: il cappuccio, le maniche e il mantello stesso. Per realizzare il cappuccio, la parte superiore deve essere incollata o cucita e poi incollata alla parte superiore del mantello. Per realizzare le maniche, bisogna creare due rettangoli, piegarli e incollarli su un lato. Le maniche devono essere incollate al mantello o alle braccia dello scheletro, a seconda delle necessità. In questo progetto sono state incollate alle braccia. Il mantello è stato tagliato a misura sul retro per far risaltare meglio lo scheletro. Infine, la falce ha uno spessore di 3 mm.

Immagine 10 - Indossare il mantello e la falce
La base della costruzione è costituita da una scatola che ospita i componenti elettronici e il servomotore che aziona la sedia a dondolo. Questo servomotore aziona la struttura, che ha due fili alle due estremità che attraversano la parte superiore della scatola e sono attaccati al retro delle guide della sedia a dondolo. In questo modo, consentiamo alla sedia a dondolo di muoversi.

Figura 11 - Dettagli della scatola

Figura 12 -

Figura 13 - Assemblaggio completato

Figura 14 - Assemblaggio completato

Figura 15 - Scheletro della falce
Descrizione del funzionamento del progetto e schizzo
Il funzionamento del circuito è semplice, come si può vedere dal circuito stesso. Il modulo a ultrasuoni HC-SR04 viene utilizzato per inviare segnali con una durata di 10 microsecondi e un tempo di attesa tra gli impulsi di 5 microsecondi. Quando il segnale viene riflesso da una persona o da un oggetto, il sensore rileva il segnale ricevuto e il microcontrollore calcola il tempo trascorso dal segnale alla sua ricezione. Poiché la velocità del suono nell'aria è nota, è possibile determinare la distanza dall'oggetto o dalla persona. Se la distanza è maggiore o uguale a 40 centimetri, la sedia a dondolo si muove grazie all'azione del servomotore MG90S e viene riprodotto un file MP3 con un suono di legno scricchiolante grazie alla combinazione del mini lettore MP3 DFPlayer Master Module, del mini amplificatore audio digitale PAM8403 e del mini altoparlante DFPlayer Mini 3 Watt 8 Ohm. Se viene rilevato un oggetto o una persona a meno di 40 centimetri di distanza, il dondolo si ferma nella sua posizione centrale e il suono viene messo in pausa. Dopo 1,5 secondi si accendono i LED rossi negli occhi dello scheletro e dopo 2 secondi viene emessa la risata dello scheletro che si alza rapidamente dalla sedia grazie al servomotore SG90.
Ora che la funzionalità è stata spiegata, si analizzerà lo schizzo. In primo luogo, è necessario implementare le librerie necessarie nella sezione per la definizione delle variabili globali di ogni schizzo, in modo da poter utilizzare i moduli in uso. Le tre librerie aggiunte sono necessarie per utilizzare il modulo Mini MP3 Player DFPlayer e i servomotori. Poiché la comunicazione richiesta tra il modulo MP3 e il microcontrollore deve essere seriale, la libreria SoftwareSeriale.h attiva la funzione con cui il microcontrollore può abilitare ogni pin digitale per la comunicazione seriale. Con la libreria DFRobotDFPlayerMini.h vengono attivate le funzioni necessarie per l'utilizzo del modulo. L'ultima libreria da aggiungere è <Servo.h>. Questa libreria contiene la configurazione e i metodi necessari per modificare la posizione dei servomotori.
#include <SoftwareSerial.h>
#include <DFRobotDFPlayerMini.h>
#include <Servo.h>
In questo progetto, il modulo a ultrasuoni viene utilizzato senza libreria. Si dimostra che la distanza da oggetti o persone può essere determinata con una semplice operazione matematica, motivo per cui non viene aggiunta la libreria.
Una volta aggiunte le librerie necessarie, è necessario implementare un oggetto per ogni modulo o componente che lo richiede. Per utilizzare il modulo di riproduzione MP3, l'oggetto mioSoftwareSerial dalla biblioteca <SoftwareSeriale può essere implementato. h>per specificare al microcontrollore i pin digitali da utilizzare per la comunicazione seriale del modulo. In questo progetto, il pin digitale 10 del microcontrollore viene utilizzato per ricevere dati dal modulo mini lettore MP3 e il pin digitale 11 per inviare dati al modulo mini lettore MP3. Per utilizzare i metodi di controllo e i comandi del modulo, come l'impostazione del volume o l'avvio della riproduzione di un file MP3, l'oggetto il mio lettoreDF dalla biblioteca <DFRobotDFPlayerMini.h> creato.
SoftwareSerial mySoftwareSerial(10, 11);
DFRobotDFPlayerMini myDFPlayer;
Per poter utilizzare i servomotori, è necessario creare un oggetto per ogni servomotore dal file Servo.h possono essere istanziati. Come si può notare, i nomi degli oggetti per l'utilizzo dei singoli servomotori sono molto significativi e di facile comprensione. Inoltre, la variabile pos è definito. Questa variabile di tipo int viene utilizzato nei loop definiti per il movimento del servomotore della sedia a dondolo.
Servo servo_chair;
Servo servo_skeleton;
int pos;
Le variabili utilizzate con il modulo a ultrasuoni SR-HC04 sono definite nelle quattro righe seguenti. Le prime due sono le variabili con i nomi dei pin, trigPin (trasmettitore di segnale) e echoPin (ricevitore di segnali) del modulo a ultrasuoni, e come valore contengono i numeri delle porte del microcontrollore a cui sono collegati, ovvero ai pin 6 e 5. misurazione_tempo_ad ultrasuoni il valore del tempo necessario al sensore per riconoscere il segnale riflesso da una persona dopo averlo trasmesso è memorizzato nella variabile distanza viene salvato il valore della distanza, calcolato in base al tempo riconosciuto.
int trigPin = 6;
int echoPin = 5;
long ultrasonic_time_measurement;
long distance;
L'ultima variabile creata è la variabile occhi_lampeggianti con il valore 7. Questa variabile viene utilizzata per indicare al microcontrollore che i LED rossi degli occhi dello scheletro sono collegati alla sua porta digitale.
int led_eyes = 7;
Una volta implementate le librerie, creati gli oggetti modulo e le variabili necessarie, occorre definire la configurazione iniziale dei moduli e dei componenti del progetto. Questo viene fatto nel metodo impostazione(). In primo luogo, in questo metodo il modulo MP3 viene inizializzato e la sua comunicazione con il microcontrollore viene stabilita tramite mySoftwareSerial. iniziare(9600)dove 9600 è la velocità di trasferimento dei dati in baud. Inizializziamo anche la comunicazione con il Serial Monitor tramite Seriale.inizio (115200) a una velocità di 115200 baud (la velocità deve essere selezionata in basso a destra del Serial Monitor quando si apre la console) in modo da visualizzare i messaggi sullo stato di inizializzazione o sugli errori del modulo MP3.
mySoftwareSerial.begin(9600);
Serial.begin(115200);
Successivamente, è necessario verificare nel codice l'inizializzazione del modulo MP3. A tale scopo, è necessario utilizzare un'istruzione condizionale se viene utilizzato. Nell'istruzione se il codice all'interno delle parentesi graffe viene eseguito se la condizione del suo parametro è vera. In questo caso controlla se il modulo MP3 non è stato inizializzato per qualsiasi motivo. L'inizializzazione negata è stata contrassegnata con il simbolo ! viene scritto. Questo simbolo viene utilizzato come metodo di negazione, in modo che se il modulo non è inizializzato, la condizione è vera e il codice all'interno delle parentesi graffe viene eseguito e la console seriale segnala che i collegamenti e l'inserimento della scheda microSD devono essere controllati. Se il modulo di riproduzione MP3 è inizializzato correttamente, la condizione non è soddisfatta e il codice descritto sopra non viene eseguito. Il metodo impostazione () da eseguire tramite la console seriale con la riga Seriale.println(F("Inizializzazione corretta di DFPlayer.")) per segnalare che il modulo di riproduzione MP3 è stato inizializzato correttamente.
if (!myDFPlayer.begin(mySoftwareSerial)) {
Serial.println(F("Error initializing mp3 module:"));
Serial.println(F("1. Please check the connections!"));
Serial.println(F("2. Please insert the microSD memory!"));
while(true){
delay(0);
}
}
Serial.println(F("Correct DFPlayer initialization."));
Per la configurazione iniziale dei servomotori, la porta del microcontrollore a cui è collegata la linea di segnale del servomotore deve essere prima configurata con servo.allegare e il valore della posizione del servomotore in gradi nello stato iniziale può essere definito con servo. scrivere nel caso in cui il microcontrollore venga acceso o resettato. Per il servomotore della sedia a dondolo, si specifica che deve essere azionato con servo_sedia è collegato alla porta 9 del microcontrollore. allegare(9) e la posizione di partenza è di 90 gradi, ovvero servo_sedia è specificato. scrivere(90). Per il servomotore dello scheletro, la connessione del microcontrollore a cui è stato collegato è 8, indicata dalla linea servoscheletro è specificato. allegare(8) e la posizione di partenza dello scheletro è seduta. Per questa posizione, il servomotore deve essere impostato su 90 gradi, il che è possibile con servoscheletro.scrivere(90) è specificato.
servo_chair.attach(9);
servo_chair.write(90);
servo_skeleton.attach(8);
servo_skeleton.write(90);
Per la configurazione iniziale dei LED rossi degli occhi scheletrici, la porta del microcontrollore a cui sono collegati i LED deve essere prima configurata come porta di uscita, in modo che fornisca tensione quando lo stato cambia. Questo viene fatto con la riga di codice pinMode (led_eyes, USCITA). Quando lo scheletro è seduto, gli occhi non devono accendersi, quindi questa porta non deve fornire alcuna tensione. A tale scopo, il livello del segnale che fornisce in questo momento deve essere basso, cioè 0 VCC. La linea utilizzata per impostare l'uscita su un livello basso è la seguente digitaleScrittura (led_eyes, BASSO) .
pinMode (led_eyes, OUTPUT);
digitalWrite (led_eyes, LOW);
Nelle ultime due righe del metodo impostazione() le porte del microcontrollore a cui sono collegati i pin del modulo a ultrasuoni sono configurate. La porta del microcontrollore a cui sono collegati i pin del modulo a ultrasuoni è configurata. TRIG del modulo a ultrasuoni è collegato, il pinMode (trigPin, USCITA) è configurato come uscita, poiché il microcontrollore utilizza questo pin per controllare la trasmissione del segnale ultrasonico. La porta del microcontrollore a cui è collegato il pin ECHO del modulo a ultrasuoni è collegato, il pinMode (echo_Pin, INGRESSO) è configurata, in quanto il microcontrollore utilizza questa porta per ricevere il segnale precedentemente inviato dal modulo a ultrasuoni, che viene riflesso da persone o oggetti.
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
Le condizioni iniziali di tutti i moduli e componenti del progetto sono già configurate, ora solo il metodo anello() in modo che l'intero sistema esegua i movimenti desiderati. La prima riga è una chiamata al metodo misura_distanza(). In questo metodo, il modulo a ultrasuoni viene controllato e i calcoli vengono eseguiti per determinare la distanza tra un oggetto o una persona e il modulo a ultrasuoni.
measure_distance();
Quando viene richiamato questo metodo, vengono inviati segnali a ultrasuoni e il calcolo viene eseguito in base al tempo di rimbalzo del segnale. Per calcolare la distanza tra un oggetto e il sensore, è sufficiente misurare il tempo che intercorre tra l'invio e la ricezione del segnale. La sequenza è la seguente: In primo luogo, il pin trigPin del sensore è impostato sullo stato "basso" per 5 millisecondi. Allo scadere di questo tempo, lo stato dello stesso pin trigPin è impostato su "alto" per 10 millisecondi, in modo che il sensore emetta il segnale. Trascorso questo tempo, lo stato di questo pin viene nuovamente impostato su "basso" per interrompere la trasmissione dei segnali.
Non appena ciò viene fatto, la funzione impulsoIn(echoPin, ALTO) il tempo trascorso dall'invio del segnale da parte del pin trigPin è trascorso fino a quando il pin echoPin del sensore riceve il segnale di ritorno. Ora si conosce il tempo che il segnale ha impiegato in microsecondi dalla trasmissione alla ricezione. Questa informazione è molto importante e viene memorizzata nella variabile misurazione_tempo_ad ultrasuoni salvato. Per determinare la distanza, è necessario eseguire una sola operazione matematica. Poiché la velocità del suono nell'aria a 20 gradi Celsius è di 343 m/s, questa velocità deve essere convertita in cm/µs. Il valore viene calcolato con la seguente formula:

Formula 1 - Conversione da m/s a cm/µs
D'altra parte, il tempo misurato dal sensore è il tempo necessario al segnale per raggiungere l'oggetto e tornare indietro, in modo che il tempo effettivo necessario per raggiungere l'oggetto o la persona sia solo la metà del tempo misurato. Va notato che si tratta di microsecondi. Quindi, se si conoscono il tempo necessario e la velocità del suono in centimetri per microsecondo, si può utilizzare la seguente formula per calcolare la distanza.

Formula 2 - Calcolo della distanza
Il risultato è la distanza dell'oggetto in centimetri. Questa distanza viene memorizzata nella variabile distanza per memorizzarli in blocchi condizionali se da utilizzare. Questi blocchi vengono eseguiti in base al valore della variabile. Questa rimozione è utilizzata anche dal metodo Monitoraggio seriale viene visualizzato quando il microcontrollore è collegato all'IDE Arduino.
void measure_distance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
ultrasonic_time_measurement = pulseIn(echoPin, HIGH);
distance = (ultrasonic_time_measurement/2)*0.0343;
Serial.print(distance);
Serial.print(" cm");
Serial.println();
}
Una volta calcolata la distanza dall'oggetto, si torna alla riga di codice che fa riferimento alla chiamata del metodo misura_distanza() segue.
Se si guarda lo schizzo, si noterà che due semplici blocchi condizionali se sono stati programmati. Questi due blocchi eseguono le varie azioni che i componenti eseguono a seconda del valore che ha la persona riconosciuta dal sensore e che è memorizzato nella variabile distanza viene salvato. Se la persona si trova ad almeno 40 cm di distanza, lo scheletro rimane seduto, i LED degli occhi si spengono e la sedia a dondolo si muove. Se invece la distanza dalla persona è inferiore a 40 cm, il dondolo si ferma, i LED degli occhi si accendono e lo scheletro si alza dalla sedia. L'esecuzione dei blocchi condizionali è spiegata di seguito.
La prima condizione se viene eseguito se la variabile distanza ha un valore di almeno 40 centimetri. Vengono eseguite le seguenti funzioni: In primo luogo, il volume della riproduzione sonora viene regolato con myDFPlayer.volume(15) è impostato su un valore di 15 su 30, allora il file con il nome 001.mp3 viene salvato con myDFPlayer. gioco(001) viene riprodotto. Questo file deve essere memorizzato sulla scheda microSD inserita nel modulo di riproduzione MP3 e riproduce il suono del legno che scricchiola. La linea digitaleScrittura (led_eyes, BASSO) del codice imposta il pin del microcontrollore a cui sono collegati i LED degli occhi dello scheletro a un livello basso (assenza di tensione), che li spegne e il servomotore dello scheletro si sposta in una posizione di 90 gradi e rimane seduto.
Per spostare la sedia a dondolo sono stati utilizzati due anelli. per programmati con contatori. Il primo ciclo per inizia con un valore di posizione del servomotore di 60 gradi e deve posizionarsi fino a 115 gradi, aumentando di 1 grado ogni 18 microsecondi. In questo modo, il movimento è continuo. Il secondo ciclo per costringe il servomotore a eseguire il movimento inverso: Deve essere abbassato da 115 gradi a 60 gradi, con una diminuzione di 1 grado ogni 18 microsecondi.
if (distance >= 40) {
myDFPlayer.volume(15);
myDFPlayer.play(002);
digitalWrite (led_eyes, LOW);
servo_skeleton.write(90);
for (pos = 60; pos <= 115; pos += 1) {
servo_chair.write(pos);
delay(18);
}
for (pos = 115; pos >= 60; pos -= 1) {
servo_chair.write(pos);
delay(18);
}
}
La seconda condizione se viene eseguito se la variabile distanza ha un valore inferiore a 40 cm. In questo caso, vengono eseguite le seguenti funzioni: In primo luogo, la posizione del servomotore della sedia a dondolo viene impostata a 90 gradi, in modo da mantenerla al centro, e la funzione myDFPlayer. pausa()per mettere in pausa il file audio attualmente in riproduzione (ricordate che era il suono del legno scricchiolante con 001.mp3), e ci sarà una pausa di 1,5 secondi con la riga ritardo(1500) inserito.
Dopo la pausa, i LED degli occhi dello scheletro si accendono eseguendo la riga digitaleScrittura (led_eyes, ALTO) viene chiamata, poiché questa linea fa sì che la porta del microcontrollore a cui sono collegati i LED degli occhi dello scheletro passi allo stato alto e abbia ora 5 VCC. Segue un'altra pausa, ma questa volta di 2 secondi.
Ora mancano solo il movimento dello scheletro e il suono della risata. Per prima cosa si programma la riproduzione del suono, poiché il microcontrollore deve preparare il file audio per la riproduzione, il che comporta un leggero ritardo nella riproduzione. A tale scopo, il volume della riproduzione del suono viene impostato con myDFPlayer. volume(15) e con myDFPlayer. gioco(002) il file con il nome 002.mp3 viene riprodotto per riprodurre una risata spaventosa. Anche questo file deve essere memorizzato sulla scheda microSD inserita nel modulo di riproduzione MP3. Con la riga di codice servo_skeleton. scrivere(70) lo scheletro si alzerà dalla sedia durante la riproduzione del file audio. Con ritardo(5000) viene inserita una pausa di 5 secondi per consentire la riproduzione completa del file.
if (distance < 40) {
servo_chair.write(90);
myDFPlayer.pause();
delay(1000);
digitalWrite (led_eyes, HIGH);
delay(2000);
myDFPlayer.volume(15);
myDFPlayer.play(001);
servo_skeleton.write(70);
delay(5000);
}
Ci auguriamo che il progetto di Halloween di quest'anno sia di vostro gradimento e vi auguriamo di trascorrere una serata divertente e spettrale. Grazie di cuore.







9 commenti
Anstela
Hallo Sunny,
vielen Dank für Ihren Hinweis! Die Bemaßung für das Skelett wurde nun im Blog ergänzt. Wir wünschen Ihnen viel Freude beim Bauen!
Mit freundlichen Grüßen
Ihr Blog Team
Miguel Torres
Hello Frank Peter,
The skeleton’s servo should be moving continuously because it must be detecting something at a shorter distance for it to activate. Another possibility is to check the connections between the ultrasound module and the microcontroller. You can also check the formula for converting distance ( distance = (ultrasonic_time_measurement/2)*0.0343 ).
If the object detection distance value has been modified ( if (distance < 40) { ), this could also be a cause of the continuous movement.
Best regards.
Miguel Torres Gordo
Frank Peter
Kann man den Entwickler des Projekts irgendwie erreichen? Oder gibt es ein Forum, wo man sich über dieses Projekt austauschen kann? Ich habe Probleme mit dem Server für das Skelett. Es zuckt immer unmotiviert rum.
Sunny
Gibt es für das Skelett auch eine Bemaßung?
Leopold Stefan Schiller
Hallo, super Projekt!! Wie groß soll das Skelett skaliert werden? Könnte ich das Skelettbild mit Maßangaben bekommen?
Danke
Eugen Wirsing
…und wie komme ich an die Balsateile – kann man die irgendwo kaufen?
Jürgen
Hallo, ich lese immer wieder, dass der DF-Player eine besondere Reihenfolge der Dateien voraussetzen soll. Das kann man umgehen, in dem man einen Ordner ‘MP3’ im Stammverzeichnis der SD-Card anlegt, dort die Musikdateien hineinkopiert und die Dateinamen mit einer vierstelligen Nummer beginnen lässt (0001 Hallo, 0002… 0046… usw.). Was hinter der Nummer steht ist egal und die Kopierreihenfolge auch, sofern man dann die Funktion 0×12 ‘Specify playback of folder named “MP3”’ nutzt. In der hier genutzten Bibliothek heißt die Funktion – glaube ich – ‘playMp3Folder’. Bin mir mit der Lib aber nicht ganz sicher, weil ich keine der vielen Libs für DF-Player nutze. Sorgen bei mir alle nur für Ärger :-) MfG
Frank Peter
Gibt es eine Lightburn Vorlage für das Skelett?
Michael
Absolut cooles Projekt und sehr schön realisiert.
Da macht die Bastlei wirklich Spaß.