Yav varya adamın dibisin. Picoyu bozdum diye ikincisine bacak lehimliyordum bendeönce ı2c pinlerini yazıp daha sonra begin yapmamız gerekiyor. @Gokrtl
Estağfurullah abi birlikte öğreniyoruzYav varya adamın dibisin. Picoyu bozdum diye ikincisine bacak lehimliyordum bende
16330 eklentisine bak
Evet. Normalde bırak bilgisayarı, USB portunu değişince bile COM'un değişmesi lazım.Şimdi birşey dikkatimi çekti bu picoyu daha önce 2 bilgisaya bağladım ben.
Bir arkadaşımın bilgisyarı.
Bir kendi bilgisayarım.
Birde şimdi seninkinde görüyorum.
Bu pico bağlandığı her bilgisayarda "com 10" alıyor
/// LM35 Sıcaklık Sensörü
for (int i = 0; i < 350; i++) // daha kararlı ortalama bir sonuç almak için 50 kez okuma yapma
{
lm35 = lm35 + analogRead(lm35Pin);
//delay(1);
}
DUAL CORE ÖRNEĞİNE BAKEvet. Normalde bırak bilgisayarı, USB portunu değişince bile COM'un değişmesi lazım.
Demekki buna özellikle "Sen COM10 kullan" demişler.
Şimdi yeni sorunlara devam edelim.
Keypad de tuş basmasında geç aksiyon alıyorum. Basınca tuş çalışmıyor, basılı tutunca birkan ms de bir çalışıyor.
Bunun nedeni LM35 sensörün kararlı çalışması için 350 kez for döngüsüne sokup delay(1) eklemem.
Bu döngüye 350ms ekliyor. Aynı şekilde voltaj okumada bir 350ms ekliyor. Etti 700ms. Bu da 1 saniye ye yakın olduğundan bu süre zarfınca tuşa basamamış oluyorum. Şimdi "millis" kullanmayı deneyeceğim ama onu tam beceremiyorum. Eski zaman, yeni zaman derken beyin yanıyor benim
C:/// LM35 Sıcaklık Sensörü for (int i = 0; i < 350; i++) // daha kararlı ortalama bir sonuç almak için 50 kez okuma yapma { lm35 = lm35 + analogRead(lm35Pin); //delay(1); }
1. çekirdekte lm35'i okuyup değişkene gönderdiğim değeri, ikinci çekirdekte okuyup işleyebiliyor muyum?16331 eklentisine bak
setup ve loop 1. çekirdek
setup1 ve loop1 2. çekirdek yani 2 ayrı program yazabilirsin bunlara ve sorunsuz çalışır birbirini etkilemeden
ama birşeyi denemem lazım 2çekirdek arasında değişkenleri gönderebiliyor muyuz
aklıma bu geldi deniyorum
Evet bende denedim sıkıntısız çalışıyor. Bu iyi oldu.bu çalıştı 2 core arasında değişkenlerin bir bloklama uğramıyor gidiyor
int a = 0;
void setup() {
Serial.begin(9600);
Serial.println("CEKIRDEK 1");
}
void loop() {
if (BOOTSEL) {
delay(100);
Serial.println(a);
}
}
void setup1() {
pinMode(25, OUTPUT);
}
void loop1() {
if (BOOTSEL) {
a++;
digitalWrite(25, HIGH);
delay(350);
digitalWrite(25, LOW);
}
}
int a = 0;
bool fl = 0;
void setup() {
Serial.begin(9600);
Serial.println("CEKIRDEK 1");
}
void loop() {
if(fl == 1){
Serial.println(a);
fl = 0;
}
}
void setup1() {
pinMode(25, OUTPUT);
}
void loop1() {
if (BOOTSEL) {
a++;
digitalWrite(25, HIGH);
delay(350);
digitalWrite(25, LOW);
fl = 1;
while(BOOTSEL);
}
}
Bende de şöyle bir şeye sebep oldumecbur bu şekilde çalıştırdım bi girişi 2 çekirdekten okumaya çalışınca sapıtıyor sanırımrec:int a = 0; bool fl = 0; void setup() { Serial.begin(9600); Serial.println("CEKIRDEK 1"); } void loop() { if(fl == 1){ Serial.println(a); fl = 0; } } void setup1() { pinMode(25, OUTPUT); } void loop1() { if (BOOTSEL) { a++; digitalWrite(25, HIGH); delay(350); digitalWrite(25, LOW); fl = 1; while(BOOTSEL); } }
bi yerde senin bu değişken sıfırlanıyor mu?
1.çekirdeğin en sonunda sıfırlanıyorbi yerde senin bu değişken sıfırlanıyor mu?
//// Değerleri sıfırlama ////////////////
Cdata = 0;
I = 0;
V = 0;
Vdata = 0;
vIN = 0;
value;
sıfırlayınca böyle gözükmesi normal bence.1.çekirdeğin en sonunda sıfırlanıyor
C://// Değerleri sıfırlama //////////////// Cdata = 0; I = 0; V = 0; Vdata = 0; vIN = 0; value;