Proje Yardım

Başlatan hkilic5, 02 Aralık 2007, 01:23:37

hkilic5

Merhaba Arkadaşlar Ben Hasan

Amasya MYO öğrencisiyim.

Proje dersimizde hocamın bana verdiği proje tek tuşa basılınca saati söyleyen dijital saat projesi bunu nasıl yapacağımı bilmiyorum ve düz liseden geldiğim için hiç bir bilgim yok çok yeri araştırdım ama sonuç negatif sizlerden yardımlarınızı bekliyorum .

İnternette dijital saat buldum sonrasını bilmiyorum sesi nereye kaydetip nereden dinleteceğimi ve daha bir sürü şey nasıl yapabilirim lütfen yardım edin ...

refik1

form arama bölümüne ISD yaz

ilker_32


8 ayrı ses kaydedebilirsiniz. Fiyatı 8 ytl'dir. Elinizdeki saat devresine uyarlayabilirsiniz. Hocanıza çaktırmayın :lol:

teknikelektronikci

tamam da ilker hocam ancak 8 tane ses kayit edilebiliniyor ama arkadasa saati söylemesi icin en azindan her saat icin 24 tane ses kayit etmesi gerekiyor vala kardes düz liseden geldi isen isin hayli bi zor bu projeyi yapabilmen icin aklima ilk gelen su var gene isd kullanirsin isd ses kayit entegresinin adres kontrol bitlerini pic ile kontrol edersin ve en azindan cok kisa söyleterek saati isd entegresine kaydedebilirisin ama bence pic ile adresleri secerek kayit yapma daha kolay ve pratik olur ama bu seferde pici ögrenmen gerekecek biraz arastir bakalim. bu arada bende ege myo dayim bize böle proje ödevi filan vermiyeceklermis ya da 2.sinifta verirler sen kacinci siniftasin?
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

ipek

Hasan kardeş çok zor değil fakat kazık bir proje almışsın kolay gelsin....
nette talking clock diye arattım oltaya bir seyler takıldı umarım işine yarar yada fikir verebilir....

http://rapidshare.com/files/73690395/geveze-saat.rar.html

emin1

Eğer hazır devre arıyorsan ve kendin yapamayacaksan


nokia telefonların 1112 modeli bir tuşa basınca saati söylüyor
telefonu al kutusunu ve ekranı iptal et bir buton ve besleme yap.

işlem tamam

hkilic5

Arkadaşlar Hepinize teşekkürler elimde bir program yazılmış olarak var ve 2. sınıftayım



Alarmlı Ve Konuşan Bir Saat Programı
________________________________________
Program herzaman üstte(always on top),ses dosyalarının sırayla çalınması,sağ tık menüsü özellikleri içeriyor.Arzu eden arkadaşlara robot ses düzeni ile hazırlanmış ses dosyalarını gönderebilirim...
'Module1 in kodları ----------------------------


Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Public alarm As Boolean
Public saatbasi As Boolean
Public alarmsaati As String
Public alarmdakikasi As String


'Ses dosyaları
'Programın bulunduğu dizinin altında "Sesler"
'adında bir dizin olmalı
'Sesler dizininin altındaki dosyalar :


'Dosya adı :     İçeriği :
'----------      --------

'00.wav   ---   "SIFIR"
'10.wav   ---   "ON"
'20.wav   ---   "YİRMİ"
'30.wav   ---   "OTUZ"
'40.wav   ---   "KIRK"
'50.wav   ---   "ELLİ"
'Alarm.wav  -   Alarm zil sesi
'Bosluk.wav -   Çok kısa bir boşluk
'Saat.wav   -   "SAAT"
'saat01.wav -   "BİR"
'saat02.wav -   "İKİ"
'saat03.wav -   "ÜÇ"
'saat04.wav -   "DÖRT"
'saat05.wav -   "BEŞ"
'saat06.wav -   "ALTI"
'saat07.wav -   "YEDİ"
'saat08.wav -   "SEKİZ"
'saat09.wav -   "DOKUZ"
'saat10.wav -   "ON"
'saat11.wav -   "ONBİR"
'saat12.wav -   "ONİKİ"


'-----------------------------------------------





'Form1 : Ana form

'Form1 in nesneleri:
 
  'Label1 : Saatin yazılacağı etiket
 
  'Label2 : am. pm. yazacak olan etiket
 
  'MMControl1 : Ses dosyalarını çalmak için
    'Microsoft multimedia control
      'MCI32.OCX dosyası
 
  'Timer1 :
    'Enabled = True
    'Interval = 500
 
  'Timer2 :
    'Enabled = False
    'Interval = 10
 
  'Timer3 :
    'Enabled = False
    'Interval = 1000
   
'Form1 in kodları ------------------------------


Dim yol(3) As String
Dim arttır As Byte
Dim yer As String
Dim alarmsesi As String
Dim bosluk As String
Dim alarmçaldı As Boolean
Dim alarm1 As Boolean
Dim alarmsusturuldu As Boolean
Dim saatisoyledi As Boolean
Dim kayıt As String


Private Sub Form_Load()
yer = App.Path + "\sesler\"
alarmsesi = yer + "Alarm.wav"
bosluk = yer + "Bosluk.wav"

SetWindowPos hwnd, -1, 0, 0, 0, 0, &H1 Or &H2
If GetSetting("Konuşansaat", "Ayarlar", "Devrede") = "1" Then alarm = "1" Else alarm = "0"
If GetSetting("Konuşansaat", "Ayarlar", "Hsb") = "1" Then saatbasi = "1" Else saatbasi = "0"
alarmsaati = GetSetting("Konuşansaat", "Ayarlar", "Saat")
alarmdakikasi = GetSetting("Konuşansaat", "Ayarlar", "Dakika")
alarm1 = "1"
alarmsusturuldu = "0"
saatisoyledi = "0"
End Sub

Private Sub Form_Unload(Cancel As Integer)
End
End Sub

Private Sub Label1_DblClick()
saatioku
End Sub

Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 Then
Call form2.PopupMenu(form2.Saat)
End If
End Sub

Private Sub Timer1_Timer()
Dim fark As Integer

If Val(Left(Time, 2)) > 12 Then
fark = Val(Left(Time, 2)) - 12
Label2 = "pm."
If fark < 10 Then
 Label1 = "0" + Right(Str(fark), 1) + Right(Time, 6)
Else
 Label1 = Right(Str(fark), 2) + Right(Time, 6)
End If
Else
If Left(Time, 2) = "00" Then Label1 = "12" + Right(Time, 6) Else Label1 = Time
Label2 = "am."
End If
If alarm = "1" And alarm1 = "1" Then alarmkontrol
If saatbasi = "1" Then saatbasikontrol
End Sub

Private Sub Timer2_Timer()
If MMControl1.Mode = 526 Then Exit Sub
arttır = arttır + 1
If arttır = 4 Then Timer2.Enabled = "0": MMControl1.Command = "close": Exit Sub
MMControl1.Command = "close"
MMControl1.FileName = yol(arttır)
MMControl1.Command = "open"
MMControl1.Command = "play"

End Sub

Public Sub saatioku()
If alarm1 = "0" And alarmsusturuldu = "0" Then
MMControl1.Command = "stop"
MMControl1.Command = "close"
alarmsusturuldu = "1"
Exit Sub
End If
If MMControl1.Mode = 526 Then Exit Sub

yol(0) = yer + "saat.wav"
yol(1) = yer + "saat" & Left(Label1, 2) & ".wav"
yol(2) = yer + Mid(Label1, 4, 1) & "0.wav"
If Mid(Label1, 4, 2) = "00" Then yol(2) = bosluk
yol(3) = yer + "saat0" & Mid(Label1, 5, 1) & ".wav"
arttır = 0
MMControl1.Command = "close"
MMControl1.FileName = yol(0)
MMControl1.Command = "open"
MMControl1.Command = "play"

Timer2.Enabled = "1"
End Sub

Public Sub alarmkontrol()
If Left(Label1, 2) = alarmsaati And Mid(Label1, 4, 2) = alarmdakikasi Then
If MMControl1.Mode = 526 Or alarm1 = "0" Then Exit Sub
MMControl1.Command = "close"
MMControl1.FileName = alarmsesi
MMControl1.Command = "open"
MMControl1.Command = "play"
alarm1 = "0"
saatbasi = "0"
kayıt = Left(Time, 5)
Timer3.Enabled = "1"
End If
End Sub

Private Sub Timer3_Timer()
If kayıt <> Left(Time, 5) Then
alarm1 = "1"
alarmsusturuldu = "0"
If GetSetting("Konuşansaat", "Ayarlar", "Hsb") = "1" Then saatbasi = "1" Else saatbasi = "0"
Timer3.Enabled = "0"
End If
End Sub

Public Sub saatbasikontrol()
If Mid(Label1, 4, 2) = "00" And saatisoyledi = "0" Then
saatioku
saatisoyledi = "1"
End If
If Mid(Label1, 4, 2) <> "00" Then saatisoyledi = "0"
End Sub

'-----------------------------------------------





'Form2 : Sağ tık menüsü

'For2 nin nesneleri:

 'Menü
  'Caption = Saat
  'Name = Saat
   'Alt menü :
    '1 : Caption = Ayarlar
       ' Name = ayarlar
    '2 : Caption = Konuş
       ' Name = konus
    '3 : Caption = Çıkış
       ' Name = cıkıs

'Form2 nin kodları -----------------------------


Private Sub ayarlar_Click()
Form3.Show
End Sub

Private Sub konus_Click()
Form1.saatioku
End Sub

Private Sub cıkıs_Click()
End
End Sub

'-----------------------------------------------





'Form3 : Alarm ayarlarının yapıldığı form

'Form3 ün nesneleri :

 'Command1(0) : Tamam
 'Command1(1) : İptal
 'Command1(2) : Uygula
 
 'Command2(0) : Alarm saatini 1 arttırmak için
  'Caption = +1
 
 'Command2(1) : Alarm saatini 1 eksiltmek için
  'Caption = -1

 'Command3(0) : Alarm dakikasını 10 arttırmak için
  'Caption = +10
 
 'Command3(1) : Alarm dakikasını 10 eksiltmek için
  'Caption = -10

 'Command3(2) : Alarm dakikasını 1 arttırmak için
  'Caption = +1
 
 'Command3(3) : Alarm dakikasını 1 eksiltmek için
  'Caption = -1
 
 'Label1(0) : Sadece Yazı
  'Caption = Saat
 'Label1(1) : Sadece Yazı
  'Caption = Dakika

 'Label2 : Alarm saatinin yazılacağı etiket
 'Label3 : Alarm dakikasının yazılacağı etiket
 'Option1 : am.
 'Option2 : pm.
 'Check1 : Alarm devrede
 'Check2 : Her saat başı otomatik konuş
 
'Form3 ün kodları ------------------------------
   

Dim Saat As Integer
Dim dakika As Integer

Private Sub Command1_Click(Index As Integer)
If Index = 0 Then uygula: Unload Me
If Index = 1 Then Unload Me
If Index = 2 Then uygula
End Sub

Private Sub Command2_Click(Index As Integer)
Select Case Index

Case 0
 Saat = Saat + 1
 If Saat > 12 Then Saat = 12
 
 If Saat < 10 Then
  Label2 = "0" + Right(Str(Saat), 1)
 Else
  Label2 = Right(Str(Saat), 2)
 End If

Case 1
 Saat = Saat - 1
 If Saat < 1 Then Saat = 1
 
 If Saat < 10 Then
  Label2 = "0" + Right(Str(Saat), 1)
 Else
  Label2 = Right(Str(Saat), 2)
 End If

End Select

End Sub

Private Sub Command3_Click(Index As Integer)
Select Case Index

Case 0
dakika = dakika + 10
If dakika > 59 Then dakika = 59

If dakika < 10 Then
 Label3 = "0" + Right(Str(dakika), 1)
Else
 Label3 = Right(Str(dakika), 2)
End If

Case 1
dakika = dakika - 10
If dakika < 0 Then dakika = 0

If dakika < 10 Then
 Label3 = "0" + Right(Str(dakika), 1)
Else
 Label3 = Right(Str(dakika), 2)
End If

Case 2
dakika = dakika + 1
If dakika > 59 Then dakika = 59

If dakika < 10 Then
 Label3 = "0" + Right(Str(dakika), 1)
Else
 Label3 = Right(Str(dakika), 2)
End If
 
Case 3
dakika = dakika - 1
If dakika < 0 Then dakika = 0

If dakika < 10 Then
 Label3 = "0" + Right(Str(dakika), 1)
Else
 Label3 = Right(Str(dakika), 2)
End If
 
End Select
 
End Sub

Private Sub Form_Load()
On Error Resume Next
If GetSetting("Konuşansaat", "Ayarlar", "am-pm") = "0" Then Option1.Value = "1": Option2.Value = "0" Else Option1.Value = "0": Option2.Value = "1"
If GetSetting("Konuşansaat", "Ayarlar", "Devrede") = "1" Then Check1.Value = 1 Else Check1.Value = 0
If GetSetting("Konuşansaat", "Ayarlar", "Hsb") = "1" Then Check2.Value = 1 Else Check2.Value = 0
Label2.Caption = GetSetting("Konuşansaat", "Ayarlar", "Saat")
Label3.Caption = GetSetting("Konuşansaat", "Ayarlar", "Dakika")
Saat = Val(GetSetting("Konuşansaat", "Ayarlar", "Saat"))
dakika = Val(GetSetting("Konuşansaat", "Ayarlar", "Dakika"))

End Sub

Public Sub uygula()
If Option1.Value = "1" Then SaveSetting "Konuşansaat", "Ayarlar", "am-pm", "0" Else SaveSetting "Konuşansaat", "Ayarlar", "am-pm", "1"

If Check1.Value = 1 Then
SaveSetting "Konuşansaat", "Ayarlar", "Devrede", "1"
alarm = "1"
alarmsaati = Label2.Caption
alarmdakikasi = Label3.Caption
Else
SaveSetting "Konuşansaat", "Ayarlar", "Devrede", "0"
alarm = "0"
End If

If Check2.Value = 1 Then SaveSetting "Konuşansaat", "Ayarlar", "Hsb", "1": saatbasi = "1" Else SaveSetting "Konuşansaat", "Ayarlar", "Hsb", "0":: saatbasi = "0"

SaveSetting "Konuşansaat", "Ayarlar", "Saat", Label2.Caption
SaveSetting "Konuşansaat", "Ayarlar", "Dakika", Label3.Caption

End Sub

f1varol

arkadaşım projenin gidişatı ve sonuçlarını bizimle de paylaşırsan seviniriz...

MURSEL

apr9600 iel sadece saat bilgisini vericek olursak



saat
0
1
2
3
4
5
6
7
8
9
10
20
30
40
50

seslerini kaydetsenin yeterli toplam 16 farklı ses var buda  2 tane apr9600 kontrol etmek demek   yazılımı iyi bir şekil yazdıgında projen sonuç verir   ama  refik arkaşımızın dedigi ısd serisi entegrelerde "ısd2590 "sesi farklı adreslere kaydederek tek bir ses kaydedici entegresinde olayı cözebilirsin  cep telefonda ve digerlerinde de saat bilgisinin yukarıda şekilde verildigini düşünüyorum her bir  dakika için bir ses kayıd edilirse :)  iyi çalışmalar