Ciao
ho sostituito l'arduino 'uno' con il 'mega' per questione di numero pin, ma la compilazione del pgm mi da le seguenti segnalazioni ..
Mi sapete aiutare ?
Grazie mille
Ciao
ho sostituito l'arduino 'uno' con il 'mega' per questione di numero pin, ma la compilazione del pgm mi da le seguenti segnalazioni ..
Mi sapete aiutare ?
Grazie mille
Non comunica...
Quella compilazione è per la UNO, infatti c'è scritto: Il massimo è 2048.
Quindi seleziona la giusta scheda: Mega 2560 e dovrebbe filare tutto liscio.
Ciao.
Grazie mille
Domanda ingenua ..
ma a livello di 'impostazione' del software cambia qualcosa tra la programmazione di Arduino Uno e Arduino Mega !?
Grazie mille
In che senso "impostazione"?
Cambiano i riferimenti dei pin... Il bus spi e i2c sono su pin diversi, i pin pwm hanno numeri diversi, hai più seriali, ecc... Di queste cose devi tenere conto nello sketch.
Poi la struttura generale può essere la stessa.
grazie mille
Non riesco a venirne fuori ..
sostituito Arduino uno con mega ma adesso non mi funziona più la scheda lettore MP3 ..
dagli schemi dei pin sembra tutto uguale ma con il 'mega' sento che si 'attiva' la cassa (fa un rumore iniziale) ma gli mp3 non partono come invece funzionano con l'A uno
Allego schemi
Grazie
In realtà il passaggio ad ATmega328P ad ATmega2560 richiede comunque delle verifiche (alcune librerie si comportano diversamente, per come sono fatte, sulle due MCU) ...
Relativamente al lettore MP3, a che pin della MEGA l'hai collegato? ... e come ci parli?
Guglielmo
il lettore lo collego come dallo schema 3 ..
pin 10 - 11 e SV - GND
Cosa intendi per 'come ci parli' ?
Lo faccio partire da un programmino di test che lo fa girare in loop ..
Copio il codice visto che è relativamente corto ..
/***************************************************
DFPlayer - A Mini MP3 Player For Arduino
<https://www.dfrobot.com/index.php?route=product/product&product_id=1121>
***************************************************
This example shows the basic function of library for DFPlayer.
Created 2016-12-07
By [Angelo qiao](Angelo.qiao@dfrobot.com)
GNU Lesser General Public License.
See <http://www.gnu.org/licenses/> for details.
All above must be included in any redistribution
****************************************************/
/***********Notice and Trouble shooting***************
1.Connection and Diagram can be found here
<https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram>
2.This code is tested on Arduino Uno, Leonardo, Mega boards.
****************************************************/
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
//SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
//SoftwareSerial mySoftwareSerial(11, 3); // RX, TX
SoftwareSerial mySoftwareSerial(3, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
//void printDetail(uint8_t type, int value);
void setup()
{
mySoftwareSerial.begin(9600);
Serial.begin(115200);
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."));
myDFPlayer.volume(30); //Set volume value. From 0 to 30
myDFPlayer.play(1); //Play the first mp3
}
void loop()
{
static unsigned long timer = millis();
if (millis() - timer > 8000) {
timer = millis();
myDFPlayer.next(); //Play next mp3 every 8 second.
}
if (myDFPlayer.available()) {
printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.
}
}
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;
}
}
Allora, intanto dici pin 10 e 11 e poi io vedo nel codice:
... e quindi c'è già un'icongruenza con quello che dici perché ci sono voci commentate e quella non commentata usa pin diversi (3, 11 ... pin NON ammessi su Arduino MEGA) ... ... quindi, quale è quella che stai usando?
Detto questo, mi spieghi il senso di usare una pessima libreria software, la SoftwareSerial, su un hardware dove hai ben 4 seriali VERE, sicuramente molto più efficienti, veloci e funzionanti di un'emulazione software?
Guglielmo
Grazie,
devo verificare i PIN perchè in realtà non mi collego direttamente sull'arduino (uno o mega che sia) ma sul display su cui collego l'arduino ..
effettivamente i cavetti sono collegati non tanto ai PIN dell'arduino, ma ai PIN del display dove l'arduino si 'incastra' ..
Mentre con l'A uno i pin dell'arduino corrispondevano al '3' e '11' (tutto funzionava) adesso gli stessi pin del display corrispondono al '4' e '5' dell'A MEGA
Allora .. (con il MEGA) lasciando sul software pin 3 e 11 sento sento un rumore dalla cassa alla partenza ..
Inserendo sul software pin 4 e 5 non succede nulla ..
Consigli ?
Grazie mille
Non c'ho capito nulla, ma comunque consiglio di studiare il reference della SoftwareSerial per scoprire così che sulla MEGA NON si possono usare determinati pin ...
Guglielmo
P.S.: ... e, ripeto, su una scheda con 4 seriali hardware, vorrei capire il senso di usare un'emulazione software!
Ma uno schema/disegno con tutti i vari collegamenti non riesci a farlo? Anche fatto a penna e poi fotografato (basta che si veda bene) ...
Guglielmo
Guarda, non so se qualcun'altro ha voglia di farlo, io NO ...
... ti ho chiesto di fare uno SCHEMA (ed è bene che impari a farli), non delle foto; se vuoi che ti si aiuti disegni uno schema con tutti i pin utilizzati, le alimentazioni e come sono connesse le varie cose, altrimenti ... mi spiace, ma non faccio lo sbroglio da fotografie.
Guglielmo
?? ovviamente quella shield occupa tutto arduino quindi per comodità i pin liberi (non usati dal display e dai tasti) te li hanno messi anche sulla shield (altrimenti non potevi usarli).
Perciò se ti "colleghi" ai quei pin della shield è solo un bypass, ti stai collegando ai pin di arduino uno.
ti stai collegando ai pin di Arduino Mega.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.