avatar_fatih88

dtmf ton üreteci için fikirlerinize ihtiyacım var

Başlatan fatih88, 11 Nisan 2020, 15:51:04

fatih88

öncelikle ülkemizin bu zor durumundan selamete erebilmesi için sosyal mesafe ve evde kalmaya özen gösterelim
bütün form üyelerine sağlıklı günler diliyorum

sayın arkadaşlar bir problemim var bu site genelde pbp ile projeler üretiyor lakin ben c ile programlama yapıyorum  konu başlığındanda belli olacağı gibi ccs c veya atmel c de dtmf ton üretici bir library yok ama pbp veya proton basıc de bu üretec var ben bu dtmf verici işini en kolay nasıl hallede bilirim projeyi attiny2313 ile yapmak istiyordum ama dtmf tonlamayı biraz araştırdım projenin hedef süresini uzatacak kadar karmaşık bir durum söz konusu kısa sürede pbp çözemeyeceğime göre hazır bir ton entegreleri varmı bildiğiniz netten baktım lakin türkiyede bulunmayacak entegreler var tabi fiyatıda önemli

projeden biraz bahsetmek gerekirse 10km mesafedeki cihazı açtırıp kapatmak lakin cihazın açılıp kapandığınıda kontrol etmek için iki devrede alıcı verici olacak
2 telsiz arasında karşılıklı haberleşme olacak bir senaryo oluşturacak olursak
1. verici telsizimiz motora ac sinyali gönderecek ve verici telsiz alıcı konumuna gececek 2. telsiz motoru acacak olan  bilgiyi alıp motoru acacak ve verici konumuna geçip bilgiyi aldım komutu yollayacak 1.telsiz açtım verisini 2sn içinde almassa tekrar aç sinyali yollayacak taki açana kadar açtım sinyalini alınca uykuya girecek taki aynı koşullar oluşana kadar

burdaki senaryo veri kaybının oluşup motoru aç dememize rağmen alıcı devrenin motoru açamama sorununu ortadan kaldırmak

eğer bu sistemi dtmf sinyali kullanmadan yapılabilecekse fikirlerinizi duymak isterim

NOT!! verici alıcı olayları sıkıntılı bir durum lütfen KIRITİK bilgileri özel mesaj ile paylaşalım
saygılarla fayelektronik
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

Serk@n

#1
Fatih88

Dtmf ile yapmak isterseniz ben size yardımcı olabilirim. Kabaca şöyle anlatayım: 8 Khz.lik bir timer oluşturun ve MCU.nun çıkışında bir DAC.a şu değerleri timer içinde toplayarak gönderin. Ayrıntılı bilgi isterseniz açıklarım. Bu değerleri Arduino'da çalıştırdım. Sağlıklı bir şekilde çalışıyor.

//697 Hz.
frekansYatay1[264]= {
64, 97, 120,  127,  115,  89, 55, 24, 4,  2,  18, 48, 82, 111,  126,  123,  103,  71, 38, 12, 1,  9,  33, 66, 98,
121,  127,  114,  87, 54, 23, 4,  3,  19, 49, 83, 112,  126,  122,  102,  70, 36, 11, 1,  9,  34, 67, 99, 121,  127,
113,  86, 52, 22, 4,  3,  21, 51, 85, 113,  126,  122,  100,  68, 35, 10, 1,  10, 35, 69, 101,  122,  126,  113,  85,
50, 20, 3,  4,  22, 52, 86, 114,  127,  121,  99, 67, 34, 9,  1,  11, 37, 70, 102,  123,  126,  112,  83, 49, 19,
3,  4,  23, 54, 88, 115,  127,  121,  98, 65, 32, 9,  1,  12, 38, 72, 103,  123,  126,  110,  82, 48, 18, 2,  5,
24, 55, 89, 115,  127,  120,  97, 64, 31, 8,  1,  13, 39, 73, 104,  124,  126,  109,  80, 46, 17, 2,  5,  25, 57,
90, 116,  127,  119,  95, 62, 30, 7,  1,  14, 41, 75, 105,  124,  125,  108,  79, 45, 16, 2,  6,  26, 58, 92, 117,
127,  118,  94, 61, 28, 7,  1,  15, 42, 76, 107,  125,  125,  107,  77, 43, 15, 2,  6,  28, 60, 93, 118,  127,  118,
93, 59, 27, 6,  2,  16, 44, 78, 108,  125,  124,  106,  76, 42, 14, 1,  7,  29, 61, 94, 119,  127,  117,  91, 58,
26, 5,  2,  17, 45, 79, 109,  125,  124,  105,  74, 40, 13, 1,  7,  30, 63, 96, 119,  127,  116,  90, 56, 25, 5,
2,  18, 47, 81, 110,  126,  123,  104,  73, 39, 12, 1,  8,  32,
};

//770 Hz.
frekansYatay2[187]={
64,  100,  123,  125,  106,  71, 35, 8,  1,  17, 49, 87, 116,  127,  116,  86, 48, 16, 1,  9,  35, 72, 106,  125,  123,
99, 63, 27, 5,  3,  23, 58, 94, 120,  126,  110,  78, 40, 11, 1,  13, 43, 81, 112,  127,  119,  92, 55, 21, 2,
6,  30, 66, 101,  124,  125,  104,  69, 33, 7,  2,  18, 51, 89, 117,  127,  114,  84, 46, 15, 1,  10, 37, 74, 108,
126,  122,  97, 61, 26, 4,  4,  25, 60, 96, 121,  126,  109,  76, 39, 10, 1,  14, 45, 83, 113,  127,  118,  90, 53,
19, 2,  7,  32, 68, 103,  124,  124,  103,  67, 31, 6,  2,  20, 53, 90, 118,  127,  113,  82, 45, 14, 1,  11, 39,
76, 109,  126,  121,  96, 59, 24, 4,  4,  26, 62, 98, 122,  126,  107,  74, 37, 9,  1,  15, 47, 84, 115,  127,  117,
88, 51, 18, 2,  7,  33, 70, 105,  125,  123,  101,  65, 29, 6,  3,  21, 55, 92, 119,  127,  112,  80, 43, 13, 1,
12, 41, 78, 111,  126,  120,  94, 57, 23, 3,  5,  28,
};

//852 Hz.
frekansYatay3[169]={
64,  103,  125,  121,  92, 51, 16, 1,  14, 48, 89, 119,  126,  106,  68, 28, 4,  5,  33, 73, 110,  127,  117,  84, 42,
10, 1,  20, 57, 97, 123,  124,  98, 58, 21, 2,  10, 41, 82, 116,  127,  111,  75, 34, 6,  3,  27, 66, 105,  126,
120,  90, 49, 14, 1,  15, 50, 91, 120,  126,  104,  65, 26, 3,  6,  35, 75, 111,  127,  115,  82, 40, 9,  2,  21,
59, 99, 124,  123,  97, 56, 19, 1,  11, 43, 84, 117,  127,  109,  72, 32, 5,  4,  28, 68, 106,  126,  119,  88, 47,
13, 1,  16, 52, 93, 121,  125,  102,  63, 24, 3,  7,  36, 78, 113,  127,  114,  79, 38, 8,  2,  23, 61, 101,  125,
122,  95, 54, 18, 1,  12, 45, 86, 118,  126,  108,  70, 30, 4,  5,  30, 71, 108,  126,  118,  86, 45, 12, 1,  18,
54, 95, 122,  125,  101,  61, 23, 2,  8,  38, 80, 114,  127,  113,  77, 36, 7,  3,  24,
};

//941 Hz.
frekansYatay4[17] ={
64,  106,  127,  114,  76, 31, 3,  8,  41, 87, 120,  125,  97, 53, 14, 1,  21,
};

//1209 Hz.
frekansDikey1[225]={
64,  115,  124,  82, 26, 1,  29, 86, 125,  113,  60, 10, 6,  50, 106,  127,  95, 37, 2,  18, 73, 120,  120,  74, 19,
2,  37, 94, 127,  106,  51, 6,  10, 59, 112,  125,  87, 30, 1,  25, 82, 123,  116,  65, 13, 4,  45, 102,  127,  99,
42, 3,  15, 68, 117,  122,  79, 23, 1,  32, 90, 126,  110,  56, 8,  8,  54, 109,  126,  92, 34, 2,  21, 77, 122,
118,  70, 16, 3,  40, 98, 127,  103,  47, 5,  12, 63, 114,  124,  83, 27, 1,  28, 85, 125,  113,  61, 11, 5,  49,
105,  127,  96, 39, 2,  18, 72, 119,  121,  75, 20, 2,  36, 93, 126,  107,  52, 7,  9,  58, 111,  125,  88, 31, 1,
24, 80, 123,  116,  66, 14, 4,  44, 101,  127,  100,  43, 4,  14, 67, 117,  123,  80, 24, 1,  31, 89, 126,  111,  57,
9,  7,  53, 108,  126,  93, 35, 2,  20, 75, 121,  119,  71, 17, 2,  39, 97, 127,  104,  48, 5,  11, 61, 114,  124,
85, 28, 1,  27, 84, 124,  114,  62, 12, 5,  48, 104,  127,  97, 40, 3,  17, 70, 119,  121,  76, 21, 2,  35, 92,
126,  108,  53, 7,  9,  56, 110,  126,  89, 32, 1,  23, 79, 123,  117,  67, 15, 3,  43, 100,  127,  101,  45, 4,  14,
};

//1336 Hz.
frekansDikey2[503] ={
64,  119,  118,  64, 9,  10, 65, 119,  118,  63, 9,  10, 66, 119,  118,  62, 8,  11, 66, 120,  117,  61, 8,  11, 67,
120,  117,  60, 8,  11, 68, 120,  116,  60, 7,  12, 69, 121,  116,  59, 7,  12, 70, 121,  115,  58, 7,  13, 70, 121,
115,  57, 6,  13, 71, 122,  114,  56, 6,  14, 72, 122,  114,  56, 6,  14, 73, 122,  114,  55, 5,  15, 73, 123,  113,
54, 5,  15, 74, 123,  113,  53, 5,  16, 75, 123,  112,  53, 5,  16, 76, 124,  112,  52, 4,  17, 77, 124,  111,  51,
4,  17, 77, 124,  110,  50, 4,  18, 78, 124,  110,  49, 4,  18, 79, 124,  109,  49, 3,  19, 80, 125,  109,  48, 3,
19, 80, 125,  108,  47, 3,  20, 81, 125,  108,  46, 3,  21, 82, 125,  107,  46, 3,  21, 83, 125,  107,  45, 2,  22,
83, 126,  106,  44, 2,  22, 84, 126,  105,  43, 2,  23, 85, 126,  105,  43, 2,  24, 86, 126,  104,  42, 2,  24, 86,
126,  104,  41, 2,  25, 87, 126,  103,  40, 2,  25, 88, 126,  102,  40, 1,  26, 89, 127,  102,  39, 1,  27, 89, 127,
101,  38, 1,  27, 90, 127,  100,  38, 1,  28, 91, 127,  100,  37, 1,  29, 92, 127,  99, 36, 1,  29, 92, 127,  98,
35, 1,  30, 93, 127,  98, 35, 1,  31, 94, 127,  97, 34, 1,  31, 94, 127,  96, 33, 1,  32, 95, 127,  96, 33,
1,  33, 96, 127,  95, 32, 1,  33, 96, 127,  94, 31, 1,  34, 97, 127,  94, 31, 1,  35, 98, 127,  93, 30, 1,
35, 98, 127,  92, 29, 1,  36, 99, 127,  92, 29, 1,  37, 100,  127,  91, 28, 1,  38, 100,  127,  90, 27, 1,  38,
101,  127,  89, 27, 1,  39, 102,  127,  89, 26, 1,  40, 102,  126,  88, 25, 2,  40, 103,  126,  87, 25, 2,  41, 104,
126,  86, 24, 2,  42, 104,  126,  86, 24, 2,  43, 105,  126,  85, 23, 2,  43, 105,  126,  84, 22, 2,  44, 106,  126,
83, 22, 2,  45, 107,  125,  83, 21, 3,  46, 107,  125,  82, 21, 3,  46, 108,  125,  81, 20, 3,  47, 108,  125,  80,
19, 3,  48, 109,  125,  80, 19, 3,  49, 109,  124,  79, 18, 4,  49, 110,  124,  78, 18, 4,  50, 110,  124,  77, 17,
4,  51, 111,  124,  77, 17, 4,  52, 112,  124,  76, 16, 5,  53, 112,  123,  75, 16, 5,  53, 113,  123,  74, 15, 5,
54, 113,  123,  73, 15, 5,  55, 114,  122,  73, 14, 6,  56, 114,  122,  72, 14, 6,  56, 114,  122,  71, 13, 6,  57,
115,  121,  70, 13, 7,  58, 115,  121,  70, 12, 7,  59, 116,  121,  69, 12, 7,  60, 116,  120,  68, 11, 8,  60, 117,
120,  67, 11, 8,  61, 117,  120,  66, 11, 8,  62, 118,  119,  66, 10, 9,  63, 118,  119,  65, 10, 9,  64, 118,  119,
64, 9,  10,
};

//1477 Hz.
frekansDikey3[65]={
64,  122,  110,  43, 1,  35, 103,  125,  73, 10, 12, 76, 126,  101,  32, 1,  46, 112,  120,  61, 5,  20, 88, 127,  90,
22, 4,  58, 119,  114,  49, 2,  30, 99, 126,  79, 14, 9,  70, 124,  106,  37, 1,  40, 108,  123,  67, 7,  16, 82,
127,  96, 27, 3,  52, 116,  117,  55, 3,  25, 93, 127,  85, 18, 6,
};

//1633 Hz.
frekansDikey4[436]={
64,  124,  98, 23, 6,  72, 126,  91, 17, 10, 80, 127,  84, 12, 15, 88, 127,  76, 8,  20, 95, 125,  68, 5,  27,
102,  123,  60, 2,  34, 108,  120,  51, 1,  41, 114,  115,  44, 1,  49, 118,  110,  36, 2,  57, 122,  104,  29, 4,  65,
125,  98, 22, 7,  73, 126,  90, 17, 11, 81, 127,  83, 12, 15, 89, 127,  75, 8,  21, 96, 125,  67, 4,  27, 103,
123,  59, 2,  34, 109,  119,  51, 1,  42, 114,  115,  43, 1,  49, 119,  110,  35, 2,  58, 122,  104,  28, 4,  66, 125,
97, 22, 7,  74, 126,  90, 16, 11, 82, 127,  82, 11, 16, 89, 126,  74, 7,  22, 97, 125,  66, 4,  28, 103,  122,
58, 2,  35, 109,  119,  50, 1,  42, 115,  114,  42, 1,  50, 119,  109,  35, 2,  58, 123,  103,  28, 4,  67, 125,  96,
21, 7,  75, 127,  89, 16, 12, 83, 127,  81, 11, 17, 90, 126,  73, 7,  22, 97, 125,  65, 4,  29, 104,  122,  57,
2,  36, 110,  118,  49, 1,  43, 115,  114,  41, 1,  51, 119,  108,  34, 2,  59, 123,  102,  27, 5,  67, 125,  95, 21,
8,  75, 127,  88, 15, 12, 83, 127,  80, 10, 17, 91, 126,  72, 7,  23, 98, 124,  64, 4,  29, 105,  122,  56, 2,
37, 111,  118,  48, 1,  44, 116,  113,  40, 1,  52, 120,  108,  33, 3,  60, 123,  102,  26, 5,  68, 125,  95, 20, 8,
76, 127,  87, 15, 13, 84, 127,  80, 10, 18, 92, 126,  72, 6,  24, 99, 124,  63, 3,  30, 105,  121,  55, 2,  37,
111,  118,  47, 1,  45, 116,  113,  40, 1,  53, 120,  107,  32, 3,  61, 123,  101,  26, 5,  69, 126,  94, 19, 9,  77,
127,  87, 14, 13, 85, 127,  79, 9,  18, 92, 126,  71, 6,  24, 99, 124,  63, 3,  31, 106,  121,  54, 2,  38, 112,
117,  47, 1,  46, 117,  112,  39, 1,  54, 121,  107,  32, 3,  62, 124,  100,  25, 6,  70, 126,  93, 19, 9,  78, 127,
86, 14, 14, 86, 127,  78, 9,  19, 93, 126,  70, 6,  25, 100,  124,  62, 3,  32, 107,  121,  54, 1,  39, 112,  117,
46, 1,  46, 117,  112,  38, 2,  54, 121,  106,  31, 3,  63, 124,  100,  24, 6,  71, 126,  93, 18, 9,  79, 127,  85,
13, 14, 87, 127,  77, 9,  19, 94, 126,  69, 5,  26, 101,  123,  61, 3,  32, 107,  120,  53, 1,  40, 113,  116,  45,
1,  47, 117,  111,  37, 2,  55, 121,  105,  30, 3,
};
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

ersangundogdu

Cep telefonu kullanarak yapılan devreler var. Araştırmanı tavsiye ederim.

fatih88

Sy.Serkanzey
Cevabınız için teşekkürler proje maliyeti düşük dac pahalı olabilir php ile çalışmalara başladım eğer işlemcide atmelle yürümeye karar verirsek sizinle tekrar görüşmek isterim

Sy. Ersangündogdu
Alıcı devrem var çok iyi şekilde yazdım onu pek kaçırma yapmıyor nettekiler çok fazla kaçırıyor sinyali
Benim sorunum verici
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

onurinci

http://www.projectmf.org/bluebox.html burada Arduino ile geniş kapsamlı ton üretebilen bir devre var..

Serk@n

Kullandığım mcp4921 dac entegre fiyatı Direnc.net'te 15 TL civarı. Bilginiz olsun.

Devre şeması, yazılım vs. herşeyi paylaşabilirim.
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

Serk@n

Onurinci'nin paylaşımı daha güzel ve daha pratik bir çözüm gibi görünüyor. Yeni fark ettim. Tek pinle pwm olarak çıkış alınmış.

Bu paylaşımı görünce daha önce dtmf sinyallerini kare dalgayla üreten bir programı çalıştırdığım aklıma geldi. Fakat onurinci'nin paylaşımından dezavantajlı olan yönü iki pin kullanılıyor olmasıydı. Avantajlı yönü ise çalıştığını görmüş olmam.

Bu programın arduino yazılımı bilgisayarımda hala olması lazım. Dilerseniz bakabilirim.
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

fatih88

arkadaşlar yardımlarınız için teşekkürler pbp ile yazıyorum şu an takıldığım yerlerde en azından burdan yardım isteyebilirim ardunio işi pek haz etmediğim işlerden biri müşterimin isteklerini karşılamak için yazılıma hakim olmam gerekiyor
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

kahraman34

Eskiden mt8880 diye birşey vardı ?

Serk@n

#9
Fatih88
Sizden biraz bilgi alabilir miyim? Arduinonun atmega328p entegresi pic.lerden daha başarılı değil mi? Tercih etmeme sebebiniz nedir? Ben amatör olarak devre yapıyorum. Gerçi ben de bazen atmelin bu entegresinde kararsızlıklar yaşıyorum. Tercih etmeme sebebi arduino yazılımı, kütüphane gibi şeyler mi, yoksa entegrenin kendisinden mi kaynaklanıyor?
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

fatih88

ben atmega328p yi ardunio ile kullanmıyorum atmel studio ile yazıyorum avr yi kullanma sebebim endüstriyel projelerde emi sorunun az olmasından dolayı tercih ediyorum bide pic ler frekansı 4 e böler avr atmel bölmez daha hızlı 328p yi neden kullanıyorum piyasada hızli bir şekilde bululunması küçük  projelerdede 2313 kullanıyorum
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

Serk@n

Ben de arduino ide'sini bırakıp avr'ye geçmek istiyorum. Fakat sürekli cesaretim kırılıyor. Nereden başlamam gerekiyor, ne yapmalıyım hiçbir fikrim yok.
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

İlyas KAYA

#12
Alıntı yapılan: serkanzey - 15 Nisan 2020, 20:23:34Ben de arduino ide'sini bırakıp avr'ye geçmek istiyorum. Fakat sürekli cesaretim kırılıyor. Nereden başlamam gerekiyor, ne yapmalıyım hiçbir fikrim yok.

Ne gerek var ki ? Boşverin siz ben şunda yapıyorum bunda yapıyorum muhabbetini. Kendinizi nasıl rahat hissediyorsanız,  işinize hangisi geliyor ise, hangisi daha hızlı çözüm ise onu kullanın.

Asm kullanıyorum ben diyen de aynı pic basic kullanıyorum diyende,  flowcode kullanan da aynıdır.

Sonuçta algoritma , hız,  rahatlık.

Aşağılık kompleksine girmenize gerekyok. Sonuç odaklı çalışın.

Eğer sonuca ulaşmanız arduino da daha hızlı ise onu yok yeterli değil daha hızlı yaparım avr studio ile yaparım diyorsanız da avr studio kullanın.

Kaldı ki bence arduino ya bu konuda kimse eline su dökemez.
Arduino ide değil de visual studio içinde arduino eklentisini kurarsanız işte ozaman tüm derleyici tüm ide leri atin çöpe gitsin.
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

fatih88

Ilyas bey 10 yıldır yazdığı picleri insan neden bırakır sizce maymun iştahımızdanmı demekki bazı problemler yaşadımki endüstriyel projelerimde 3 faz motor projelerinde pic başarılı değil emk sorunu yenemedim denemediğim birşey kalmadı pic leri hala kullanıyorum ama emi sorunu olmayan yerlerde
Gelelim ardunio ya
Ardunio eğitim ve hemen denenecek projeler için uygun benim çok sevdiğim bir platform değil ben register tabanlı program yazıyorum benim için hafıza önemli ardunio include de bir sürü kullanmayacağım fonksiyonu açıyor buda hafızamdan yiyor bir projemde 328p nin neredeyse %93 kısmını doldurdum bunu ardunio ile yapamazdım o yüzden ben şu şöyle bu böyle diye mcu karşılaştırması yapmadım arkadaşımız neden bunu kullanıyon sorusunu kendi sebeplerimce cevapladım mühim olan hangi mcu 'yu kullandığın değil ne kadar verimli kullanabildiğindir bence
Saygılarımla
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

İlyas KAYA

Alıntı yapılan: fatih88 - 15 Nisan 2020, 21:50:13Ilyas bey 10 yıldır yazdığı picleri insan neden bırakır sizce maymun iştahımızdanmı demekki bazı problemler yaşadımki endüstriyel projelerimde 3 faz motor projelerinde pic başarılı değil emk sorunu yenemedim denemediğim birşey kalmadı pic leri hala kullanıyorum ama emi sorunu olmayan yerlerde
Gelelim ardunio ya
Ardunio eğitim ve hemen denenecek projeler için uygun benim çok sevdiğim bir platform değil ben register tabanlı program yazıyorum benim için hafıza önemli ardunio include de bir sürü kullanmayacağım fonksiyonu açıyor buda hafızamdan yiyor bir projemde 328p nin neredeyse %93 kısmını doldurdum bunu ardunio ile yapamazdım o yüzden ben şu şöyle bu böyle diye mcu karşılaştırması yapmadım arkadaşımız neden bunu kullanıyon sorusunu kendi sebeplerimce cevapladım mühim olan hangi mcu 'yu kullandığın değil ne kadar verimli kullanabildiğindir bence
Saygılarımla

Eğer size karşı birşey yazsa idim sizin mesajınızı alinti yapardım.
Yazdığım yorum da size karşı bir hitap da yok. Zaten anladığınızı da sanmıyorum.
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

Powered by EzPortal