öncelıkle arduıno da yenıyım ama öğrenmeye çalısıyorum
sensörden gelen sureklı degişken bir veri var . bu veriyi dısarıdan bır sınyal geldiğinde d değişkeninide olan son veriyi birsonrakı kosulda kullanmak istiyorum yardımcı olursanız sevınırım.
float ref = 100.00 ;
float normal = (sensor.read());
if (digitalRead (P) == HIGH )
{
float b = normal - ref;
float c= b*0.5 ;
float d = c + normal - b ;
Serial.print("normal değer: ");
Serial.println( normal );
Serial.print("yarısı : ");
Serial.println( d );
}
if (digitalRead (P) == LOW )
{
float e =normal - ref;
float f = d - e ;
Değişkenleri if döngüsünün içinde tanımlarsan bir sonraki koşula aktarılmaz. Değişkenleri en başa global olarak tanımlarsan program var olduğu sürece ramde kalacaktır yani yazacağın programın en başına
C++:
float b,c,d,e,f,g;
şeklinde tanımlarsan döngü içerisinde bunları her kullandığında değerleri değişir ama kaybolmazlar.
global olarak tanımlasamda ilk dongüdeki son görülen degeri almam lazım yanı duymeye basıldıgı ankı veriyi sabıt tutmam lazım
global olarak tanımladıgımda diğer dongü içinde veri sensorden gelen veriye göre değiştiği için bir işime yaramıyor
yanı p den low geldiğinde d degerinin son halinı kullanmam gerekiyor
öncelikle cvp verenlere cok teşekkür ederim
buyuk bır kısmını hallettim
şu anda takıldığım yer println ile yazdıgım g deki float ı 5 nolu pine cıkış yapmak istiyorum
yardımcı olursanız sevınırım
Soruyu o kadar eksik ve yanlış soruyorsun ki, çok basit birşey olmasına rağmen insanlar cevap yazmıyor. Nasıl çıkış yapmak istiyorsun? sayısal bir değer bir pine nasıl çıkılabilir? Sanırım pwm olarak çıkmasını istiyorsun. Bunun için basit bir matematik gerekiyor sadece. MAX_DEGER olarak g nin alabileceği maksimum değeri yazman gerekiyor.
C++:
int buffer = (g/MAX_DEGER)*100.00;
int pwm = map(buffer,0,100,0,255);
analogWrite(pwm);