сряда, 26 ноември 2014 г.

Thermometer with Arduino and LM335

//Програма за измерване на температура в помещение с
//помоща на аналогов температурен сензор LM335
//свързан към аналогов вход А0
//Program for measuring the temperature in a room with
//analog temperature sensor LM335
//connected to analog input A0
int sensorPin = A0;
//Функция за отчитане на температурен сензор LM335
//връща стойността в градус Целзий
//Reporting function of temperature sensor LM335
// returns the value in degrees Celsius
float temp_lm335(int sensorP)
{
float sensorV=0;
float temp=0;
// Отчитане на стойността от сензора
sensorV = analogRead(sensorP);
//Превръща стойността от АЦП в градус Келвин
temp = (sensorV*0.48875855);
//Преобразува от Келвин в Целзий
temp = temp - 273.15;
return temp;
};
void setup()
{
// Стартиране на серийна комуникация
Serial.begin(9600);
};
void loop()
{
Serial.println("------------------------------");
Serial.print(" T = ");
Serial.print(temp_lm335(sensorPin));
Serial.println(" Celsius");
Serial.println("===============================");
delay(30000);
};

четвъртък, 13 ноември 2014 г.

Ардуино Ethernet Shield Rev.3

Ардуино Ethernet Shield Rev.3 е разширителен модул за Arduino .
Предназначен е за свързване с интернет. Използва Wiznet W5100 TCP/IP Ethernet контролер (описание) и разполага SD card слот за четене и съхраняване на данни в micro SD карта, използвайки SD Library. Разполага с бутон за рестартиране, RJ-45 конектор, четири свeтодиода и място за добавяне на PoE модул (Power over Ethernet), позволяващ захранване през мрежов кабел. Използваните конектори в Ардуино Ethernet Shield дават възможност върху него да се добавят допълнителни разширителни модули.
За свързване към интернет се използват две от библиотеките SPI.h и Ethernet.h .
  • Ethernet.h стандартна библиотека за свързване към Интернет с помощта на Ардуино Ethernet Shield. Поддържа клиент и сървър функции. Библиотеката поддържа до четири едновременни връзки (входящи или изходящи или комбинация).
    • Клас Ethernet - инициализира Ethernet библиотеката и мрежовите настройки.
      Функция Ethernet.begin()
      Инициализира библиотеката Ethernet и мрежовите настройки. След версия 1.0, библиотеката поддържа DHCP. При използването Ethernet.begin (Mac) с подходящ параметър за MAC адрес, Ethernet Shield автоматично ще получи IP адрес от мрежата.
      Синтаксис
      Ethernet.begin(mac);
      Ethernet.begin(mac, ip);
      Ethernet.begin(mac, ip, dns);
      Ethernet.begin(mac, ip, dns, gateway);
      Ethernet.begin(mac, ip, dns, gateway, subnet);
      Пример :
      #include <SPI.h>
      #include <Ethernet.h>
      // the media access control (ethernet hardware) address for the shield:
      byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
      //the IP address for the shield:
      byte ip[] = { 10, 0, 0, 177 };
      void setup()
      {
      Ethernet.begin(mac, ip);
      }
      void loop () {}
      Функция Ethernet.localIP ()
      Получава IP адреса на Ethernet Shield. Полезно е, когато адресът е автоматично определен чрез DHCP.
      Синтаксис
      Ethernet.localIP();
      Връща IP адрес.
      Пример :
      #include <SPI.h>
      #include <Ethernet.h>
      byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };
      EthernetClient client;
      void setup() {
      Serial.begin(9600);
      if (Ethernet.begin(mac) == 0) {Serial.println("Failed to configure Ethernet using DHCP");
      for(;;);
      }
      Serial.println(Ethernet.localIP());
      }
      void loop() {}
      Функция Ethernet.maintain ()
      Дава възможност за подновяване на DHCP настройkите. Когато се зададе IP адрес чрез DHCP, на Ethernet устройства той е даден за ползване за определен период от време. С Ethernet.maintain (), е възможно да направите заявка за подновяване от DHCP сървър. В зависимост от конфигурацията на сървъра, може да получите същия адрес, нов, или никакъв. Ethernet.maintain () се добавя към ARDUINO 1.0.1.
      Синтаксис
      Ethernet.maintain();
    • Клас IPAddress - Класът работи с локални и реални IP адреси.
      Функция IPAddress()
      Определя IP адрес. Може да се използва за деклариране на локални и на реални адреси.
      Синтаксис
      IPAddress(address);
      address : (4 байта, 192, 168, 1, 1)
    • Клас Server Класът създава сървъри, които могат да изпращат данни към и получават данни от свързани клиенти (програми, работещи на други компютри или устройства).
      Функция EthernetServer()
      Създаване на сървър, който очаква входящи свързвания на посочения порт.
      Синтаксис
      EthernetServer(port);
      Функция begin()
      Казва на сървъра да започне слушане за входящи връзки.
      Синтаксис
      server.begin();
      Функция write()
      Изпраща информация на всички клиенти, свързани към сървъра. Тази информация се изпраща като байт или поредица от байтове.
      Синтаксис
      server.write(val)
      server.write(buf, len)
Съставен с помоща на http://arduino.cc