Code werkt op een Uno maar niet op een Mega

Arduino specifieke Software
Berichten: 4
Geregistreerd: 15 Apr 2021, 10:31

Code werkt op een Uno maar niet op een Mega

Berichtdoor Krik » 15 Apr 2021, 10:40

Hoi, ik heb een dilemma waar ik niet uitkom.

Ik heb een Benewake TF Mini Plus.
Deze gebruik ik met de library: https://github.com/budryerson/TFMini-Plus
Deze sluit ik aan op een Arduino Uno en dit werkt prima. Echter als ik deze aansluit op een MEGA 2560 Pro
of een Seeeduino XIAO. Dan krijg ik enkel maar 0's met een kleine delay ertussen.
Ik begrijp het totaal niet en waar ik het zoeken moet. Ik hoop dat iemand mij hierbij een beetje wegwijs kan maken. Ik krijg er ondertussen hoofdpijn van.


(ARDUINO UNO)
Red - 5v
Black - GND
White - TX (1)
Green - RX (2)

(MEGA 2560 Pro)
https://robotdyn.com/mega-2560-pro-embe ... -16au.html
Red - 5v
Black - GND
White - TXd1 (18)
Green - RXd1 (19)

(SEEEDUINO XIAO)
https://wiki.seeedstudio.com/Seeeduino-XIAO/
Red - 5v
Black - GND
White - TX (18)
Green - RX (19)

//////////////////// THE CODE ////////////////////
#include <TFMPlus.h> // Include TFMini Plus Library v1.4.1
TFMPlus tfmP; // Create a TFMini Plus object
#define benewakelidarserial Serial

void setup()
{
//Serial.begin( 115200); // Intialize terminal serial port
//delay(20); // Give port time to initalize
benewakelidarserial.begin( 115200); // Initialize TFMPLus device serial port.
delay(20); // Give port time to initalize
tfmP.begin( &benewakelidarserial); // Initialize device library object and...
}

// Initialize variables
int16_t tfDist = 0; // Distance to object in centimeters
int16_t tfFlux = 0; // Strength or quality of return signal
int16_t tfTemp = 0; // Internal temperature of Lidar sensor chip

// Use the 'getData' function to pass back device data.
void loop()
{
delay(50); // Loop delay to match the 20Hz data frame rate
tfmP.getData( tfDist);
//tfmP.getData( dist);
Serial.print(tfDist); // display distance,
Serial.print( "\r\n"); // end-of-line.
}

Advertisement

Berichten: 180
Geregistreerd: 26 Aug 2015, 11:57

Re: Code werkt op een Uno maar niet op een Mega

Berichtdoor Frits1956 » 15 Apr 2021, 17:29

waarom gebruik je niet gewoon dezelfde pin setting van de uno op de mega? die zijn toch hetzelfde?

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Code werkt op een Uno maar niet op een Mega

Berichtdoor shooter » 16 Apr 2021, 07:27

Nou nee, voor de serial zijn de pinnen echt behoorlijk anders, en dan moet je ook kijken naar welke snelheid en welke interne klok gebruikt wordt.
paul deelen
shooter@home.nl

Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: Code werkt op een Uno maar niet op een Mega

Berichtdoor ctunes » 20 Apr 2021, 20:41

Ik vind het al knap dat het op een Uno wel werkt.

Normaal gesproken wacht je tot de initialisatie compleet is?
Code: Alles selecteren
Serial.begin(2000000);
while (! Serial);
Serial.println("Commence!");


Daarnaast ...
Code: Alles selecteren
Serial.print( "\r\n"); // end-of-line.

is equivalent met:
Code: Alles selecteren
 Serial.println();

(Die laatste versie is nog cross-platform bestendig ook ...)

Scheelt weer typen.

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 20 gasten