Elektronika.lt
 2024 m. gegužės 8 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

Elektronika.lt portalo forumas

Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo. Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.

Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius, kurie nesilaiko forumo taisyklių. Pastebėjus nusižengimus, prašome pranešti.

Dabar yra 2024 05 08, 18:58. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » Apsisukimu skaitiklis
Jūs negalite rašyti naujų pranešimų į šį forumą
Jūs negalite atsakinėti į pranešimus šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite ištrinti savo pranešimų šiame forume
Jūs negalite dalyvauti apklausose šiame forume
 
  
Puslapis 11
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 Apsisukimu skaitiklis
PranešimasParašytas: 2010 02 05, 12:57 Pranešti apie taisyklių pažeidimą Atsakyti su citata
dziugas
Naujokas
Naujokas
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Sveiki,
Tikslas skaiciuoti apsisukimus RPM/min (max 500 rpm/min).
Skaiciavimo formule (http://radiokot.ru/forum/viewtopic.php?t=24703&highlight=%EE%E1%EE%F0%EE%F2%EE%E2)
S=(60*Fo*Nx*k)/nox ,
где
S - скорость вращения (об/мин)
Fo - тактовая частота контроллера (Гц)
Nx - целое число периодов измеряемой скорости
k - коеф. пропорциональности (сколько импульсов за 1 оборот)
nox - целое число периодов тактовой частоты микроконтролера

Atmega16 + LCD, simuliacija ant proteuso. Deja LCD nieko nerodo. Gal neteisingai vykdau isvedima i ekrana.
Kodas paimtas (http://forum.cxem.net/index.php?showtopic=52397&st=40):
Gal turite savo pavyzdi mokymuisi?
8mhz kvarcas


#include <mega16.h>

// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>
#include <stdio.h>

unsigned char lcd_buffer [33];
unsigned long int counter; // количество тиков между прерываниями INT0 для расчетов
unsigned long int counter_timer; // количество тиков между прерываниями INT0 для таймера
unsigned int c_tacho=0; // // расчитанное количество числа оборотов

interrupt [EXT_INT0] void ext_int0_isr(void) //прерывание по появлению импульса на INT0
{
counter=counter_timer;
counter_timer=0; //обнуляем количество пройденных импульсов timer2
c_tacho=60/(counter*0.000001); // 0.000001 - период в секундах для частоты таймера2 1000,000 kHz
}

// Timer 2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
// Place your code here
counter_timer++;
}

// Declare your global variables here
void tacho_lcd_view()
{
lcd_gotoxy(0,0);
sprintf(lcd_buffer,"%4d ob/min",c_tacho); //
lcd_puts(lcd_buffer);//выводим
}

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 1000,000 kHz
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x02;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x40;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// LCD module initialization
lcd_init(16);
// Global enable interrupts
#asm("sei")

while (1)
{
// Place your code here
tacho_lcd_view();

};
}
 Apsisukimu skaitiklis
PranešimasParašytas: 2010 02 05, 13:05 Pranešti apie taisyklių pažeidimą Atsakyti su citata
caca
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
o is viso ka nors isveda LCD ar ne? Parasyk paprasta testa, kad patikrintum prijungimus.

_________________
Nieko taip lengvai nedaliname, kaip patarimus...
 Apsisukimu skaitiklis
PranešimasParašytas: 2010 02 05, 13:20 Pranešti apie taisyklių pažeidimą Atsakyti su citata
dziugas
Naujokas
Naujokas
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Irasius:
// LCD module initialization
lcd_init(16);
lcd_clear(); //isvalyti ekrana
lcd_putsf(" skaitiklis ");
delay_ms(4000); // rodyti 4sek
lcd_clear();

rodo ekrane bet ilgai palaukus issijungia uzrasas "skaitiklis" (o ne 4 sek.). Kazkas negerai, tarsi viskas suletintai.
 Apsisukimu skaitiklis
PranešimasParašytas: 2010 02 06, 18:44 Pranešti apie taisyklių pažeidimą Atsakyti su citata
pcwortex
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
na is kur tokia beviltiska programa istraukiai. Permetes akim pamaciau, kad cia lygtais skaiciuoja isorinius pertrauktis.
Na schema gal galetum ideti kaip cia viskas atrodo, nes is programos sunkiai eina spresti.

_________________
Diplomas tik etikete ant konservų dėžutes. O kas slepiasi dėžutėje neaišku.
 Apsisukimu skaitiklis
PranešimasParašytas: 2010 02 06, 21:13 Pranešti apie taisyklių pažeidimą Atsakyti su citata
dziugas
Naujokas
Naujokas
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Nelabai randu kaip cia prikabinti paveiksliuka Sad
Shema paparsta i Atmega16 porta C pajungtas LCD (PC0-RS, PC1-RW, PC-E, PC4-D4...PC7-D7), o isoriniai impulsia paduodami i INT0 (PD2).
Aiskinantis principo esme, kiek supratau, tokia (nagrinejau kita pavyzdi su Atiny2313 is http://www.hardlock.org.ua/mc/tiny/tahometr/index.html ):
Timeris 1 - 16Bitu. Kvarcas 4Mhz : 64 = 62,5Khz
OCR1A += 6250;
skaiciuoja ir ivykdo pertraukimus
Tada isorinio pertraukimo INT0 metu vykdomas skaiciavimas
wFlashCnt++; //wFlashCnt = Skaitiklis suveikiancio daviklio

kur:
1Tmp = (62500L * 60L * (long)wFlashCnt);
1Tmp /= ((wTimerOvfCnt << 8 ) + TCNT0); // wTimerOvfCnt = Skaitiklis timerio perpildymo
1Tmp /= byBladeCnt; //byBladeCnt=impulsu sk. vieno apsisukimo metu
wRpm = lTmp;
Reikia pabandyti viska sudelioti ir isbandyti perasius is naujo koda
 Apsisukimu skaitiklis
PranešimasParašytas: 2010 02 08, 09:39 Pranešti apie taisyklių pažeidimą Atsakyti su citata
caca
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
jei procesoriukas juda labai suletintai, tai pzr jo taktinis dazni. Koks nustatytas?

_________________
Nieko taip lengvai nedaliname, kaip patarimus...
 Apsisukimu skaitiklis
PranešimasParašytas: 2010 02 08, 11:55 Pranešti apie taisyklių pažeidimą Atsakyti su citata
dziugas
Naujokas
Naujokas
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Jei kam idomu, radau paprasta daznomacio CVision projektas http://forum.cqham.ru/download.php?id=23117
Jo pagrindu bandysiu aiskintis. Daznomatis - veikiantis proteuse simuliuoja.
O su RMP skaitikliu dar aiskinuosi.
 Apsisukimu skaitiklis
PranešimasParašytas: 2010 04 02, 23:11 Pranešti apie taisyklių pažeidimą Atsakyti su citata
dziugas
Naujokas
Naujokas
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Gal kam bus idmomus perrasytas RPM matuoklis Atmega8 + LCD displejus pagal: http://www.hardlock.org.ua/mc/tiny/tahometr/index.html
Su Proteusu veikia. Kam bus idomu galiu asmeniskai persiusti projekta, o tai tik menesis paiesku ir skaitymo.
Gal atsiras entuziastu padaryti vejo greicio matuokliu?

#define TRUE (!FALSE)
#define FALSE 0
#define BYTE unsigned char
#define WORD unsigned short int
#define BOOLEAN char
#define TIMER_OVF_ENOUGHT 49
#define NO_PULSES_INTERVAL 200
#define LED_delay 250
//#define Light_delay 2500
//#define Anode
//#define Cathode
#define CNT_100_MS 6250
#define byBladeCnt 2 //1- две катушки, 2 - одна катушка, 4 - мотоцикл...
#define UpCount 4 // +1 = количество пропусков (0,1S) до обновления
#include <mega8.h>
#include <delay.h>
#include <stdio.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>

BOOLEAN btTimerOn; // TRUE - таймер запущен, FALSE - остановлен
BOOLEAN btTimeUpdate; // = 1, когда нужно обновить время на дисплее
WORD wTime; // Время, которое показывает секундомер (в десятых секунды)
BYTE byTcnt; // счетчик десятых секунд
BYTE byDisplayRefreshCnt; //
BYTE byDisplay[7]; // буфер данных, для вывода на экран mano dadetas

void ShowDisplayData(void); // Вывод экранного буфера
void PrepareRpmData(WORD wRpm);

BOOLEAN btDisplayUpdate; // = TRUE, если пришло время обновить дисплей
WORD wLockedRpm;

WORD wRpm; // Скорость вращения ротора (об/мин)

//BOOLEAN btRpmUpdate; // = 1, когда измеряно новое значение оборотов

WORD wTimerOvfCnt; // Счетчик переполнений таймера (нужен для
// увеличения разрядности

WORD wFlashCnt; // Счетчик срабатываний датчика прохождения допасти

BOOLEAN btFirstLowRateFlash; // FALSE - если отсчет периода еще не начался
// (датчик ни разу не сработал)


/************************************************************************\
Преобразование скорости мотора и количества лопастей
в данные экранного буфера
Вход: wRpm - обороты ротора, byBladeCnt - количество лопастей
Выход: -
\************************************************************************/
void PrepareRpmData(WORD wRpm)
{
BYTE i;
WORD R;

R = wRpm;
byDisplay[3] = wRpm % 10;
wRpm /= 1;
if (byDisplay[3] > 4) //округляем
{
wRpm++;
R += 10;
}
byDisplay[3] = 0;
// Первые 4 цифр - обороты двигателя
for(i=0; i<4; i++)
{
byDisplay[3-i] = wRpm % 10 + 48;
wRpm /= 10;
}
if (R < 10)
{
byDisplay[0] = 10;
byDisplay[1] = 10;
byDisplay[2] = 10;
goto exit;
}
if ((R >= 10) & (R <100))
{
byDisplay[0] = 1;
byDisplay[1] = 1;
goto exit;
}
if ((R >= 100) & (R <1000))
{
byDisplay[0] = 1;
goto exit;
}
exit:
}


/************************************************************************\
Вывод экранного буфера на дисплей.
Вход: -
Выход: -
\************************************************************************/
void ShowDisplayData(void)
{
int i;
for(i=0; i<7; i++)//kiek skaiciu isvesti i eilutes desine puse
{
lcd_putchar(byDisplay[i]);
}

}

/**************************************************************************\
Обработка прерываний от OC1 (для отсчета импульсов 0.1 сек)
Вход: -
Выход: -
\**************************************************************************/
interrupt [TIM1_COMPA] void SYSTEM_TICK_interrupt(void)
{
// Вычисляем оммент следующего срабатывания таймера
OCR1A += CNT_100_MS;

// 3 раза в секунду перерисовываем дисплей,
// независимо от обстоятельств.
if( ++byDisplayRefreshCnt == UpCount )
{
byDisplayRefreshCnt = 0;
btDisplayUpdate = TRUE;

}
// Если секундомер запущен - инкрементируем его показания
if( btTimerOn )
{
if (++byTcnt == 10)
{
byTcnt = 0;
if( ++wTime == 60000)
wTime = 0;
}
}


}

/**************************************************************************\
Обработка прерываний от управляющих импульсов
Вход: -
Выход: -
\**************************************************************************/
interrupt [EXT_INT0] void RPM_PULSE_interrupt(void)
{
long lTmp;


GICR &= ~0x40; //GIMSK &= ~0x40; (INT0)

if(btFirstLowRateFlash)
{
// Первый импульс, сбрасываем счетчик периода и
// счетчик импульсов
wTimerOvfCnt = 0;
wFlashCnt = 0;
TCNT0 = 0;
TIFR = 0x01;//TIFR = 0x02; (TOV0)
TCCR0 = 0x03,//(CS01)(CS00) TCCR0B = 0x03; // FCK / 64 ( 62.5 KHz )
TCNT0 = 0;
TIMSK |= 0x01;//TIMSK |= 0x02; // Разрешаем прерывания от TMR0

btFirstLowRateFlash = FALSE;
}
else
{
wFlashCnt++;
// Проверяем, не пора ли закончить измерения
if( wTimerOvfCnt > TIMER_OVF_ENOUGHT )
{
TCCR0 = 0;//TCCR0B = 0; // Останавливаем TMR0
GICR &= ~01000000;//GIMSK &= 0x40; // Запрещаем прерывания от INT0
TIMSK &= ~ 0x01;//TIMSK &= ~0x02; // Запрещаем прерывания от TMR0
if(TIFR & 0x01)//(TIFR & 0x02) (TOV0)
wTimerOvfCnt++; // Учитываем возможность переполнения

lTmp = (62500L * 60L * (long)wFlashCnt);
lTmp /= ((wTimerOvfCnt << 8) + TCNT0);
lTmp /= byBladeCnt;
wRpm = lTmp;

// Перезапускаем измерения
btFirstLowRateFlash = TRUE;

wTimerOvfCnt = 0;
TCNT0 = 0;
TCCR0 =00000011,//(CS01)(CS00) TCCR0B = 0x03; // FCK / 64 ( 62.5 KHz ))
TCNT0 = 0;
TIFR = 0x01;//TIFR = 0x02; (TOV0)
TIMSK |= 0x01;//TIMSK |= 0x02; // Разрешаем прерывания от TMR0 (TOIE0)

// GIFR = 0x40;

}
}
GIFR = 0x40;//01000000;//EIFR = 0x40; (INTF0)
GICR |= 0x40;//01000000;//GIMSK |= 0x40; (INT0)
}

/**************************************************************************\
Обработка переполнений TMR0 (добавляем к счетчику еще 8 разрядов)
Вход: -
Выход: -
\**************************************************************************/
interrupt [TIM0_OVF] void TIMER0_interrupt(void)
{
wTimerOvfCnt++;

// Если импульсов не было слишком долго, то показываем
// 0 оборотов и запускаем измерение заново
if( wTimerOvfCnt > NO_PULSES_INTERVAL )
{
wRpm = 0;
btFirstLowRateFlash = TRUE;
wTimerOvfCnt = 0;
}
}

/**************************************************************************\
Головная функция. Инициализация всех модулей. Цикл вызова рабочих
подпрограмм.
Вход: -
Выход: -
\**************************************************************************/
void main(void)
{
#asm("cli");

MCUCR = 0x00; // Запрещаем SLEEP, режимы прерывания пока не важны.
// В принципе, этого можно и не делать.

GICR = 0x00;//00000000;//GIMSK = 0x00; // Запрещаем внешние прерывания
GIFR = 0xFF;//11111111;//EIFR = 0xFF; // Очищаем флаги прерываний

TIMSK = 0x00; // Запрещаем прерывания от таймеров
TIFR = 0xFF; // Очищаем флаги прерываний

// Инициализируем модули
//time------------------------------------
btTimerOn = FALSE;
wTime = 0;
byTcnt = 0;
byDisplayRefreshCnt = 0;

btTimeUpdate = FALSE;

TCNT1 = 0;

TCCR1A = 0x00; // Отключаем управление выводом OC1 и PWM

TCCR1B = 0x03; // На таймер подается FCK через делитель на 64,
// шумодав отключен, никакого сброса нет

OCR1A = TCNT1 + CNT_100_MS;

TIFR |= 0x10;//TIFR |= 0x40; (OCF1A) // Сбрасываем флаг прерываний от Output-Compare
TIMSK |= 0x10;//00010000;//TIMSK |= 0x40; (OCIE1A) // Разрешаем прерывание от Output-Compare
//time------------------------------------

//rmp-------------------------------------
btFirstLowRateFlash = TRUE;
wRpm = 0;

// Разрешаем прервание INT1
GIFR = 0x40;//01000000;//EIFR = 0x40; (INTF0)
GICR |= 0x40;//01000000;//GIMSK |= 0x40;
MCUCR = 0x40;//0x02; // Настраиваем INT0 на спад, остальные биты не важны.

// Таймер запускаем сразу, чтобы проверять
// отсутствие сигнала
wTimerOvfCnt = 0;
TCNT0 = 0;
TCCR0 = 0x03;//00000011,//(CS01)(CS00) TCCR0B = 0x03; // FCK / 64 ( 62.5 KHz )
TCNT0 = 0;
TIMSK |= 0x01; //TIMSK |= 0x02; (TOIE0) // Разрешаем прерывания от TMR0
//rmp-------------------------------------



#asm("sei");
// LCD module initialization
lcd_init(16);

while(TRUE)
{

if (btDisplayUpdate)
{
wLockedRpm = wRpm;
btDisplayUpdate = FALSE;
}
#asm("sei");

lcd_clear();
lcd_gotoxy(0,0);
PrepareRpmData(wRpm);
byDisplay[0] = byDisplay[0];
byDisplay[1] = byDisplay[1];
byDisplay[2] = byDisplay[2];
byDisplay[3] = byDisplay[3];
byDisplay[4] = 'r';
byDisplay[5] = 'p';
byDisplay[6] = 'm';
ShowDisplayData();
}
}
 Apsisukimu skaitiklis
PranešimasParašytas: 2010 04 03, 11:18 Pranešti apie taisyklių pažeidimą Atsakyti su citata
centronic
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
galima ir paprasčiau padaryt su lcd, primityviai taip - pusvalandis darbo Razz
Kodas:

// IAR AVR ATmega16 8MHz
#define ENABLE_BIT_DEFINITIONS
#include <ioavr.h>
#include <intrinsics.h>
#include "delay.h"
#include "lcd.h"
unsigned int count;
//******************************************************
void IntToStr(unsigned int va){
  int i,s;
  char mas[5];
  for(i=0; i<5; i++){
    mas[4-i] = (va % 10)+48;
    va = va / 10;
  }
  s = 0;
  for(i=0; i<4; i++){
    if(mas[i] != '0') break;
    s++;
  }
  for(i=s; i<5; i++){
    lcd_dat(mas[i]);
  }
}
//******************************************************
#pragma vector=TIMER1_OVF_vect //pertraukimas kas 1s
__interrupt void timer1ovf(void){
  lcd_cmd(0x88);
  IntToStr(count);
  count = 0;
  TCNT1 = 34285;
}
//******************************************************
void main( void ){
  DDRC = 0xFE;
  sbi(PORTC,0);   // portc.0 iej. pullup ij.
  lcd_init();
  lcd_line("aps/s: ",1,0);
  TCCR1A = 0x00;
  TCCR1B = 0x04; //prescal 256
  TIMSK = 0x04;  //TOIE1 en.
  TCNT1 = 34285; //((65535 - 34285) * 256) * (1/8Mhz) = 1s
  __enable_interrupt();
  while(1){
    while(bitas(PINC,0));
    while(!bitas(PINC,0));
    count++;
  }
}

 Apsisukimu skaitiklis
PranešimasParašytas: 2010 04 03, 11:59 Pranešti apie taisyklių pažeidimą Atsakyti su citata
ReM
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
Vienam mėnesis, kitam - pusvalandis. Smile Viskas nuo žinių lygio priklauso...
 Apsisukimu skaitiklis
PranešimasParašytas: 2010 04 04, 08:59 Pranešti apie taisyklių pažeidimą Atsakyti su citata
dziugas
Naujokas
Naujokas
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Dekui uz pavyzdi, vadinasi yra kur tobuleti.
Vienas gali prie kompo sedeti visa diena, o kitas dziaugsis jei valanda ras. Taip laikas ir bega...
Sekantis zingznis apjungti itampos, sroves matavima.
Kur rast info koks vejo greitis m/s butu lygus apsuku skaiciui? Galetu isskaiciuot vejo greiti pagal apsukas.
Pradėti naują temą  Atsakyti į pranešimą
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

GENERAL FINANCING BANKAS

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

Technologijos.lt

Buitinė technika ir elektronika internetu žemos kainos – Zuza.lt

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

„Deinavos baldai“ — šeimos baldai

FS 22 Tractors
Farming Simulator 19 Mods, FS 22 Maps, FS22 Mods
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS22 Trucks
VAT calculator
VAT number check, What is VAT, How much is VAT
Paskola internetu
Vartojimo paskola, paskola automobiliui, paskola būsto remontui
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
FS22 Mods
FS22 Harvesters, FS22 Tractors Mods, FS22 Maps Mods
FS22 Mods
FS22 Maps,
FS22 Harvesters,
FS22 Tractors
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
Sims 4 Mods
Sims 4 CC Clothes,
Sims 4 Hair CC,
Sims 4 Skill Cheat
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Script hook v, Openiv, Menyoo
gta5mod.net
Farming Simulator 2019 Mods, FS22 Mods, FS22 Maps
farmingsimulator19mods.fr
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama