MAKRO KLAVYE(12 BUTON+3 ENKODER)

Süre çok uzun. Komponent üzerinde çok fazla ısıl stres oluşur. Ben sıcak havayı 480 ℃ de kullanıyorum ve genelde 10 saniyeden aşağı bir sürede parça gevşiyor. Gevşemeyevek olan parça için zaten sıcak havalar uygun değil, artık o noktada 4.8 kW lık BGA makinasını kullanıyorum :)
 
Süre çok uzun. Komponent üzerinde çok fazla ısıl stres oluşur. Ben sıcak havayı 480 ℃ de kullanıyorum ve genelde 10 saniyeden aşağı bir sürede parça gevşiyor. Gevşemeyevek olan parça için zaten sıcak havalar uygun değil, artık o noktada 4.8 kW lık BGA makinasını kullanıyorum :)
denemelerimi 350 derecede yaptım bir test plaketinde 350 derece net veri olmasada 20-25 saniye sonra kart kabardı bu jlc'nin sorunumu benim sıcak havanın yanlış derece ölçümümü bilmiyorum(350 yazarken aslında 390 vs.)

yavaş yavaş alışır elim daha önce @Endorfin35+ ile antermanlıydım zaten.
 
Eğer lehim erimeden PCB üzerinde yanık, kömürleşme oluyorsa o zaman o sıcak havanın ısıl kapasitesi yeterli değildir. Biraz tezat gibi duruyor, ama sıcak hava gücü ne kadar yüksek ise o kadar nazikçe sökülmüş oluyor komponent. Benim kullandığım Quick 861DE nin gücü 1200 W.
 
Eğer lehim erimeden PCB üzerinde yanık, kömürleşme oluyorsa o zaman o sıcak havanın ısıl kapasitesi yeterli değildir. Biraz tezat gibi duruyor, ama sıcak hava gücü ne kadar yüksek ise o kadar nazikçe sökülmüş oluyor komponent. Benim kullandığım Quick 861DE nin gücü 1200 W.
kömürleşme yok kart kabarıyor yani katmanları ayrılıyor daha önce v*est*l markalı bir cihazın besleme kartından sıcak hava söken birinden daha bu şikayeti duymuştum pcb çok kaliteli değil veya çok fazla yol varsa üstünde katman ayrılması olağan bir durum demişti.

ama bu klavye pcb'sinde 3 kart lehimledim bu gün hiç kabarma kararma olmadı.
 
kristalin biri bozuk çıktı.
ne yaparım ne ederim diye düşünürken her gördüğüm modülü aldığım ve üstünde kristal olanlara bakmaya karar verdim sıra sıra bakarken JDY40(UART TRANSRECİVER)'ın üstündeki osilatörün 16mhz olduğunu gördüm kılıfta aynıyıdı yerine taktım ve çalışıyor :)

WhatsApp Image 2023-03-26 at 07.47.05 (1).jpeg
 
Eski PC anakartları ve ram ler SMD alıştırma yapmak için çok iyi. Özellikle eski olup ROHS değilse daha iyi. Kurşun oranı yüksek olduğu için daha kolay lehimleniyor.
 
Proje sona yaklaşıyor fakat kutusu yok ://
kutusuz pcb halde kullanmak istemiyorum çünkü bilgisayar yanında kullanılacak bir cihaz ve masa kalabalıkken çarpma, düşme gibi durumlardan korunsun istiyorum.

Aramızda eğer kutu çizerim diyen olursa kendisine projenin boş pcb'sinden 2-3 adet hediye edebilirim.

(baskı değil sadece tasarım) ben biraz çabaladım ama çizemedim.
 
Tam bitmiş halinin resmi var mı?
 
At bakalım. Gözüm yerse ben çizerim.
aslında çok bişeu yok 3 tsne enkoder için delik var 1 ince açılmış şerit olacak ışık çıksın diye 12 tane de kare birde type c için küçük bir dikdörtgen.

kopya için hazır tasarım atabilirim.
 
aslında çok bişeu yok 3 tsne enkoder için delik var 1 ince açılmış şerit olacak ışık çıksın diye 12 tane de kare birde type c için küçük bir dikdörtgen.

kopya için hazır tasarım atabilirim.
At bir bakayım. Hangş programda çizdin?
 
At bir bakayım. Hangş programda çizdin?
ben çizmedim hazır bir tasarım var ama onda istemediğim şeyler var onları düzenleyemiyorum hazırda çizemiyırum.


oledin ve devrenin göründüğü yer kapanacak oled kullanmyacağız ve devre gözüksün istemiyoruz.

4 model olacak enkodersiz, 1 enkoderli, 2 enkoderli, 3 enkoderli model.
ve yanlara takılan ayakları yatık şekilde olsun yani masada yani 35-40 derece gibi yatık durmalı kullanımı daha kolay hale getirecektişr.
 
Sen eniyisi devrenin bitmiş halini bana gönder. Ölçerek filan çizmek lazım onu. Göz kararı olmaz.
 
Sen eniyisi devrenin bitmiş halini bana gönder. Ölçerek filan çizmek lazım onu. Göz kararı olmaz.
iş yerinde bir makine mühendisi abi var onu çizmeye ikna edemezssem kendim'de bu hazır tasarımı düzenleyemezssem öyle yapayım abi.
teşekkür ederim.

uğraşıyorum ama daha önce hiç 3d tasarım programı kullanmadığım için ya bulamıyorum istediğim ayarı yada hiç başlayamıyorum.
 
Tinkercad var. Online çalışıyor. Freecad, AutoCAD yada fusion öğrenemedim için tinkercadde çiziyorum.
Temel şekiller ile topla (birleştir) yada çıkar (kes-boşluk oluştur) yaparak istediğin şekli oluşturabiliyorsun. Ölçü alna kısmı biraz gıcık ama sonuçta iş görüyor.
IMG-20230310-WA0016.jpeg
IMG-20230310-WA0006.jpeg
IMG-20230310-WA0018.jpeg
 
Tinkercad var. Online çalışıyor. Freecad, AutoCAD yada fusion öğrenemedim için tinkercadde çiziyorum.
Temel şekiller ile topla (birleştir) yada çıkar (kes-boşluk oluştur) yaparak istediğin şekli oluşturabiliyorsun. Ölçü alna kısmı biraz gıcık ama sonuçta iş görüyor.23170 eklentisine bak23171 eklentisine bak23172 eklentisine bak
malesef risk alacak durumda değilim parayla bastıracağım yanlış olursa para boşa gider.
ya hazır tasarımı bastıracağım pek hoşuma gitmesede yada düzenlemeyi öğreneceğim.

kahverengi flament varsa birde küçük kalaslar bas abi traktörün yüküde olsun :)
 
C++:
 //--------------K1-----------
  digitalWrite(row0, LOW);
  if (digitalRead(col0) == LOW && flag0 == 0) {
    Serial.println("K1 PRESS");
    flag0 = 1;
  }
  if (digitalRead(col0) == HIGH && flag0 == 1) {
    flag0 = 0;
    Serial.println("K1 RELEASE");
  }
  digitalWrite(row0, HIGH);
  delay(10);
  //--------------K1-----------

  //--------------K2-----------
  digitalWrite(row1, LOW);
  if (digitalRead(col0) == LOW && flag1 == 0) {
    Serial.println("K2 PRESS");
    flag1 = 1;
  }
  if (digitalRead(col0) == HIGH && flag1 == 1) {
    flag1 = 0;
    Serial.println("K2 RELEASE");
  }
    digitalWrite(row1, HIGH);
  delay(10);
  //--------------K2-----------
 
  //--------------K3-----------
  digitalWrite(row2, LOW);
  if (digitalRead(col0) == LOW && flag3 == 0) {
    Serial.println("K3 PRESS");
    flag3 = 1;
  }
  if (digitalRead(col0) == HIGH && flag3 == 1) {
    flag3 = 0;
    Serial.println("K3 RELEASE");
  }
    digitalWrite(row2, HIGH);
    delay(10);
  //--------------K3-----------

  //--------------K4-----------
  digitalWrite(row0, LOW);
  if (digitalRead(col1) == LOW && flag4 == 0) {
    Serial.println("K4 PRESS");
    flag4 = 1;
  }
  if (digitalRead(col1) == HIGH && flag4 == 1) {
    flag4 = 0;
    Serial.println("K4 RELEASE");
  }
  digitalWrite(row0, HIGH);
  delay(10);
  //--------------K4-----------

    //--------------K5-----------
  digitalWrite(row1, LOW);
  if (digitalRead(col1) == LOW && flag5 == 0) {
    Serial.println("K5 PRESS");
    flag5 = 1;
  }
  if (digitalRead(col1) == HIGH && flag5 == 1) {
    flag5 = 0;
    Serial.println("K5 RELEASE");
  }
  digitalWrite(row1, HIGH);
  delay(10);
  //--------------K5-----------

 //--------------K6-----------
  digitalWrite(row2, LOW);
  if (digitalRead(col1) == LOW && flag6 == 0) {
    Serial.println("K6 PRESS");
    flag6 = 1;
  }
  if (digitalRead(col1) == HIGH && flag6 == 1) {
    flag6 = 0;
    Serial.println("K6 RELEASE");
  }
  digitalWrite(row2, HIGH);
  delay(10);
  //--------------K6-----------

   //--------------K7-----------
  digitalWrite(row0, LOW);
  if (digitalRead(col2) == LOW && flag7 == 0) {
    Serial.println("K7 PRESS");
    flag7 = 1;
  }
  if (digitalRead(col2) == HIGH && flag7 == 1) {
    flag7 = 0;
    Serial.println("K7 RELEASE");
  }
  digitalWrite(row0, HIGH);
  delay(10);
  //--------------K7-----------

  //--------------K8-----------
  digitalWrite(row1, LOW);
  if (digitalRead(col2) == LOW && flag8 == 0) {
    Serial.println("K8 PRESS");
    flag8 = 1;
  }
  if (digitalRead(col2) == HIGH && flag8 == 1) {
    flag8 = 0;
    Serial.println("K8 RELEASE");
  }
  digitalWrite(row1, HIGH);
  delay(10);
  //--------------K8-----------

    //--------------K9-----------
  digitalWrite(row2, LOW);
  if (digitalRead(col2) == LOW && flag9 == 0) {
    Serial.println("K9 PRESS");
    flag9 = 1;
  }
  if (digitalRead(col2) == HIGH && flag9 == 1) {
    flag9 = 0;
    Serial.println("K9 RELEASE");
  }
  digitalWrite(row2, HIGH);
  delay(10);
  //--------------K9-----------

      //--------------K10-----------
  digitalWrite(row0, LOW);
  if (digitalRead(col3) == LOW && flag10 == 0) {
    Serial.println("K10 PRESS");
    flag10 = 1;
  }
  if (digitalRead(col3) == HIGH && flag10 == 1) {
    flag10 = 0;
    Serial.println("K10 RELEASE");
  }
  digitalWrite(row0, HIGH);
  delay(10);
  //--------------K10-----------

  //--------------K11-----------
  digitalWrite(row1, LOW);
  if (digitalRead(col3) == LOW && flag11 == 0) {
    Serial.println("K11 PRESS");
    flag11 = 1;
  }
  if (digitalRead(col3) == HIGH && flag11 == 1) {
    flag11 = 0;
    Serial.println("K11 RELEASE");
  }
  digitalWrite(row1, HIGH);
  delay(10);
  //--------------K11-----------
 
  //--------------K12-----------
   digitalWrite(row2, LOW);
  if (digitalRead(col3) == LOW && flag12 == 0) {
    Serial.println("K12 PRESS");
    flag12 = 1;
  }
  if (digitalRead(col3) == HIGH && flag12 == 1) {
    flag12 = 0;
    Serial.println("K12 RELEASE");
  }
  digitalWrite(row2, HIGH);
  delay(10);
  //--------------K12-----------
Yine anlamakta zorluk çekilecek bir software.
matrix buton okuma.
 
WhatsApp Image 2023-04-09 at 20.40.17.jpeg

sona geliyoruz güzel oluyor.
software çok yordu ama kullandıkça deymiş diyorum.

windows'un usb'den yapabildiği bissürü iş varmış klavye olarak çalışmak zorunda değiliz.
direkt usb'den komut aldığı ekran parlaklığı registeri var.
ses kontrol registeri var.
açma kapama butonuna basılmış gibi davrandırabiliyoruz.
yeniden başlat komutu verebiliyoruz.
uykuya geç komutu verebiliyoruz.
kilitle komutu verebiliyoruz.

ben bunları kısayollar ile yazmaya çalışıyordum sabahtan beri.
kapatmak için alt+f4-enter yapıyordum vs.
bunları deneysel olarak yapmak çok zaman alıyordu ve o an bilgisayarda neler olup bittiğinide görmediğim için biraz havada kalıyordu fakat bu komut listesi güzel oldu.
proje biraz daha canlandıkça detayları yazacağım.
 
C/C++ ustalarından yardım istiyorum kafam çok karıştı.
Öncelikle proje gidişatı şu yönde olacak;
Bir bilgisayar uygulaması olacak ben şuanlık QT veya C#+Form düşünüyorum o fark etmez basit bir veri çıkaracak usb'den μC kısmında kafam karışıyor.

Mesela 1 numaralı butondan yola çıkalım.
1 numaralı butona ses kısma özelliğide verebiliriz A yazmasınıda söyleyebiliriz, CTRL+S yapmasınıda söyleyebiliriz, gamepad d1 olarak çalışda diyebiliriz bu konfigrasyonları yazmakta zorluk çekiyorum.

Projeye ait software hazırladığım exel'i paylaşıyorum ışık tutarsanız çok sevinirim software'da anlamadığınız yer emininmki fazla olacaktır sorarsanız cevaplarım.

Buradan bakarken yeterince renkli göremiyorsanız kod -->linki<--
C++:
#include "HID-Project.h"

//#include <EEPROM.h>

#include <FastLED.h>
#define LED_PIN     1
#define NUM_LEDS    8
#define BRIGHTNESS  64
#define LED_TYPE    WS2812
#define COLOR_ORDER GRB
CRGB leds[NUM_LEDS];

#define row0 A5//PF0 D19
#define row1 A4//PF1 D18
#define row2 A3//PF4 D17

#define col0 A2//PF5 D16 A2
#define col1 A1//PF6 D15 A1
#define col2 A0//PF7 D14 A0
#define col3 13//PF7 D14 A0

#define wait 10//delay us


bool flag0 = 0;
bool flag1 = 0;
bool flag3 = 0;

bool flag4 = 0;
bool flag5 = 0;
bool flag6 = 0;

bool flag7 = 0;
bool flag8 = 0;
bool flag9 = 0;

bool flag10 = 0;
bool flag11 = 0;
bool flag12 = 0;

uint8_t mode = 0;

/*
int K1 = 0;
int K2 = 0;
int K3 = 0;
int K4 = 0;
int K5 = 0;
int K6 = 0;
int K7 = 0;
int K8 = 0;
int K9 = 0;
int K10 = 0;
int K11 = 0;
int K12 = 0;
*/


/*ASCII


*/
char asci [30] = {
  'A',
  'B',
  'C',
  'D',
  'E',
  'F',
  'G',
  'H',
  'I',
  'K',
  'L',
  'M',
  'N',
  'O',
  'P',
  'Q',
  'R',
  'S',
  'T',
  'U',
  'V',
  'W',
  'X',
  'Y',
  'Z',
  '.',
  ',',
  '-',
  '_',
  '*'
};
/*MEDIA:
   0 = SES KIS[WIN10-21H2-OK]
   1 = SES AC [WIN10-21H2-OK]
   2 = DURDUR/BASLAT [WIN10-21H2-OK]
   3 = SUSTUR [WIN10-21H2-OK]
   4 = KAYIT DIYOR AMA SADECE MEDYA GORSELI GELIYOR [WIN10-21H2- HALF OK]
   5 = GERI SARMA DIYOR AMA HICBIRSEY YAPMIYOR [WIN10-21H2- NOT OK]
   6 = SONRAKI PARCAYA GEC [WIN10-21H2-OK]
   7 = ONCEKI PARCAYA GEC  [WIN10-21H2-OK]
*/
uint32_t media_keys[8] = {
  MEDIA_VOLUME_DOWN,//0
  MEDIA_VOLUME_UP,//1
  MEDIA_PLAY_PAUSE,//2
  MEDIA_VOL_MUTE,//3
  MEDIA_RECORD,//4
  MEDIA_REWIND,//5
  MEDIA_NEXT,//6
  MEDIA_PREVIOUS//7
};

/*SISTEM:
   0 = PC KAPAT
   1 = PC UYU
   2 = PC UYAN
   3 = PARLAKLIK +
   4 = PARLAKLIK -
   5 = EKRAN KAYDI
*/
uint32_t sys_keys[6] = {
  SYSTEM_POWER_DOWN,
  SYSTEM_SLEEP,
  SYSTEM_WAKE_UP,
  CONSUMER_BRIGHTNESS_UP,
  CONSUMER_BRIGHTNESS_DOWN,
  CONSUMER_SCREENSAVER
};

void setup() {
  pinMode(col0, INPUT_PULLUP);//PF7 D14
  pinMode(col1, INPUT_PULLUP);//PF6 D15
  pinMode(col2, INPUT_PULLUP);//PF5 D16
  pinMode(col3, INPUT_PULLUP);//PC7 D13

  pinMode(row0, OUTPUT);
  pinMode(row1, OUTPUT);
  pinMode(row2, OUTPUT);
  Consumer.begin();
  System.begin();
  Keyboard.begin();
  Serial.begin(9600);

  FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
  FastLED.setBrightness(  BRIGHTNESS );
}

String md = "";
String btn = "";
String islev = "";
String gorev = "";
String readString = "";
void pc_com() {
  if (Serial.available() > 0) {
    String c = Serial.readString();
    readString += c;

    /* DATA BUS = 'MOD BUTTON ISLEV'*/
    /* 0.M.0.K1 */
    md = readString.substring(0, 1);
    islev = readString.substring(2, 3);
    gorev = readString.substring(4, 5);
    btn = readString.substring(6, 9);

    Serial.print("MOD:");
    Serial.println(md);

    Serial.print("IS:");
    Serial.println(islev);

    Serial.print("GOREV:");
    Serial.println(gorev);

    Serial.print("BTN:");
    Serial.println(btn);

    delay(1);
    readString = "";
  }
}

void key0(uint8_t value = 0, uint8_t mod = 0) {
  if (mod == 0) { //MEDYA MODU
    switch (value) {
      case 1://K1
        Consumer.write(media_keys[0]);
        break;

      case 2://K2
        Consumer.write(media_keys[1]);
        break;

      case 3://K3
        Consumer.write(media_keys[2]);
        break;

      case 4://K4
        Consumer.write(media_keys[3]);
        break;

      case 5://K5
        Consumer.write(media_keys[4]);
        break;

      case 6://K6
        Consumer.write(media_keys[5]);
        break;

      case 7://K7
        Consumer.write(media_keys[6]);
        break;

      case 8://K8
        Consumer.write(media_keys[7]);
        break;

      case 9://K9


        break;

      case 10://K10

        break;

      case 11://K11

        break;

      case 12://K12
        Consumer.write(media_keys[0]);
        break;
    }
  }

  if (mod == 1) {//SİSTEM MODU
    switch (value) {
      case 1://K1
        Consumer.write(sys_keys[3]);
        break;

      case 2://K2
        Consumer.write(sys_keys[4]);
        break;

      case 3://K3

        break;

      case 4://K4

        break;

      case 5://K5

        break;

      case 6://K6

        break;

      case 7://K7

        break;

      case 8://K8

        break;

      case 9://K9

        break;

      case 10://K10

        break;

      case 11://K11

        break;
    }
  }
}


void tara() {
  //--------------K1-----------
  digitalWrite(row0, LOW);
  if (digitalRead(col0) == LOW && flag0 == 0) {
    key0(1, mode);
    flag0 = 1;
  }
  if (digitalRead(col0) == HIGH && flag0 == 1) {
    flag0 = 0;
    key0(0, mode);
  }
  digitalWrite(row0, HIGH);
  delayMicroseconds(wait);
  //--------------K1-----------

  //--------------K2-----------
  digitalWrite(row1, LOW);
  if (digitalRead(col0) == LOW && flag1 == 0) {
    key0(2, mode);
    flag1 = 1;
  }
  if (digitalRead(col0) == HIGH && flag1 == 1) {
    flag1 = 0;
    key0(0, mode);
  }
  digitalWrite(row1, HIGH);
  delayMicroseconds(wait);
  //--------------K2-----------

  //--------------K3-----------
  digitalWrite(row2, LOW);
  if (digitalRead(col0) == LOW && flag3 == 0) {
    key0(3, mode);
    flag3 = 1;
  }
  if (digitalRead(col0) == HIGH && flag3 == 1) {
    flag3 = 0;
    key0(0, mode);
  }
  digitalWrite(row2, HIGH);
  delayMicroseconds(wait);
  //--------------K3-----------

  //--------------K4-----------
  digitalWrite(row0, LOW);
  if (digitalRead(col1) == LOW && flag4 == 0) {
    key0(4, mode);
    flag4 = 1;
  }
  if (digitalRead(col1) == HIGH && flag4 == 1) {
    flag4 = 0;
    key0(0, mode);
  }
  digitalWrite(row0, HIGH);
  delayMicroseconds(wait);
  //--------------K4-----------

  //--------------K5-----------
  digitalWrite(row1, LOW);
  if (digitalRead(col1) == LOW && flag5 == 0) {
    key0(5, mode);
    flag5 = 1;
  }
  if (digitalRead(col1) == HIGH && flag5 == 1) {
    flag5 = 0;
    key0(0, mode);
  }
  digitalWrite(row1, HIGH);
  delayMicroseconds(wait);
  //--------------K5-----------

  //--------------K6-----------
  digitalWrite(row2, LOW);
  if (digitalRead(col1) == LOW && flag6 == 0) {
    key0(6, mode);
    flag6 = 1;
  }
  if (digitalRead(col1) == HIGH && flag6 == 1) {
    flag6 = 0;
    key0(0, mode);
  }
  digitalWrite(row2, HIGH);
  delayMicroseconds(wait);
  //--------------K6-----------

  //--------------K7-----------
  digitalWrite(row0, LOW);
  if (digitalRead(col2) == LOW && flag7 == 0) {
    key0(7, mode);
    flag7 = 1;
  }
  if (digitalRead(col2) == HIGH && flag7 == 1) {
    flag7 = 0;
    key0(0, mode);
  }
  digitalWrite(row0, HIGH);
  delayMicroseconds(wait);
  //--------------K7-----------

  //--------------K8-----------
  digitalWrite(row1, LOW);
  if (digitalRead(col2) == LOW && flag8 == 0) {
    key0(8, mode);
    flag8 = 1;
  }
  if (digitalRead(col2) == HIGH && flag8 == 1) {
    flag8 = 0;
    key0(0, mode);
  }
  digitalWrite(row1, HIGH);
  delayMicroseconds(wait);
  //--------------K8-----------

  //--------------K9-----------
  digitalWrite(row2, LOW);
  if (digitalRead(col2) == LOW && flag9 == 0) {
    key0(9, mode);
    flag9 = 1;
  }
  if (digitalRead(col2) == HIGH && flag9 == 1) {
    flag9 = 0;
    key0(0, mode);
  }
  digitalWrite(row2, HIGH);
  delayMicroseconds(wait);
  //--------------K9-----------

  //--------------K10-----------
  digitalWrite(row0, LOW);
  if (digitalRead(col3) == LOW && flag10 == 0) {
    key0(10, mode);
    flag10 = 1;
  }
  if (digitalRead(col3) == HIGH && flag10 == 1) {
    flag10 = 0;
    key0(0, mode);
  }
  digitalWrite(row0, HIGH);
  delayMicroseconds(wait);
  //--------------K10-----------

  //--------------K11-----------
  digitalWrite(row1, LOW);
  if (digitalRead(col3) == LOW && flag11 == 0) {
    key0(11, mode);
    flag11 = 1;
  }
  if (digitalRead(col3) == HIGH && flag11 == 1) {
    flag11 = 0;
    key0(0, mode);
  }
  digitalWrite(row1, HIGH);
  delayMicroseconds(wait);
  //--------------K11-----------

  //--------------K12-----------
  digitalWrite(row2, LOW);
  if (digitalRead(col3) == LOW && flag12 == 0) {
    mode++;
    if (mode > 1) {
      mode = 0;
    }
    key0(0, mode);
    flag12 = 1;
  }
  if (digitalRead(col3) == HIGH && flag12 == 1) {
    key0(0, mode);
    flag12 = 0;
  }
  digitalWrite(row2, HIGH);
  delayMicroseconds(wait);
  //--------------K12-----------
}
void led(int _mod = 0) {

  if (modss == 0) {
    FastLED.showColor(CRGB::Red);
  }

  if (modss == 1) {
    FastLED.showColor(CRGB::Blue);
  }
}
void loop() {
  //tara();
  //led(mode);
 // pc_com();
}
zip içinde exel var.
 

Ekler

  • databus.zip
    8.8 KB · Görüntüleme: 70

Çevrimiçi üyeler

Forum istatistikleri

Konular
5,782
Mesajlar
98,921
Üyeler
2,462
Son üye
W.A.Semih Aslan

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top