Gokrtl

Gökhan Kartal (TeknoDay)
Staff member
Katılım
27 Şubat 2019
Mesajlar
11,465
Raspberry Pi Pico ya kod yüklüyorum. Hiç bir yükleme yada derleme hatası vermiyor.
Kodun doğru yüklendiğini test etmek için üzerindeki 25 nolu pine bağlı LED'i yaktırıyorum ve Serial ekrana da ayrıca "LED yandı" gibi bir mesaj yazdırıyorum.

Sorun şu ki void setup içinde spi.begin(); tanımlı olunca kodu yüklediğimde LED yanmıyor, Serial ekranda da mesaj gelmiyor. Ama spi.begin(); kapatınca led de yanıyor, serial ekranda mesajda görünüyor. bu spi ye ihtiyacım da var. Açık kalması lazım. Ne yapayım bilemedim.

C++:
void setup() {
    Serial.begin(115200);
  //SPI.begin();
  SPI.setTX(19);
  SPI.setSCK(18);
  SPI.setCS(17);
  Wire.setSDA(4);
  Wire.setSCL(5);
  Wire.begin();
  // DAC KODLARI /////////////
  pinMode(dacChipSelectPin, OUTPUT);
  // set the ChipSelectPins high initially:
  digitalWrite(dacChipSelectPin, HIGH);
  // initialise SPI:

  setDac(0, 0);  //Amper
  setDac(0, 1);  //Volt*/


  pinMode(led, OUTPUT);


  digitalWrite(led, LOW);
  Serial.println("LED söndü");
  delay(1000);
  digitalWrite(led, HIGH);
  Serial.println("LED söndü");
  delay(1000);
    digitalWrite(led, LOW);
  Serial.println("LED söndü");
  delay(1000);
  digitalWrite(led, HIGH);
  Serial.println("LED söndü");
  delay(1000);
    digitalWrite(led, LOW);
  Serial.println("LED söndü");
  delay(1000);
  digitalWrite(led, HIGH);
  Serial.println("LED söndü");
  delay(1000);
    digitalWrite(led, LOW);
  Serial.println("LED söndü");
  delay(1000);
  digitalWrite(led, HIGH);
  Serial.println("LED söndü");
  delay(1000);
    digitalWrite(led, LOW);
  Serial.println("LED söndü");
  delay(1000);
  digitalWrite(led, HIGH);
  Serial.println("LED söndü");
  delay(1000);
}
 
spi0 olarak başlatmayı denedin mi ?
Şöyle bir kod ile denedim:

SPI.beginTransaction(SPISettings(1000000, MSBFIRST, SPI_MODE0));
Bu şekilde kodu yükledim ama DAC'a veri yazamdım. Uğraşıyorum hala.
 
25 nolu pin SPI TX pini oldugu icin SPI devreye girince 25 nolu pinin GPIO uzerinden on off edilmesi elinden aliniyordur.
 
Son düzenleme:
1730124022020.png
 
Birazcık karıştırmışsın abi. Bende zamanında çok yanılgıya düşüyordum bu konuda. Biz GP yazan yeşil pinleri baz alıyoruz. Dolayısıyla senin 25 nolu pin dediğin aslında 19 nolu pin. 25 sadece bacak sırası diyebiliriz. Asıl 25 nolu pin ise yukarıdaki lede bağlı.

Ekran görüntüsü 2024-10-28 170548.png
 
VSCODE ile kodları picoya yükledim. Tüm sorun Arduino idesinden kaynaklanıyor her zamanki gibi.
Şimdi DAC çıkışlarını set etmeye çalışacağım.
 
Bence, RPi Zero, ESP serileri ve STM32F Disco için micropython kullanın, rahat edin.
 
Haklisin benim kafa bu gun gidik.

Ama "Kodun doğru yüklendiğini test etmek için üzerindeki 25 nolu pine bağlı LED'i yaktırıyorum" mesajin da pek dediginle uyusmuyor.

25 nolu pin 25 nolu pindir. Onu okuyan GPIO25 anlamaz.
 
Sen bana bakma benim kafa kırk yıldır gidik. Bu gün pin derim yarın GPIO derim.
 
Raspberry Pi Pico ya kod yüklüyorum. Hiç bir yükleme yada derleme hatası vermiyor.
Kodun doğru yüklendiğini test etmek için üzerindeki 25 nolu pine bağlı LED'i yaktırıyorum ve Serial ekrana da ayrıca "LED yandı" gibi bir mesaj yazdırıyorum.

Sorun şu ki void setup içinde spi.begin(); tanımlı olunca kodu yüklediğimde LED yanmıyor, Serial ekranda da mesaj gelmiyor. Ama spi.begin(); kapatınca led de yanıyor, serial ekranda mesajda görünüyor. bu spi ye ihtiyacım da var. Açık kalması lazım. Ne yapayım bilemedim.

C++:
void setup() {
    Serial.begin(115200);
  //SPI.begin();
  SPI.setTX(19);
  SPI.setSCK(18);
  SPI.setCS(17);
  Wire.setSDA(4);
  Wire.setSCL(5);
  Wire.begin();
  // DAC KODLARI /////////////
  pinMode(dacChipSelectPin, OUTPUT);
  // set the ChipSelectPins high initially:
  digitalWrite(dacChipSelectPin, HIGH);
  // initialise SPI:

  setDac(0, 0);  //Amper
  setDac(0, 1);  //Volt*/


  pinMode(led, OUTPUT);


  digitalWrite(led, LOW);
  Serial.println("LED söndü");
  delay(1000);
  digitalWrite(led, HIGH);
  Serial.println("LED söndü");
  delay(1000);
    digitalWrite(led, LOW);
  Serial.println("LED söndü");
  delay(1000);
  digitalWrite(led, HIGH);
  Serial.println("LED söndü");
  delay(1000);
    digitalWrite(led, LOW);
  Serial.println("LED söndü");
  delay(1000);
  digitalWrite(led, HIGH);
  Serial.println("LED söndü");
  delay(1000);
    digitalWrite(led, LOW);
  Serial.println("LED söndü");
  delay(1000);
  digitalWrite(led, HIGH);
  Serial.println("LED söndü");
  delay(1000);
    digitalWrite(led, LOW);
  Serial.println("LED söndü");
  delay(1000);
  digitalWrite(led, HIGH);
  Serial.println("LED söndü");
  delay(1000);
}

SPI.begin(); öncesinde pinleri tanımlamalısınız.
 
Sorun arduino idesinden kaynaklıydı. VsCode ile yükledim sorun kalmadı. Şuan DAC a ayar çekebiliyorum.
 

Çevrimiçi personel

Çevrimiçi üyeler

Forum istatistikleri

Konular
6,811
Mesajlar
116,026
Üyeler
2,772
Son üye
Burhan Öz

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Back
Top