element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino
  • Products
  • More
Arduino
Arduino Forum Ethernet Shield error
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Verified Answer
  • Replies 19 replies
  • Subscribers 417 subscribers
  • Views 3424 views
  • Users 0 members are here
  • arduino
Related

Ethernet Shield error

e14 Contributor
e14 Contributor over 12 years ago

I am using below Open source Code to test my Ethernet sheild connected to Uno . Seems Everything is fine  but when I try to compile or upload its comming up with error ; 'Ethernet has not been declared' and There are few other error probally causing because of the Main error ;

rbbb_server:11: error: 'Ethernet' has not been declared

rbbb_server:12: error: 'BufferFiller' does not name a type

rbbb_server.ino: In function 'void setup()':

rbbb_server:15: error: 'ether' was not declared in this scope

rbbb_server:15: error: 'Ethernet' has not been declared

rbbb_server:17: error: 'ether' was not declared in this scope

rbbb_server.ino: In function 'word homePage()':

rbbb_server:25: error: 'bfill' was not declared in this scope

rbbb_server:25: error: 'ether' was not declared in this scope

rbbb_server.ino: In function 'void loop()':

rbbb_server:39: error: 'ether' was not declared in this scope.

 

if someone can help me fix this issues it will be grateful Thank you

 

// This is a demo of the RBBB running as webserver with the Ether Card

// 2010-05-28 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php

 

 

 

//#include <Ethernet.h>

#include <EtherCard.h>

 

 

// ethernet interface mac address, must be unique on the LAN

static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };

static byte myip[] = { 192,168,1,203 };

 

 

byte Ethernet::buffer[500];

BufferFiller bfill;

 

 

void setup () {

  if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)

    Serial.println( "Failed to access Ethernet controller");

  ether.staticSetup(myip);

}

 

 

static word homePage() {

  long t = millis() / 1000;

  word h = t / 3600;

  byte m = (t / 60) % 60;

  byte s = t % 60;

  bfill = ether.tcpOffset();

  bfill.emit_p(PSTR(

    "HTTP/1.0 200 OK\r\n"

    "Content-Type: text/html\r\n"

    "Pragma: no-cache\r\n"

    "\r\n"

    "<meta http-equiv='refresh' content='1'/>"

    "<title>RBBB server</title>"

    "<h1>$D$D:$D$D:$D$D</h1>"),

      h/10, h%10, m/10, m%10, s/10, s%10);

  return bfill.position();

}

 

 

void loop () {

  word len = ether.packetReceive();

  word pos = ether.packetLoop(len);

 

  if (pos)  // check if valid tcp data is received

    ether.httpServerReply(homePage()); // send web page data

}

  • Sign in to reply
  • Cancel
  • e14 Contributor
    0 e14 Contributor over 12 years ago in reply to Robert Peter Oakes

    at below The Code with LCD interface which doesnt work

     

     

    // DHT code from:

    // Example testing sketch for various DHT humidity/temperature sensors

    // Written by ladyada, public domain

     

    #include "DHT.h"

     

    #define DHTPIN 2     // what pin we're connected to

     

    // Uncomment whatever type you're using!

    #define DHTTYPE DHT11   // DHT 11

    // #define DHTTYPE DHT22   // DHT 22  (AM2302)

    //#define DHTTYPE DHT21   // DHT 21 (AM2301)

    DHT dht(DHTPIN, DHTTYPE);

     

    // LCD

    // LCD RS=3, EN=4, DS4=5, DS5=6, DS6=7, DS7=8

    #include Humidity: $D %

    "),

      t, h);

      return bfill.position();

    }

     

    // The main loop

    //  We add to the timer and read the DHT11 values when Timer == 1, otherwise we loop without reading it

    // Once the Timer value == to 1100 we zero it and start the count again.  This way the sensors are only

    // read once every 1100 loops.  Every time we go through the loop we listen for a request on the Ethernet

    //  If we see one we send the webpage.  We also add an animation on the LCD so we know the loop is working.

     

    void loop () {

     

      Timer  = Timer+1;

      if(Timer==1)

      {

        ReadDHT11();

        // set the cursor to (0,0):

        lcd.setCursor(0, 0);

        // print from 0 to 9:

     

        lcd.print("Temp: ");

        lcd.print(t);

        lcd.print("C");

        // set the cursor to (16,1):

        lcd.setCursor(0,1);

        lcd.print("Humidity: ");

        lcd.print(h);

        lcd.print("%");

     

        if(Animation==0)

        {

          lcd.print("  *");

        }

        if(Animation==1)

        {

          lcd.print("  +");

        }

        Animation = Animation + 1;

        if(Animation==2)

        {

          Animation=0;

        }

      }

      if(Timer==1100)

      {

        Timer=0;

      }

     

      word len = ether.packetReceive();

      word pos = ether.packetLoop(len);

     

      if (pos)  // check if valid tcp data is received

      {

        ReadDHT11();

        ether.httpServerReply(homePage()); // send web page data

      }

    }

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • e14 Contributor
    0 e14 Contributor over 12 years ago in reply to Robert Peter Oakes

    This is the code below you suggested but need to add LCD code bit ! I have no qlue what to do .. I am kind of Stuck!  ( I am using It with Wiznet Based Ethernet Sheild)

    #include ");

        }

    }

    /*******************************************************************************

     

    • Main Loop

    *******************************************************************************/

    void loop()

    {

     

    // listen for incoming clients

      EthernetClient 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();

            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.print(headerHTML);

              // now send the stuff we want

              client.print(TimeElapsed()); // your old code here

              // do some more stuff

              sendTempToNetwork(client);

              sendAnalogToNetwork(client);

               // were done sending so now send the footer to close the page

              client.println(footerHTML);

              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();

        Serial.println("client disconnected");

      }

    delay(2000);

    }

     

    void Cal_Temp()

    {

      if (TempHi&0x80)    // If bit7 of the TempHi is HIGH then the temperature is negative

        P_N = 0;

      else    // Else the temperature is positive

      P_N = 1;

     

      TempHi = TempHi & 0x7F;   // Remove sign

      TempLo = TempLo & 0xF0;   // Filter out last nibble

      TempLo = TempLo >>4; // Shift right 4 times

      Decimal = TempLo;

      Decimal = Decimal * 625;  // Each bit = 0.0625 degree C

      combined_temp_C= TempHi + TempLo*.0625;

      combined_temp_F = combined_temp_C*1.8+32;

       sprintf(strTempC, "%f", combined_temp_C);

       sprintf(strTempF, "%f", combined_temp_F);

    }

    ////Celsius to Kelvin conversion

    //double Kelvin(double celsius)

    //{

    //        return celsius + 273.15;

    //}

     

    // dewPoint function NOAA

    // reference: http://wahiduddin.net/calc/density_algorithms.htm

    double dewPoint(double celsius, double humidity)

    {

            double A0= 373.15/(273.15 + celsius);

            double SUM = -7.90298 * (A0-1);

            SUM += 5.02808 * log10(A0);

            SUM += -1.3816e-7 * (pow(10, (11.344*(1-1/A0)))-1) ;

            SUM += 8.1328e-3 * (pow(10,(-3.49149*(A0-1)))-1) ;

            SUM += log10(1013.246);

            double VP = pow(10, SUM-3) * humidity;

            double T = log(VP/0.61078);   // temp var

            return (241.88 * T) / (17.558-T);

    }

     

    // delta max = 0.6544 wrt dewPoint()

    // 5x faster than dewPoint()

    // reference: http://en.wikipedia.org/wiki/Dew_point

    double dewPointFast(double celsius, double humidity)

    {

            double a = 17.271;

            double b = 237.7;

            double temp = (a * celsius) / (b + celsius) + log(humidity/100);

            double Td = (b * temp) / (a - temp);

            return Td;

    }

     

    Thank you

    Regards

    Ankit Patel

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • e14 Contributor
    0 e14 Contributor over 12 years ago in reply to Robert Peter Oakes

    How DO I Add DHT11 library .. I tried Changing DHT22 to DHT11 in source code But it doesnt work. its comming up with error saying ;

    'dht' does not name type

    DCT22_test:7: error: 'dht' does not name a type

    DCT22_test.ino: In function 'void sendTempToNetwork(EthernetClient)':

    DCT22_test:62: error: 'DHT' was not declared in this scope

    I am trying to use DHT11 in same code above !

     

     

    Thank you

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Robert Peter Oakes
    0 Robert Peter Oakes over 12 years ago in reply to e14 Contributor

    Before i dive into that, did the code I sent to you work OK ?

     

    Peter

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Robert Peter Oakes
    0 Robert Peter Oakes over 12 years ago

    As for DHT22 vs DHT11 the only change is this

     

        int chk = DHT.read22(DHT22_PIN); change to     int chk = DHT.read11(DHT22_PIN); assuming the DHT11 is on the same pin as the variable DHT22_PIN is configured for which in the code is pin 2

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • e14 Contributor
    0 e14 Contributor over 12 years ago in reply to Robert Peter Oakes

    ?Dear Sir,

     

     

    It did. Just need to add LCD part now. Really impressive I had no qlue thought it won't work . but it did.

     

     

    Thank you

     

    Regards

     

    Ankit Patel

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Robert Peter Oakes
    0 Robert Peter Oakes over 12 years ago in reply to e14 Contributor

    link in the LCD your using, maybe a link to the product page, there are so many I want to ensure I am helping with the right one

     

    Peter

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • e14 Contributor
    0 e14 Contributor over 12 years ago in reply to Robert Peter Oakes

    ?Dear Sir ,

     

    I am using OLED 2x16 yellow 84x44 (Product Code N07QQ)

     

    Here is the Link ; http://www.maplin.co.uk/p/oled-2x16-yellow-character-display-n07qq

     

    OLED 2x16 Yellow Character Display | Maplin

    Colour Organic Light Emitting Display with alphanumeric characters. OLEDs remove the requirement for back lit panels and offer vibrant, sharp colours. Low power cons

    Read more...<http://www.maplin.co.uk/p/oled-2x16-yellow-character-display-n07qq>

     

    ?

     

     

    Thank you

     

    Regards

     

    Ankit Patel

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • e14 Contributor
    0 e14 Contributor over 12 years ago in reply to Robert Peter Oakes

    Sir,

     

    The Help I am receiving from you sir. I really appreciate it.

     

     

    Thank you

     

    Regards

     

    Ankit Patel

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
<
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube