PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > AndroidCar > Питание

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2016, 20:04   #31
Denkos
Гуру
 
Регистрация: 21.01.2010
Город: Новосибирск
Регион: 54
Сообщений: 2,580
Denkos is a glorious beacon of lightDenkos is a glorious beacon of lightDenkos is a glorious beacon of lightDenkos is a glorious beacon of lightDenkos is a glorious beacon of lightDenkos is a glorious beacon of light
По умолчанию

Цитата:
Сообщение от Serg-Zmuh Посмотреть сообщение
там у мня
Что за хрень с русским, или фишка такая.
Denkos вне форума   Ответить с цитированием
Старый 09.06.2016, 04:07   #32
Serg-Zmuh
Старший Пользователь
 
Аватар для Serg-Zmuh
 
Регистрация: 19.02.2014
Возраст: 53
Город: Ванино
Регион: 27
Машина: MMC-Pajero-II,V46,4М40
Сообщений: 327
Serg-Zmuh will become famous soon enough
По умолчанию

Цитата:
Сообщение от Denkos Посмотреть сообщение
Что за хрень с русским, или фишка такая.
перевожу:
там у меня (под капотом)как раз можно так подключить -что стартер
оставить без разрыва можно ...., в общем жду шунт

так норм ?
__________________
MMC-Pajero ,Teyes CC3 ,все пока в процессе
Serg-Zmuh вне форума   Ответить с цитированием
Старый 09.06.2016, 09:40   #33
YAM1966
Гуру
 
Аватар для YAM1966
 
Регистрация: 01.06.2013
Возраст: 57
Регион: Украина
Машина: Toyota Fortuner 4.0 / Chevrolet Bolt EV
Сообщений: 2,007
YAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud of
По умолчанию

Цитата:
Сообщение от Serg-Zmuh Посмотреть сообщение
перевожу:
там у меня (под капотом)как раз можно так подключить -что стартер
оставить без разрыва можно ...., в общем жду шунт

так норм ?
Тогда можно было шунт купить на меньший ток, тем самым повысив точность измерения...
YAM1966 на форуме   Ответить с цитированием
Старый 22.07.2016, 13:32   #34
Serg-Zmuh
Старший Пользователь
 
Аватар для Serg-Zmuh
 
Регистрация: 19.02.2014
Возраст: 53
Город: Ванино
Регион: 27
Машина: MMC-Pajero-II,V46,4М40
Сообщений: 327
Serg-Zmuh will become famous soon enough
По умолчанию

вот наконец-то дошли руки до внедрения шунта в машину
пытаюсь залить этот скетч в УНО ,и что-то не идет .....

PHP код:
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <ina219.h>
#include <SPI.h>
INA219 monitor;
char incomingByte;
int analogInput 0;
float vout 0.0;
float vin 0.0;
float R1 100000.0;
float R2 10000.0;
int value 0;
OneWire OW_tempa(9);
OneWire OW_tempb(10);
OneWire OW_tempc(11);
DallasTemperature tempa(&OW_tempa);
DallasTemperature tempb(&OW_tempb);
DallasTemperature tempc(&OW_tempc);
DeviceAddress tempaAddresstempbAddresstempcAddress;
void setup(void){
Serial.begin(9600);
  [
COLOR="Red"]monitor.begin(69); //i2c addres[/COLOR]s
  
monitor.configure(0311117); 
// (range, gain, bus_adc, shunt_adc, mode)
// range = 1 (0-32V bus voltage range)
// gain = 3 (1/8 gain - 320mV range)
// bus adc = 3 (12-bit, single sample, 532uS conversion time)
// shunt adc = 3 (12-bit, single sample, 532uS conversion time)
// mode = 7 (continuous conversion)
// test shunt = 115mm of 22AWG solid copper = 0.3 Ohms
monitor.calibrate(0.0990.1584162);
//R_шунта, напряж_шунта, макcнапряж, максток
pinMode(analogInput,INPUT);
tempa.begin();
tempb.begin();
tempc.begin();
}
void loop(void){
for(
int i 0100i++) 
  {
  
Serial.println("******************");
  
Serial.print("raw shunt voltage: ");
  
Serial.println(monitor.shuntVoltageRaw());
  
Serial.print("raw bus voltage:   ");
  
Serial.println(monitor.busVoltageRaw());
  
Serial.println("--");
  
Serial.print("shunt voltage: ");
  
Serial.print(monitor.shuntVoltage(), 4);
  
Serial.println(" mV");
  
Serial.print("shunt current: ");
  
Serial.print(monitor.shuntCurrent() * 10004);
  
Serial.println(" mA");
  
Serial.print("bus voltage:   ");
  
Serial.print(monitor.busVoltage(), 4);
  
Serial.println(" V");
  
Serial.print("bus power:     ");
  
Serial.print(monitor.busPower() * 10004);
  
Serial.println(" mW");
  
Serial.println(" ");
  
Serial.println(" "); 
  
i=0;
}
  
value analogRead(analogInput);
  
vout = (value*5.0)/1024.0;
  
vin vout/(R2/(R1+R2));
  if(
vin<0.09){
    
vin 0.0;
  }
tempa.requestTemperatures();
delay(700);
Serial.print("<InDoor:");
if ( !
tempa.getAddress(tempaAddress,0)){
Serial.print("0");
}else{
Serial.print(tempa.getTempCByIndex(0),1);
}
Serial.println(">");
tempb.requestTemperatures();
delay(700);
Serial.print("<OutDoor:");
if ( !
tempb.getAddress(tempbAddress,0)){
Serial.print("0");
}else{
Serial.print(tempb.getTempCByIndex(0),1);
}
Serial.println(">");
tempc.requestTemperatures();
delay(700);
Serial.print("<Engine:");
if ( !
tempc.getAddress(tempcAddress,0)){
Serial.print("0");
}else{
Serial.print(tempc.getTempCByIndex(0),1);
}
Serial.println(">");
delay(700);
Serial.print("<Voltage:");
Serial.print(vin,2);
Serial.println(">");

ошибки валятся вот на эту строку ругается:
monitor.begin(69); //i2c address
понимаю что это адрес ...почему 69 нет
в тоже время тестовый скетч иновский работает
но там этот параметр другой monitor.begin();
убрал параметр (69)
начало ругаться на конфигурирование
ладно закоментировал их
вроде скомпилилось ,залил
а в мониторе теперь только выводит данные с INA а с датчиков нету показаний

что не так ?
вот скетч ,который я правил ...
посмотрите пожалуйста
PHP код:
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <INA219.h>
#include <SPI.h>
INA219 monitor;
char incomingByte;
int analogInput 0;
float vout 0.0;
float vin 0.0;
float R1 100000.0;
float R2 10000.0;
int value 0;
OneWire OW_tempa(9);
OneWire OW_tempb(10);
OneWire OW_tempc(11);
DallasTemperature tempa(&OW_tempa);
DallasTemperature tempb(&OW_tempb);
DallasTemperature tempc(&OW_tempc);
DeviceAddress tempaAddresstempbAddresstempcAddress;
void setup(void){
Serial.begin(9600);
  
monitor.begin(); //i2c address
// monitor.configure(1, 3, 11, 11, 7); 
// (range, gain, bus_adc, shunt_adc, mode)
// range = 1 (0-32V bus voltage range)
// gain = 3 (1/8 gain - 320mV range)
// bus adc = 3 (12-bit, single sample, 532uS conversion time)
// shunt adc = 3 (12-bit, single sample, 532uS conversion time)
// mode = 7 (continuous conversion)
// test shunt = 115mm of 22AWG solid copper = 0.3 Ohms
// monitor.calibrate(0.099, 0.1584, 0, 0);
//R_шунта, напряж_шунта, макcнапряж, максток
pinMode(analogInput,INPUT);
tempa.begin();
tempb.begin();
tempc.begin();
}
void loop(void){
for(
int i 0100i++) 
  {
  
Serial.println("******************");
  
  
Serial.print("raw shunt voltage: ");
  
Serial.println(monitor.shuntVoltageRaw());
  
  
Serial.print("raw bus voltage:   ");
  
Serial.println(monitor.busVoltageRaw());
  
  
Serial.println("--");
  
Serial.print("shunt voltage: ");
  
Serial.print(monitor.shuntVoltage(), 4);
  
Serial.println(" mV");
  
Serial.print("shunt current: ");
  
Serial.print(monitor.shuntCurrent() * 10004);
  
Serial.println(" mA");
  
Serial.print("bus voltage:   ");
  
Serial.print(monitor.busVoltage(), 4);
  
Serial.println(" V");
  
Serial.print("bus power:     ");
  
Serial.print(monitor.busPower() * 10004);
  
Serial.println(" mW");
  
Serial.println(" ");
  
Serial.println(" "); 
  
i=0;
}
  
value analogRead(analogInput);
  
vout = (value*5.0)/1024.0;
  
vin vout/(R2/(R1+R2));
  if(
vin<0.09){
    
vin 0.0;
  }
tempa.requestTemperatures();
delay(700);
Serial.print("<InDoor:");
if ( !
tempa.getAddress(tempaAddress,0)){
Serial.print("0");
}else{
Serial.print(tempa.getTempCByIndex(0),1);
}
Serial.println(">");
tempb.requestTemperatures();
delay(700);
Serial.print("<OutDoor:");
if ( !
tempb.getAddress(tempbAddress,0)){
Serial.print("0");
}else{
Serial.print(tempb.getTempCByIndex(0),1);
}
Serial.println(">");
tempc.requestTemperatures();
delay(700);
Serial.print("<Engine:");
if ( !
tempc.getAddress(tempcAddress,0)){
Serial.print("0");
}else{
Serial.print(tempc.getTempCByIndex(0),1);
}
Serial.println(">");
delay(700);
Serial.print("<Voltage:");
Serial.print(vin,2);
Serial.println(">");


и еще вопрос - без подачи питания на вход INA ,должно же работать ?
или конфигурировать надо уже с подключеной нагрузкой ?
просто я пока на столе тестю ....
прикрепил файл с логом ошибок
Вложения
Тип файла: txt Новый текстовый документ (2).txt (3.8 Кб, 624 просмотров)
__________________
MMC-Pajero ,Teyes CC3 ,все пока в процессе
Serg-Zmuh вне форума   Ответить с цитированием
Старый 22.07.2016, 13:57   #35
armlive
Старший Пользователь
 
Регистрация: 12.12.2013
Возраст: 43
Город: Армавир
Регион: 23, 93
Машина: Nissan Qashqai
Сообщений: 510
armlive is a glorious beacon of lightarmlive is a glorious beacon of lightarmlive is a glorious beacon of lightarmlive is a glorious beacon of lightarmlive is a glorious beacon of light
По умолчанию

Во первых у тебя библиотека лежит неизвестно знает где, теперь смотри название в библиотеке INA219, а утебя ina219.
у меня все сконвертировалось без проблем. библиотека находиться по пути: Documents\Arduino\libraries\INA219

PHP код:
#include <OneWire.h> 
#include <DallasTemperature.h> 
#include <Wire.h> 
#include <INA219.h> 
#include <SPI.h> 
INA219 monitor
char incomingByte
int analogInput 0
float vout 0.0
float vin 0.0
float R1 100000.0
float R2 10000.0
int value 0
OneWire OW_tempa(9); 
OneWire OW_tempb(10); 
OneWire OW_tempc(11); 
DallasTemperature tempa(&OW_tempa); 
DallasTemperature tempb(&OW_tempb); 
DallasTemperature tempc(&OW_tempc); 
DeviceAddress tempaAddresstempbAddresstempcAddress
void setup(void){ 
Serial.begin(9600); 
 
monitor.begin(69); //i2c addres
  
monitor.configure(0311117);  
// (range, gain, bus_adc, shunt_adc, mode) 
// range = 1 (0-32V bus voltage range) 
// gain = 3 (1/8 gain - 320mV range) 
// bus adc = 3 (12-bit, single sample, 532uS conversion time) 
// shunt adc = 3 (12-bit, single sample, 532uS conversion time) 
// mode = 7 (continuous conversion) 
// test shunt = 115mm of 22AWG solid copper = 0.3 Ohms 
monitor.calibrate(0.0990.1584162); 
//R_шунта, напряж_шунта, макcнапряж, максток 
pinMode(analogInput,INPUT); 
tempa.begin(); 
tempb.begin(); 
tempc.begin(); 

void loop(void){ 
for(
int i 0100i++)  
  { 
  
Serial.println("******************"); 
  
Serial.print("raw shunt voltage: "); 
  
Serial.println(monitor.shuntVoltageRaw()); 
  
Serial.print("raw bus voltage:   "); 
  
Serial.println(monitor.busVoltageRaw()); 
  
Serial.println("--"); 
  
Serial.print("shunt voltage: "); 
  
Serial.print(monitor.shuntVoltage(), 4); 
  
Serial.println(" mV"); 
  
Serial.print("shunt current: "); 
  
Serial.print(monitor.shuntCurrent() * 10004); 
  
Serial.println(" mA"); 
  
Serial.print("bus voltage:   "); 
  
Serial.print(monitor.busVoltage(), 4); 
  
Serial.println(" V"); 
  
Serial.print("bus power:     "); 
  
Serial.print(monitor.busPower() * 10004); 
  
Serial.println(" mW"); 
  
Serial.println(" "); 
  
Serial.println(" ");  
  
i=0

  
value analogRead(analogInput); 
  
vout = (value*5.0)/1024.0
  
vin vout/(R2/(R1+R2)); 
  if(
vin<0.09){ 
    
vin 0.0
  } 
tempa.requestTemperatures(); 
delay(700); 
Serial.print("<InDoor:"); 
if ( !
tempa.getAddress(tempaAddress,0)){ 
Serial.print("0"); 
}else{ 
Serial.print(tempa.getTempCByIndex(0),1); 

Serial.println(">"); 
tempb.requestTemperatures(); 
delay(700); 
Serial.print("<OutDoor:"); 
if ( !
tempb.getAddress(tempbAddress,0)){ 
Serial.print("0"); 
}else{ 
Serial.print(tempb.getTempCByIndex(0),1); 

Serial.println(">"); 
tempc.requestTemperatures(); 
delay(700); 
Serial.print("<Engine:"); 
if ( !
tempc.getAddress(tempcAddress,0)){ 
Serial.print("0"); 
}else{ 
Serial.print(tempc.getTempCByIndex(0),1); 

Serial.println(">"); 
delay(700); 
Serial.print("<Voltage:"); 
Serial.print(vin,2); 
Serial.println(">"); 

Сконвертироваться должно и без ардуино)
__________________
Nexus 7 (2013) Nissan Qashqai

Последний раз редактировалось armlive; 22.07.2016 в 19:33.
armlive вне форума   Ответить с цитированием
Старый 22.07.2016, 18:27   #36
Serg-Zmuh
Старший Пользователь
 
Аватар для Serg-Zmuh
 
Регистрация: 19.02.2014
Возраст: 53
Город: Ванино
Регион: 27
Машина: MMC-Pajero-II,V46,4М40
Сообщений: 327
Serg-Zmuh will become famous soon enough
По умолчанию

да библиотеку то оно вроде видит
на счет путей х.з. ,у мня нетбук на win10 ,может в этом есть какая-нибудь разница...
иначе бы ругалось на строку #include <INA219.h>
я наверно что-то натыкал ,шарю еще не очень в ардуино

вопрос - и всетаки почему тут - monitor.begin(69); //i2c address ,именно 69
просто понять хочу
и еще разницы ведь нету куда заливать ,в UNO или Leonardo?

но за подсказку спасибо ,завтра с чистого листа сделаю
__________________
MMC-Pajero ,Teyes CC3 ,все пока в процессе
Serg-Zmuh вне форума   Ответить с цитированием
Старый 22.07.2016, 18:39   #37
armlive
Старший Пользователь
 
Регистрация: 12.12.2013
Возраст: 43
Город: Армавир
Регион: 23, 93
Машина: Nissan Qashqai
Сообщений: 510
armlive is a glorious beacon of lightarmlive is a glorious beacon of lightarmlive is a glorious beacon of lightarmlive is a glorious beacon of lightarmlive is a glorious beacon of light
По умолчанию

Это адрес Ina. Разница нет
__________________
Nexus 7 (2013) Nissan Qashqai
armlive вне форума   Ответить с цитированием
Старый 23.07.2016, 07:40   #38
Serg-Zmuh
Старший Пользователь
 
Аватар для Serg-Zmuh
 
Регистрация: 19.02.2014
Возраст: 53
Город: Ванино
Регион: 27
Машина: MMC-Pajero-II,V46,4М40
Сообщений: 327
Serg-Zmuh will become famous soon enough
По умолчанию

в общем не получается у меня ни фига
дело не в библиотеке уже точно
ругается на стороку monitor.begin(69); //i2c addres
значит получается адрес не правильный.... ,а какой правильный ?как узнать?
вот лог
как и писал выше если убрать (69) то и параметры настроек тоже надо убирать , но тогда криво работает а сериал монитор выводит
только данные с INA
пробовал в ХР ,в виртуалке ,тоже самое ...


через 4 часа:
вот сижу разбираюсь.....
похоже что сам модуль ina129 у меня бракованный попался
вот что монитор выдает:
Bus Voltage: 0.784 V
Shunt Voltage: 14.930 mV
Bat Voltage: 0.803 V
Current: 0.189 A
Power: 0.070 W
Ah: 0.002 Ah

а подается напряжение от аккума автомобильного -нагрузка релюха на 12вольт,
на акуме мультиметр паказывает 12.2 вольта -а тут 14 выдает....
игрался настройками но как то безтолку ,они ведь только на показания тока влияют.... ,я прав ?
шунт встроенный R100
тестовый скетч вот такой пробовал:

PHP код:
/**********************************************
* INA219 library example
* 9 January 2016 by Flavius Bindea
*
* this code is public domain.
**********************************************/


#include <Wire.h>
#include <INA219.h>

#define SHUNT_MAX_V 0.01  /* Rated max for our shunt is 75mv for 50 A current: 
                             
we will mesure only up to 20A so max is about 75mV*20/50 lets put some more*/
#define BUS_MAX_V   16.0  /* with 12v lead acid battery this should be enough*/
#define MAX_CURRENT 20    /* In our case this is enaugh even shunt is capable to 50 A*/
#define SHUNT_R   0.1   /* Shunt resistor in ohm */

INA219 monitor;

void setup()
{
  
Serial.begin(9600);
  
monitor.begin();
  
// setting up our configuration
  // default values are RANGE_32V, GAIN_8_320MV, ADC_12BIT, ADC_12BIT, CONT_SH_BUS
  
monitor.configure(INA219::RANGE_16VINA219::GAIN_2_80MVINA219::ADC_64SAMPINA219::ADC_64SAMPINA219::CONT_SH_BUS);
  
  
// calibrate with our values
  
monitor.calibrate(SHUNT_RSHUNT_MAX_VBUS_MAX_VMAX_CURRENT);
}

void loop()
{
  
Serial.println("******************");
  
  
Serial.print("raw shunt voltage: ");
  
Serial.println(monitor.shuntVoltageRaw());
  
  
Serial.print("raw bus voltage:   ");
  
Serial.println(monitor.busVoltageRaw());
  
  
Serial.println("--");
  
  
Serial.print("shunt voltage: ");
  
Serial.print(monitor.shuntVoltage() * 10004);
  
Serial.println(" mV");
  
  
Serial.print("shunt current: ");
  
Serial.print(monitor.shuntCurrent() * 10004);
  
Serial.println(" mA");
  
  
Serial.print("bus voltage:   ");
  
Serial.print(monitor.busVoltage(), 4);
  
Serial.println(" V");
  
  
Serial.print("bus power:     ");
  
Serial.print(monitor.busPower() * 10004);
  
Serial.println(" mW");
  
  
Serial.println(" ");
  
Serial.println(" ");
  
  
delay(2000);

Вложения
Тип файла: txt лог-ошибки ардуино.txt (4.4 Кб, 608 просмотров)
__________________
MMC-Pajero ,Teyes CC3 ,все пока в процессе

Последний раз редактировалось Serg-Zmuh; 23.07.2016 в 10:52.
Serg-Zmuh вне форума   Ответить с цитированием
Старый 23.07.2016, 11:24   #39
armlive
Старший Пользователь
 
Регистрация: 12.12.2013
Возраст: 43
Город: Армавир
Регион: 23, 93
Машина: Nissan Qashqai
Сообщений: 510
armlive is a glorious beacon of lightarmlive is a glorious beacon of lightarmlive is a glorious beacon of lightarmlive is a glorious beacon of lightarmlive is a glorious beacon of light
По умолчанию

Я заметил что у тебя библиотека другая. У меня все залилось опять без проблем.
Адрес для заливки не важен, он не знает же правильный он или нет.
Библиотеку используй эту, старую удали
https://github.com/johngineer/ArduinoINA219, а мне скинь ссылку на твою
Из примера же видно, что она настраивается даже по другому
В твоем примере
Цитата:
#define SHUNT_MAX_V 0.01 /* Rated max for our shunt is 75mv for 50 A current:
we will mesure only up to 20A so max is about 75mV*20/50 lets put some more*/
#define BUS_MAX_V 16.0 /* with 12v lead acid battery this should be enough*/
#define MAX_CURRENT 20 /* In our case this is enaugh even shunt is capable to 50 A*/
#define SHUNT_R 0.1 /* Shunt resistor in ohm */
А в твоем скетче
Цитата:
monitor.begin(69); //i2c addres
monitor.configure(0, 3, 11, 11, 7);
// (range, gain, bus_adc, shunt_adc, mode)
// range = 1 (0-32V bus voltage range)
// gain = 3 (1/8 gain - 320mV range)
// bus adc = 3 (12-bit, single sample, 532uS conversion time)
// shunt adc = 3 (12-bit, single sample, 532uS conversion time)
// mode = 7 (continuous conversion)
// test shunt = 115mm of 22AWG solid copper = 0.3 Ohms
monitor.calibrate(0.099, 0.1584, 16, 2);
__________________
Nexus 7 (2013) Nissan Qashqai
armlive вне форума   Ответить с цитированием
Старый 23.07.2016, 18:05   #40
Serg-Zmuh
Старший Пользователь
 
Аватар для Serg-Zmuh
 
Регистрация: 19.02.2014
Возраст: 53
Город: Ванино
Регион: 27
Машина: MMC-Pajero-II,V46,4М40
Сообщений: 327
Serg-Zmuh will become famous soon enough
По умолчанию

я пробовал две библиотеки ,которые выдало по поиску сама софтина ардуиновская версия 1.6.8 ,
это: Adafruit_INA219 и ArduinoINA219 ,a c гитхаба не пробовал,так как думал что там старее версия....
ссылки щаз не могу дать дома нет софтины этой
так вот тот пример на котором хоть как-то завелось ,это скетчи примеров от бибилиотеки ArduinoINA219 ,вот:
PHP код:
#define SHUNT_MAX_V 0.01 /* Rated max for our shunt is 75mv for 50 A current: 
we will mesure only up to 20A so max is about 75mV*20/50 lets put some more*/
#define BUS_MAX_V 16.0 /* with 12v lead acid battery this should be enough*/
#define MAX_CURRENT 20 /* In our case this is enaugh even shunt is capable to 50 A*/
#define SHUNT_R 0.1 /* Shunt resistor in ohm */ 
я просто в поиске указывал ina219 и выдало всего две библиотеки.

блин ну ни где в примерах нет параметра monitor.begin(69); //i2c addres
у меня то на это ругается.....что-то я ни фига понять немогу где костыль-то

я конечно попробую подсунуть библиотеку с гитхаба ,ну думаю результат будет тот же
__________________
MMC-Pajero ,Teyes CC3 ,все пока в процессе
Serg-Zmuh вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 09:53.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot