ik zou graag van een arduino een String sturen vanaf een ander arduino
Zorg ervoor dat beide kaarten dezelfde spanningsvereisten hebben voor hun I/O-pinnen (of gebruik een spanningsadapter).
Sluit Tx van de zender aan op Rx van de ontvanger.
Sluit GND op beide borden aan.
Gebruik Serial.begin() met dezelfde baudrate op beide borden.
Op de zender gebruikt u Serial.print()
of Serial.write()
om de gegevens te verzenden zoals u dat wilt.
Aan de ontvangende kant zou ik willen voorstellen om Serial Input Basics te bestuderen om dit aan te pakken.
String stringOne = String(255, BIN);
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.write(stringOne, 3); // send a byte with the value 45
delay(100);
}
dan krijg ik deze error
Lees de documentatie voor write(). Als je een byte wilt verzenden, gebruik dan geen string maar een byte-type
const byte startByte = 45;
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.write(startByte); // send one byte with the value 45 (decimal)
delay(100);
}
Als je de ASCII-weergave van het nummer wilt verzenden, gebruik dan print()
(of println()
als je "\r\n" aan het einde van de communicatie wilt toevoegen).
const byte startByte = 45;
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(startByte); // send the ascii code of the text "45\r\n" so 4 bytes sent
delay(100);
}
dat is van de zender maar bij de ontvanger heb ik dan een ander code (het moet een getal van 6cijfers kunnen sturen voor mijn project ) hoe kan ik die vervorming tegengaan
Zoals ik eerder heb gezegd, moet de ontvanger worden aangepast aan jouw behoeften. Als je ASCII-tekst verzendt, is het beter om asynchroon te werken en technieken te gebruiken die worden beschreven in Serial Input Basics om hiermee om te gaan. Als je slechts één byte verzendt, is het eenvoudiger; je leest gewoon de seriële invoer en als het niet -1 is, heb je je byte.
void loop() {
int r = Serial.read();
if (r != -1) { // received a byte
if (r == 45) { // if it is 45 then
••• // do something
}
}
}
PS/ Stop alsjeblieft met het plaatsen van afbeeldingen van tekst. Het is nutteloos.
Gelieve niet dubbel te posten. I get this error how can i fix it
Moet ik deze discussie sluiten of de andere?