Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Komutlar:
- Kontrol = grup değiştirir.Ilk kez dediğinde şunlar yüklenir(--- içindekiler)
- ---
- Birinci Satır
- İkinci Satır
- Sil
- Sıfırla
- Arkaplan Işığı
- Işığı Kapat
- ---
- A
- B
- C
- Ç
- D
- E
- ÖNEMLİ NOT: VoiceRecognitionV3 kütüphanesini Github üzerinden indirdikten sonra ses kayıt&tanımlama olayını kütüphane içindeki examples lardan train olanı ile yapılmaktadır.
- -Eşref Bektaş-
- -fb.com/b.esreff-
- */
- #include <SoftwareSerial.h>
- #include "VoiceRecognitionV3.h"
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- //adres,en,rw,rs,d4,d5,d6,d7,bl,blpol
- LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
- VR myVR(2,3); // 2:RX 3:TX olacak şekilde
- uint8_t record[7]; // kayıtları kaydeder
- uint8_t buf[64];
- byte noktalic[8] = {
- 0b01110,
- 0b10001,
- 0b10000,
- 0b10000,
- 0b10000,
- 0b10001,
- 0b01110,
- 0b00100
- };
- int led = 13;
- int grup = 0;
- #define fonksiyona (32) // İlk grup A'an
- #define fonksiyonb (1)
- #define fonksiyonc (2)
- #define fonksiyonnoktalic (3)
- #define fonksiyond (4)
- #define fonksiyone (5) // Buraya kadar
- #define fonksiyonf (6)
- #define fonksiyong (7)
- #define fonksiyonyumusakg (8)
- #define fonksiyonh (9)
- #define fonksiyonnoktasizi (10)
- #define fonksiyoni (11)
- #define fonksiyonj (12)
- #define fonksiyonk (13)
- #define fonksiyonl (14)
- #define fonksiyonm (15)
- #define fonksiyonn (16)
- #define fonksiyono (17)
- #define fonksiyonnoktalio (18)
- #define fonksiyonp (19)
- #define fonksiyonr (20)
- #define fonksiyons (21)
- #define fonksiyonnoktalis (22)
- #define fonksiyont (23)
- #define fonksiyonu (24)
- #define fonksiyonnoktaliu (25)
- #define fonksiyonv (26)
- #define fonksiyony (27)
- #define fonksiyonz (28)
- #define fonksiyonsil (29)
- #define fonksiyonbirincisatir (30)
- #define fonksiyonikincisatir (31)
- #define kontroller (33)
- #define fonksiyonarkaplanisiginiac (34)
- #define fonksiyonarkaplanisiginikapat (35)
- #define fonksiyonsifirla (36)
- void printSignature(uint8_t *buf, int len)
- {
- int i;
- for(i=0; i<len; i++){
- if(buf[i]>0x19 && buf[i]<0x7F){
- Serial.write(buf[i]);
- }
- else{
- Serial.print("[");
- Serial.print(buf[i], HEX);
- Serial.print("]");
- }
- }
- }
- void printVR(uint8_t *buf)
- {
- Serial.println("VR Index\tGroup\tRecordNum\tSignature");
- Serial.print(buf[2], DEC);
- Serial.print("\t\t");
- if(buf[0] == 0xFF){
- Serial.print("NONE");
- }
- else if(buf[0]&0x80){
- Serial.print("UG ");
- Serial.print(buf[0]&(~0x80), DEC);
- }
- else{
- Serial.print("SG ");
- Serial.print(buf[0], DEC);
- }
- Serial.print("\t");
- Serial.print(buf[1], DEC);
- Serial.print("\t\t");
- if(buf[3]>0){
- printSignature(buf+4, buf[3]);
- }
- else{
- Serial.print("NONE");
- }
- Serial.println("\r\n");
- }
- void setup()
- {
- /** initialize */
- myVR.begin(9600);
- lcd.begin(16,2);
- lcd.createChar(1,noktalic);
- lcd.backlight();
- lcd.setCursor(0,0);
- lcd.print("Konusabilirsin");
- lcd.setCursor(0,1);
- Serial.begin(115200); // Com seri bandını 115200 seç,Diğer özelliği New Line seç
- Serial.println("Elechouse Voice Recognition V3 Module\r\nControl LED sample");
- pinMode(led, OUTPUT);
- if(myVR.clear() == 0){
- Serial.println("Recognizer cleared.");
- }else{
- Serial.println("Ses Tanima Modulu Bulunamadi");
- Serial.println("Baglantini Kontrol Et");
- while(1);
- }
- record[0] = kontroller;
- record[1] = fonksiyona;
- record[2] = fonksiyonb;
- record[3] = fonksiyonc;
- record[4] = fonksiyonnoktalic;
- record[5] = fonksiyond;
- record[6] = fonksiyone;
- grup = 0;
- if(myVR.load(record, 7) >= 0){
- printRecord(record, 7);
- Serial.println(F("yuklendi."));
- }
- }
- void loop()
- {
- int ret;
- ret = myVR.recognize(buf, 50);
- if(ret>0){
- switch(buf[1]){
- case kontroller:
- if(grup == 0)
- {
- grup = 1;
- myVR.clear();
- record[0] = kontroller;
- record[1] = fonksiyonbirincisatir;
- record[2] = fonksiyonikincisatir;
- record[3] = fonksiyonsil;
- record[4] = fonksiyonarkaplanisiginiac;
- record[5] = fonksiyonarkaplanisiginikapat;
- record[6] = fonksiyonsifirla;
- if(myVR.load(record, 7) >= 0){
- printRecord(record, 7);
- Serial.println(F("yuklendi."));
- }
- }else{
- grup = 0;
- myVR.clear();
- record[0] = kontroller;
- record[1] = fonksiyona;
- record[2] = fonksiyonb;
- record[3] = fonksiyonc;
- record[4] = fonksiyonnoktalic;
- record[5] = fonksiyond;
- record[6] = fonksiyone;
- if(myVR.load(record, 7) >= 0){
- printRecord(record, 7);
- Serial.println(F("yuklendi."));
- }
- }
- break;
- case fonksiyona: // Acil fonksiyonu icin olusacak seyler
- lcd.print("A");
- break;
- case fonksiyonb:
- lcd.print("B");
- break;
- case fonksiyonc:
- lcd.print("C");
- break;
- case fonksiyonnoktalic:
- lcd.write((uint8_t)1);
- break;
- case fonksiyond:
- lcd.print("D");
- break;
- case fonksiyone:
- lcd.print("E");
- break;
- case fonksiyonf:
- lcd.print("F");
- break;
- case fonksiyong:
- lcd.print("G");
- break;
- case fonksiyonyumusakg:
- Serial.println("Yumusak G");
- lcd.setCursor(0,1);
- lcd.print("-");
- break;
- case fonksiyonh:
- lcd.print("H");
- break;
- case fonksiyonnoktasizi:
- lcd.print("I");
- break;
- case fonksiyoni:
- lcd.print("-");
- break;
- case fonksiyonj:
- lcd.print("J");
- break;
- case fonksiyonk:
- lcd.print("K");
- break;
- case fonksiyonl:
- lcd.print("L");
- break;
- case fonksiyonm:
- lcd.print("M");
- break;
- case fonksiyonn:
- lcd.print("N");
- break;
- case fonksiyono:
- lcd.print("O");
- break;
- case fonksiyonnoktalio:
- lcd.print("-");
- break;
- case fonksiyonp:
- lcd.print("P");
- break;
- case fonksiyonr:
- lcd.print("R");
- break;
- case fonksiyons:
- lcd.print("S");
- break;
- case fonksiyonnoktalis:
- lcd.print("-");
- break;
- case fonksiyont:
- lcd.print("T");
- break;
- case fonksiyonu:
- lcd.print("U");
- break;
- case fonksiyonnoktaliu:
- lcd.print("-");
- break;
- case fonksiyonv:
- lcd.print("V");
- break;
- case fonksiyony:
- lcd.print("Y");
- break;
- case fonksiyonz:
- lcd.print("Z");
- break;
- case fonksiyonsil:
- lcd.clear();
- break;
- case fonksiyonbirincisatir:
- lcd.setCursor(0,0);
- break;
- case fonksiyonikincisatir:
- lcd.setCursor(0,1);
- break;
- case fonksiyonarkaplanisiginiac:
- lcd.backlight();
- break;
- case fonksiyonarkaplanisiginikapat:
- lcd.noBacklight();
- break;
- case fonksiyonsifirla:
- lcd.clear();
- lcd.backlight();
- lcd.setCursor(0,0);
- lcd.print("Konusabilirsin");
- lcd.setCursor(0,1);
- break;
- default:
- Serial.println("Boyle Bir Fonksiyon Belirlenmedi");
- break;
- }
- printVR(buf);
- }
- }
- void printRecord(uint8_t *buf, uint8_t len)
- {
- Serial.print(F("Kayit: "));
- for(int i=0; i<len; i++){
- Serial.print(buf[i], DEC);
- Serial.print(", ");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement