YuriiM

Как запитать светодиоды на матринской плате dz68bc

1 сообщение в этой теме

YuriiM    0

Здравствуйте. Есть материнская плата со сгоревшим чипсетом dz68bc. Ремонтировать смысла не вижу, но можно использовать ее для моддинга ПК. На самой плате есть гравировка черепа(логотип intel). На ней распаяны smd светодиоды. Принцип действия был такой, - при работе материнки, синие светодиоды загорались и череп красиво светился. При обращению к жесткому диску так же загорались красные светодиоды, в глазницах. Выглядело эффектно. Есть такая идея, вырезать этот череп из материнской платы. и отдельно его повесить к корпусу. Но хочется сделать его таким же светящимся. То есть запитать каким-то образом синие светодиоды, например от блока питания и два красных светодиода, от индикаторы hdd. Подскажите пожалуйста, возможно вычислить необходимые дорожки  на материнской плате, чтобы припаяться к ним и использовать существующие светодиоды и схему или это нереально и только делать свою схему со своими светодиодами и подлаживать под гравировку?  Фото распайки светодиодов и резисторов прикрепил. Спасибо за любую подсказку и помощь.

DSC07449.JPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сообщения

    • Непонятно, что значит "бытовое масло"... Если для швейных машин - то это ладно, а если подсолнечное , то лучше уже сейчас промыть подшипник, так как очень велика вероятность, что оно засохнет и станет твёрдым.
    • Ну да, но тут обсуждали и 2.1 и 5., думаю место будет. Это мое мнение, с тех пор как дети у меня забрали мои комповые микролабы, пользую старый немецкий ресивер RFT, и пару автомобильных широкополосников в щитах. Хотел было что то купить, но понял что хорошее стоит дорого, а лишь бы что не нужно. Был в наличии данных рес, только движковые регуляторы поремонтировал, динамики нашлись на балконе, покупал в машину что то не дошли руки, Очень не плохо все звучит. Вот и подумал, что даже если купить все, то по соотношению сумма потраченных денег - качество звука, очень хорошее.
    • кто сказал что это условие будет выполнятся всегда? Если бы мс инкрементировали в этом же цикле, такое условие допустимо правильно писать if (millis() - lastmillis_mah) >= 1000) { }  
    • Пострадал следователь Лысейко...
      https://life.ru/t/новости/1135847/ubili_sobak_zabrali_20_tysiach_v_novoi_moskvie_oghrabili_eks-sliedovatielia_lysieiko
    • Пересоздал проект, ввел почти тот же код, почти все заработало корректно, но индикация через некоторое время останавливается (хотя микроконтроллер на кнопки реагирует). На железе индикация пропадает после 17 секунды, а в протеусе после 104. #include <EEPROM.h> #include <Bounce2.h> Bounce knopka_m = Bounce(); Bounce knopka_mah_plus = Bounce(); Bounce knopka_mah_minus = Bounce(); Bounce knopka_shl_plus = Bounce(); Bounce knopka_shl_minus = Bounce(); #define CLOCK 13 //SH_CP #define DATA 11  //DS #define LATCH 10  //ST_CP unsigned long lastmillis_show = 0; byte numbers[] = {0, 0, 0, 0, 0, 0}; volatile int rpmmah_count = 0; volatile int rpmshl_count = 0; boolean ee = 0; byte menu = 0; int mh = 1234; int hh = 0; int et_mah = 900; int et_shl = 80; int ot_mah = 30; int ot_shl = 3; int rpm_mah = 0; int rpm_shl = 0; unsigned long lastmillis_mah = 0; unsigned long lastmillis_shl = 0; unsigned char number[] = {   0b01111110, //0   0b00110000, //1   0b01101101, //2   0b01111001, //3   0b00110011, //4   0b01011011, //5   0b01011111, //6   0b01110000, //7   0b01111111, //8   0b01111011, //9   0b00000001, //-   0b00000000  //тушим индикатор }; // чтение int EEPROM_int_read(int addr) {   byte raw[2];   for (byte i = 0; i < 2; i++) raw[i] = EEPROM.read(addr + i);   int &num = (int&)raw;   return num; } // запись void EEPROM_int_write(int addr, int num) {   byte raw[2];   (int&)raw = num;   for (byte i = 0; i < 2; i++) EEPROM.write(addr + i, raw[i]); } void ee_write () {   EEPROM_int_write(0, mh);   EEPROM_int_write(2, hh);   EEPROM_int_write(4, et_mah);   EEPROM_int_write(6, et_shl);   EEPROM_int_write(8, ot_mah);   EEPROM_int_write(10, ot_shl); } void show() {   int x;   for (x = 5; x >= 0; x--) {     //включаем LATCH (Начинаем общение)     digitalWrite(LATCH, LOW);     shiftOut(DATA, CLOCK, LSBFIRST, number[numbers[x]]);     //отключаем LATCH (чтобы регистр не ждал данных)     digitalWrite(LATCH, HIGH);   } } void rpm_mahovik() { /* this code will be executed every time the interrupt 0 (pin2) gets low.*/   rpmmah_count++; } void rpm_shluz() { /* this code will be executed every time the interrupt 0 (pin2) gets low.*/   rpmshl_count++; } void setup() {   // put your setup code here, to run once:   Serial.begin(9600);   attachInterrupt(0, rpm_mahovik, FALLING);   attachInterrupt(1, rpm_shluz, FALLING);   pinMode(CLOCK, OUTPUT);   pinMode(DATA, OUTPUT);   pinMode(LATCH, OUTPUT);   digitalWrite(LATCH, HIGH);   pinMode(19, INPUT_PULLUP);   knopka_m.attach(19); // устанавливаем кнопку   knopka_m.interval(5); // устанавливаем параметр stable interval = 5 мс   pinMode(18, INPUT_PULLUP);   knopka_mah_plus.attach(18); // устанавливаем кнопку   knopka_mah_plus.interval(5); // устанавливаем параметр stable interval = 5 мс   pinMode(17, INPUT_PULLUP);   knopka_mah_minus.attach(17); // устанавливаем кнопку   knopka_mah_minus.interval(5); // устанавливаем параметр stable interval = 5 мс   pinMode(16, INPUT_PULLUP);   knopka_shl_plus.attach(16); // устанавливаем кнопку   knopka_shl_plus.interval(5); // устанавливаем параметр stable interval = 5 мс   pinMode(15, INPUT_PULLUP);   knopka_shl_minus.attach(15); // устанавливаем кнопку   knopka_shl_minus.interval(5); // устанавливаем параметр stable interval = 5 мс } void loop() {   // put your main code here, to run repeatedly:   if (EEPROM.read(0) == 0xFF) {     ee_write ();   }   if ((millis() <= 100) & (ee == 0)) {     mh = EEPROM_int_read(0);     hh = EEPROM_int_read(2);     et_mah = EEPROM_int_read(4);     et_shl = EEPROM_int_read(6);     ot_mah = EEPROM_int_read(8);     ot_shl = EEPROM_int_read(10);     ee = 1;   }   if (millis() - lastmillis_mah == 1000) {     detachInterrupt(0);     rpm_mah = rpmmah_count * 60;     rpmmah_count = 0;     lastmillis_mah = millis();     attachInterrupt(0, rpm_mahovik, FALLING);   }   if (millis() - lastmillis_shl == 5000) {     detachInterrupt(1);     rpm_shl = rpmshl_count * 12;     rpmshl_count = 0;     lastmillis_shl = millis();     attachInterrupt(1, rpm_shluz, FALLING);   }   if (millis() - lastmillis_show == 1000) {     if (menu == 0) {       numbers[0] = rpm_mah / 1000;       numbers[1] = (rpm_mah % 1000) / 100;       numbers[2] = ((rpm_mah % 1000) % 100) / 10;       numbers[3] = ((rpm_mah % 1000) % 100) % 10;       numbers[4] = rpm_shl / 10;       numbers[5] = rpm_shl % 10;     }     if (menu == 1) {       numbers[0] = mh / 1000;       numbers[1] = (mh % 1000) / 100;       numbers[2] = ((mh % 1000) % 100) / 10;       numbers[3] = ((mh % 1000) % 100) % 10;       numbers[4] = 11;       numbers[5] = 11;     }     if (menu == 2) {       numbers[0] = et_mah / 1000;       numbers[1] = (et_mah % 1000) / 100;       numbers[2] = ((et_mah % 1000) % 100) / 10;       numbers[3] = ((et_mah % 1000) % 100) % 10;       numbers[4] = et_shl / 10;       numbers[5] = et_shl % 10;     }     if (menu == 3) {       numbers[0] = ot_mah / 1000;       numbers[1] = (ot_mah % 1000) / 100;       numbers[2] = ((ot_mah % 1000) % 100) / 10;       numbers[3] = ((ot_mah % 1000) % 100) % 10;       numbers[4] = ot_shl / 10;       numbers[5] = ot_shl % 10;     }     show();     lastmillis_show = millis();     Serial.println(lastmillis_show);   }   if (knopka_m.update() && knopka_m.read() == 0) {     if (menu != 3) menu++;     else {menu = 0; ee_write ();} //  Serial.println ("Knopka");   } //////////////////////////////////////////////////////////////////   if (knopka_mah_plus.update() && knopka_mah_plus.read() == 0) {     if (menu == 2) {       if (et_mah < 1000) et_mah = et_mah + 10;     }     if (menu == 3) {       if (ot_mah < 100) ot_mah = ot_mah + 1;     }   }   ////////////////////////////////////////////////////////////////////   if (knopka_mah_minus.update() && knopka_mah_minus.read() == 0) {     if (menu == 2) {       if (et_mah > 800) et_mah = et_mah - 10;     }   }   if (knopka_mah_minus.update() && knopka_mah_minus.read() == 0) {     if (menu == 3) {       if (ot_mah > 10) ot_mah = ot_mah - 1;     }   }   /////////////////////////////////////////////////////////////////////   //////////////////////////////////////////////////////////////////   if (knopka_shl_plus.update() && knopka_shl_plus.read() == 0) {     if (menu == 2) {       if (et_shl < 70) et_shl = et_shl + 1;     }     if (menu == 3) {       if (ot_shl < 20) ot_shl = ot_shl + 1;     }   }   ////////////////////////////////////////////////////////////////////   if (knopka_shl_minus.update() && knopka_shl_minus.read() == 0) {     if (menu == 2) {       if (et_shl > 30) et_shl = et_shl - 1;     }   }   if (knopka_shl_minus.update() && knopka_shl_minus.read() == 0) {     if (menu == 3) {       if (ot_shl > 0) ot_shl = ot_shl - 1;     } } }
    • Мультиметры, лазерные рулетки некоторое количество.
    • Ссылка отсылает на "Инструмент". Никакой "Измерительной техники" на сайте не обнаружил. Ни через меню (крайне неудобные), ни поиском по сайту.