Serial deve dfunzionare cosi?

Come mi avete fustigato mi sto sgobbando tutto, ma in questo software la frase Hello world deve attivarsi quando io setto NEL MONITOR SERIALE il baut rate a 4800 ’ SI o NO?
GRAZIE ANTICIPATE

/*
  Software serial multple serial test

 Receives from the hardware serial, sends to software serial.
 Receives from software serial, sends to hardware serial.

 The circuit:
 * RX is digital pin 10 (connect to TX of other device)
 * TX is digital pin 11 (connect to RX of other device)

 Note:
 Not all pins on the Mega and Mega 2560 support change interrupts,
 so only the following can be used for RX:
 10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69

 Not all pins on the Leonardo and Micro support change interrupts,
 so only the following can be used for RX:
 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).

 created back in the mists of time
 modified 25 May 2012
 by Tom Igoe
 based on Mikal Hart's example

 This example code is in the public domain.

 */
#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(57600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }


  Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(4800);
  mySerial.println("Hello, world?");
}

void loop() { // run over and over
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

No, il PC non lo hai mica collegato sui pin 10 e 11. Ciao Uwe

NO assolutamente Sto diventando pazzo con gli RTC1307, mi sono studiato tutti i programmi di settaggio, trA i migliori vi è questo

#include <swRTC.h>
swRTC rtc; //create a new istance of the lib
const byte WITHOUT_SECONDS = 0;
const byte WITH_SECONDS = 1;

void setup() {
  rtc.stopRTC(); //stop the RTC
  rtc.setTime(20,15,00); //set the time here
  rtc.setDate(18,12,2016); //set the date here
  rtc.startRTC(); //start the RTC
  Serial.begin(19200); //choose the serial speed here
  delay(2000); //delay to let the user opens the serial monitor
}

void loop() {
    printTime(WITHOUT_SECONDS);
    printTime(WITH_SECONDS);
    Serial.println("");
    delay(1000);
}


void printTime(byte withSeconds) {
    sendNumber(rtc.getHours());
    Serial.print(":");
    sendNumber(rtc.getMinutes());
    if (withSeconds) {
        Serial.print(":");
        sendNumber(rtc.getSeconds());
    }
    Serial.println("");
}


void sendNumber(byte number) {
    byte temp;
    if (number>9) {
        temp=int(number/10);
        Serial.print(char(temp+48));
        number-=(temp*10);
    } else {
        Serial.print("0");
    }
    Serial.print(char(number+48));
}

e questo

#include <Wire.h>
#include "RTClib.h"

#define BUFFER_SIZE 20
#define VERSION     "1.0"

// RTC object
RTC_DS1307 RTC;

// Buffer for incoming data//
char serial_buffer[BUFFER_SIZE];
int buffer_position;

void setup() {
  
  Serial.begin(57600);
  Wire.begin();
  RTC.begin();
  
  buffer_position = 0;
}

void loop() {
  
  // Wait for incoming data on serial port
  if (Serial.available() > 0) {
    
    // Read the incoming character
    char incoming_char = Serial.read();
    
    // End of line?
    if(incoming_char == '\n') {
      
      // Parse the command
      
      // ## 
      if(serial_buffer[0] == '#' && serial_buffer[1] == '#')
        Serial.println("!!");
        
      // ?V
      else if(serial_buffer[0] == '?' && serial_buffer[1] == 'V')
        Serial.println(VERSION);

      // ?T 
      else if(serial_buffer[0] == '?' && serial_buffer[1] == 'T') {        
        DateTime now = RTC.now();
        char time_string[20];
        sprintf(time_string, "%02d/%02d/%d %02d:%02d:%02d", 
          now.day(), now.month(), now.year(),
          now.hour(), now.minute(), now.second());
          Serial.println(time_string);
      }

      // !T 
      else if(serial_buffer[0] == '!' && serial_buffer[1] == 'T') {

        String time_string = String(serial_buffer);
        int day = time_string.substring(2, 4).toInt();
        int month = time_string.substring(4, 6).toInt();        
        int year = time_string.substring(6, 10).toInt();
        int hour = time_string.substring(10, 12).toInt();
        int minute = time_string.substring(12, 14).toInt();
        int second = time_string.substring(14, 16).toInt();
        DateTime set_time = DateTime(year, month, day, hour, minute, second);
        RTC.adjust(set_time);
        Serial.println("OK");
      }
      
      // Reset the buffer
      buffer_position = 0;
    }
    
    // Carriage return, do nothing
    else if(incoming_char == '\r');
    
    // Normal character
    else {
      
      // Buffer full, we need to reset it
      if(buffer_position == BUFFER_SIZE - 1) buffer_position = 0;

      // Store the character in the buffer and move the index
      serial_buffer[buffer_position] = incoming_char;
      buffer_position++;      
    }
  }    
}

in particolar modo funziona un po’ si ed un po’ no, nel senso che non riesco a stabilire sempre una comunicazione seriale con il Monitor. Per cui, sono andato alla radice del problema ed ho compreso che il primo passo da fare, prima di ogni cosa è Comprendere come tale trasmissione avviene. Sono quindi giunto ai tutorial “Puramente seriali”, e di qui il problema di cui sopra. iO DEVO FARE DEI TIMER E LA SOLUZIONE PIù ECONOMICA, PER LE MIE POVERE TASCHE, è L’rtc1307, . dEVO SETTARE E FARE SCATTRE IL RELè AD UNA DATA ORA stop Scusate il caps lok.

SCHEDA RTC-SD.jpg