Serial.print not working

#include <SPI.h>
#include <WiFiNINA.h>
 
/////// Wifi Settings ///////
char ssid[] = "Xavier";
char pass[] = "19970926";
int keyIndex = 0;                 // your network key Index number (needed only for WEP)
int trigPin=2;
int echoPin=3;

long duration;
int distance=500;

// the IP address for the shield:
IPAddress ip(192, 168, 122, 122); 

int status = WL_IDLE_STATUS;

WiFiServer server(80);

String readString;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  
  Serial.begin(9600);

  // check for the presence of the shield:
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
    // don't continue:
    while (true);
  }

  WiFi.config(ip);


  // attempt to connect to Wifi network:
  while ( status != WL_CONNECTED) {
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
    // Connect to WPA/WPA2 network. Change this line if using open or WEP network:
    status = WiFi.begin(ssid, pass);

    // wait 10 seconds for connection:
    delay(10000);
  }
  // you're connected now, so print out the status:
  printWiFiStatus();

  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());

  server.begin();
}


void loop() {

  // listen for incoming clients
  WiFiClient client = server.available();

  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();// Read char by char HTTP request
        readString += c;
        Serial.write(c);

        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // the connection will be closed after completion of the response
          client.println("Refresh: 5");  // refresh the page automatically every 5 sec
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<head><title>WiFi Sensor</title></head>");
          client.println("<center><hr/><p> Click the Buttons to view the charge point. <p/><hr/></center>");
          client.println("<center><input type=button value='Detect' onmousedown=location.href='/?DETECT'></center><hr/>");
          if (distance<= 200) {
            client.println("<center><hr/><p> Occupied. <p/><hr/></center>");
          } else {
            client.println("<center><hr/><p> Unoccupied. <p/><hr/></center>");
          }
          client.println("<hr/>");
          client.println("</body>");
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);

    // close the connection:
    client.stop();
    if (readString.indexOf("/?DETECT") > 0) {
      Serial.println();
      Serial.println("DETECT");
      Serial.println();
      detect();
    }
    readString = "";// Clearing string for next read
    Serial.println("client disconnected");
  }
}


void printWiFiStatus() {
  // print the SSID of the network you're attached to:
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());

  // print your WiFi shield's IP address:
  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);

  // print the received signal strength:
  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):");
  Serial.print(rssi);
  Serial.println(" dBm");
}

void detect(void) {
  distance=calculateDistance();
  delay(5);
  Serial.print("Distance:");
  Serial.print(distance);
  Serial.println(" cm");
}

int calculateDistance()
{
  digitalWrite(trigPin,LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin,HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin,LOW);
  
  duration=pulseIn(echoPin,HIGH);
  distance=duration*0.034/2;
  return distance;
}

Nothing showed on my computer. Anything wrong?

xaviergao:

#include <SPI.h>

#include <WiFiNINA.h>

/////// Wifi Settings ///////
char ssid[] = "Xavier";
char pass[] = "19970926";
int keyIndex = 0;                // your network key Index number (needed only for WEP)
int trigPin=2;
int echoPin=3;

long duration;
int distance=500;

// the IP address for the shield:
IPAddress ip(192, 168, 122, 122);

int status = WL_IDLE_STATUS;

WiFiServer server(80);

String readString;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
 
  Serial.begin(9600);

// check for the presence of the shield:
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
    // don't continue:
    while (true);
  }

WiFi.config(ip);

// attempt to connect to Wifi network:
  while ( status != WL_CONNECTED) {
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
    // Connect to WPA/WPA2 network. Change this line if using open or WEP network:
    status = WiFi.begin(ssid, pass);

// wait 10 seconds for connection:
    delay(10000);
  }
  // you're connected now, so print out the status:
  printWiFiStatus();

Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());

server.begin();
}

void loop() {

// listen for incoming clients
  WiFiClient client = server.available();

if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();// Read char by char HTTP request
        readString += c;
        Serial.write(c);

// if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // the connection will be closed after completion of the response
          client.println("Refresh: 5");  // refresh the page automatically every 5 sec
          client.println();
          client.println("");
          client.println("WiFi Sensor");
          client.println("


Click the Buttons to view the charge point.


");
          client.println("<input type=button value='Detect' onmousedown=location.href='/?DETECT'>
");
          if (distance<= 200) {
            client.println("

Occupied.


");
          } else {
            client.println("

Unoccupied.


");
          }
          client.println("
");
          client.println("");
          client.println("");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);

// close the connection:
    client.stop();
    if (readString.indexOf("/?DETECT") > 0) {
      Serial.println();
      Serial.println("DETECT");
      Serial.println();
      detect();
    }
    readString = "";// Clearing string for next read
    Serial.println("client disconnected");
  }
}

void printWiFiStatus() {
  // print the SSID of the network you're attached to:
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());

// print your WiFi shield's IP address:
  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);

// print the received signal strength:
  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):");
  Serial.print(rssi);
  Serial.println(" dBm");
}

void detect(void) {
  distance=calculateDistance();
  delay(5);
  Serial.print("Distance:");
  Serial.print(distance);
  Serial.println(" cm");
}

int calculateDistance()
{
  digitalWrite(trigPin,LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin,HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin,LOW);
 
  duration=pulseIn(echoPin,HIGH);
  distance=duration*0.034/2;
  return distance;
}




Nothing showed on my computer. Anything wrong?

Anything wrong? Who knows. Did you try one of the IDE sample program that uses the Serial.print() function to see if it works?

Paul

PS: did you turn the serial monitor on by clicking the spot on the screen?