- Katılım
- 27 Şubat 2019
- Mesajlar
- 12,195
int latchPin = 5;
int clockPin = 6;
int dataPin = 4;
byte leds = 0;
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
}
void loop()
{
leds = 0;
registeraYaz();
delay(500);
for (int i = 0; i < 8; i++)
{
bitSet(leds, i);
registeraYaz();
delay(500);
}
for (int i = 8; i >= 0; i--)
{
bitClear(leds, i);
registeraYaz();
delay(500);
}
}
void registeraYaz()
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, leds);
digitalWrite(latchPin, HIGH);
}
Senin yüzünden tembelliğe alışıcam bu gidişle.595:int latchPin = 5; int clockPin = 6; int dataPin = 4; byte leds = 0; void setup() { pinMode(latchPin, OUTPUT); pinMode(dataPin, OUTPUT); pinMode(clockPin, OUTPUT); } void loop() { leds = 0; registeraYaz(); delay(500); for (int i = 0; i < 8; i++) { bitSet(leds, i); registeraYaz(); delay(500); } for (int i = 8; i >= 0; i--) { bitClear(leds, i); registeraYaz(); delay(500); } } void registeraYaz() { digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, leds); digitalWrite(latchPin, HIGH); }
o zaman bizim OE pinine PULL-UP yapıp picoya bağlamamız lazım çıkış yapacağımız zaman 0'a çekicez.Fritz'deki yapıyı kullanamayız. Trafo kademe seçimleri kritik, sistem ilk açıldığında bütün kademelerin OFF olmasını garantilememiz lazım. O yüzden OE sinyalini kullanmamız gerekiyor. Şimdi SER, SRCLK, RCLK ve OE 4 pin yapıyor.
Ama OE yi de kullanarak 3 pinle de işi bitirebiliriz. Bunun için SER data girişi olacak, SRCLK ve RCLK birleştirilecek ve clock girişi olacak, OE ile de yazdığımız bilgiyi dışa aktaracağız. Bu sistemde doğru sonucu almak için verinin iki kere peş peşe yazılması gerekiyor.
@taydin abi 595'in beslemesine 1 tane'de germanyum diyot mu koysak az voltaj kıssın ama beslemeyi nano saniye de olsa geç versin OE'den
OE hali hazırdaki 3.3v'hatta pull-up olacak.
595'in beslemesini de aynı hattan germanyum diyot ile yapsak germanyum diyotun oluşturacağı nano saniyelik OE pininin önce HIGH olmasını sağlar karışmaz ortalık
Yok abi diyotların bir geçirme süresi vardı ya ondan yaralanalım diyorum.Voltaj azalınca niye geciksin yav? O gene aynı sürede çıkar dışarı.
Ama şöyle bir diğer seçenek olabilir: Bir tane de SRCLR pini var tüm flip flopları resetleyen. SRCLR eğer sistem açılırken 0 olacak şekilde bir ayarlama yaparsak (reset devresi gibi) o zaman OE ye gerek kalmaz ve Fritz'deki yapı da çalışır.
Yok abi diyotların bir geçirme süresi vardı ya ondan yaralanalım diyorum.
Kodları yazarken kademe geçişleri arasına 50ms delay koymuştum. İş görmez mi?O zamana kadar trafonun sekonderi kısa devreden dolayı koku üretmeye başlamıştır bile.
Dur abi anlaşamadık.Diyot çok az geciktirir. İşlemci boot edecek de, arduino sketch'i yükleyecek de, pinleri yaplandıracak da, sonra da değerlerini yazacak. O zamana kadar trafonun sekonderi kısa devreden dolayı koku üretmeye başlamıştır bile.
Sanırım en mantıklısı yukarıda senin kurduğun devreyi kullanmak, ama 595'i de bir reset devresi ile ilk açılışta bilinen (pasif) bir duruma getirmek. Sonra PICO artık göbeğini kaşıya kaşıya sistemi ayağa kaldırır, sonra da 595'e olması gerekeni yazmaya başlar.
Bu programın adı ney abi güzelmiş bu.Şu devre çalışır gibime geliyor. İlk açılışta RC reset devresi çıkışları 0 yapacak. Çıkış 0 olunca da kademe değiştiren TRIAC'ların ateşlememesini temin ettik mi tamamdır.
17019 eklentisine bak
Dur abi anlaşamadık.
17018 eklentisine bak
Böyle yapıcaz
o 1k'nın önünden de picoya gidicez lazım olduğunda 0a çekecek gariban
Bu programın adı ney abi güzelmiş bu.
o 1n60'da birkaç nano saniye gecikecek diye planlıyorum.Bunun nasıl bir faydası olacak anlamadım ...