Arduino "... was not declared in this scope"

Lenovo06

Decapat
Katılım
16 Şubat 2022
Mesajlar
16
Daha fazla  
Cinsiyet
Erkek
Merhaba, ben nabız ölçer projesi yapıyorum. Elimde kodlarım var fakat yüklenirken bir sorun oluşuyor. Bir türlü anlayamadım. Aşağıda hata mesajını yazdım:

Kod:
Arduino: 1.8.19 (Windows 10), Kart: "Arduino Uno"



C:\Users\ADMİN\Desktop\Yeni klasör (2)\arduino-1.8.19\PROJE\PROJE.ino:13:28: warning: extra tokens at end of #include directive



C:\Users\ADMİN\Desktop\Yeni klasör (2)\arduino-1.8.19\PROJE\PROJE.ino: In function 'void setup()':



PROJE:34:7: error: 'display' was not declared in this scope



C:\Users\ADMİN\Desktop\Yeni klasör (2)\arduino-1.8.19\PROJE\PROJE.ino:34:7: note: suggested alternative: 'delay'



PROJE:34:21: error: 'LCD1602_SWITCHCAPVCC' was not declared in this scope



PROJE:40:3: error: 'display' was not declared in this scope



C:\Users\ADMİN\Desktop\Yeni klasör (2)\arduino-1.8.19\PROJE\PROJE.ino:40:3: note: suggested alternative: 'delay'



PROJE:40:29: error: 'WHITE' was not declared in this scope



C:\Users\ADMİN\Desktop\Yeni klasör (2)\arduino-1.8.19\PROJE\PROJE.ino:40:29: note: suggested alternative: 'WDIE'



C:\Users\ADMİN\Desktop\Yeni klasör (2)\arduino-1.8.19\PROJE\PROJE.ino: In function 'void loop()':



PROJE:68:5: error: 'display' was not declared in this scope



C:\Users\ADMİN\Desktop\Yeni klasör (2)\arduino-1.8.19\PROJE\PROJE.ino:68:5: note: suggested alternative: 'delay'



PROJE:70:26: error: 'WHITE' was not declared in this scope



C:\Users\ADMİN\Desktop\Yeni klasör (2)\arduino-1.8.19\PROJE\PROJE.ino:70:26: note: suggested alternative: 'WDIE'



exit status 1



'display' was not declared in this scope







This report would have more information with

"Show verbose output during compilation"

option enabled in File -> Preferences.
 
Kodu da paylaşırsanız daha kolay yardımcı oluruz. display değişkeninin setup ya da loop öncesi tanımlanmamış olduğunu söylüyor size kodunuz
 
Kodu da paylaşırsanız daha kolay yardımcı oluruz. display değişkeninin setup ya da loop öncesi tanımlanmamış olduğunu söylüyor size kodunuz
Kodumu aşağıda belirtiyorum kusura bakmayın;



#define USE_ARDUINO_INTERRUPTS true // Pulse kütüphanesinin daha doğru ölçüm yapabilmesi için bu ayarı etkinleştiriyoruz
#include <PulseSensorPlayground.h> //Yazının başında bilgisayarımıza kurmuş olduğumuz Pulse Playground kütüphanesini ekliyoruz.
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <LiquidCrystal.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET 4 // Reset pin # (or -1 if sharing Arduino reset pin)
#include <LiquidCrystal.h> display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);


int nabiz; //İçinde dakikadaki nabzı tutacağımız değişkeni oluşturuyoruz.

const int PulseWire = 0; // Pulse sensörümüzü bağlamış olduğumuz Analog pinini belirliyoruz.
const int LED13 = 13; // Arduino üzerindeki ledin nabzımızla birlikte yanıp sönmesi için bu değişkeni 13 numaralı pin olarak ayarlıyoruz.
int Threshold = 1; // Yazının başında belirlemiş olduğumuz eşik değerini bu değişkene atıyoruz.

PulseSensorPlayground pulseSensor; //Sensörümüzü kodumuzda kullanabilmek için onu obje olarak oluşturuyoruz.

void setup()
{
Serial.begin(9600); //Bilgisayrımızla olan seri iletişimi başlatıyoruz.

pulseSensor.analogInput(PulseWire); //Pulse sensörünün bağlıu olduğu pini belirliyoruz.
pulseSensor.blinkOnPulse(LED13); //arduino üzerindeki ledin nabzımızla yanıp sönmesini istediğimizi söylüyoruz.
pulseSensor.setThreshold(Threshold); //Değişkene atamış olduğumuz eşik değerini uyguluyoruz.
// put your setup code here, to run once:

// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
if(!display.begin(LCD1602_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64
Serial.println(F("SSD1306 allocation failed"));
for(;;); // Don't proceed, loop forever
}

// Draw a single pixel in white
display.drawPixel(10, 10, WHITE);

display.display();
delay(2000);

display.clearDisplay();

display.setTextSize(2); // Draw 2X-scale text
display.setTextColor(WHITE);
display.setCursor(17, 0);
display.println(F("Nabziniz"));
display.display(); // Show initial text
delay(100);


if (pulseSensor.begin()) {
Serial.println("Pulse sensörü objesini yarattık.");
} //Pulse sensörü başarıyla başlatılırsa bilgisayara mesaj gönderioyoruz.

}

void loop() {


// put your main code here, to run repeatedly:
if (pulseSensor.sawStartOfBeat()) { //Eğer nabız algılarsak
nabiz = pulseSensor.getBeatsPerMinute();

display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(17, 0);
display.println(F("Nabziniz"));
display.setCursor(50, 30);
display.println(nabiz);
display.display();
delay(100);

Serial.println("Nabız attı. ");
Serial.print("BPM: ");
Serial.println(nabiz); //Dakikdaki nabız değerini aynı zamanda bilgisayarımıza da gönderiyoruz.
}


delay(20); //20 milisaniye bekletiyoruyuz.

}
 
Kodu böyle okumak çok zor. Kod olarak paylaşın lütfen. Ve kodda displayi nerede tanımladığınızı hala göremedim. Displayi tanımlamadan kullanmaya çalışıyorsunuz gibi gözüküyor
 
1654589181093.png

Buradan seçerek atabilirsiniz
 
Java:
#define USE_ARDUINO_INTERRUPTS true    // Pulse kütüphanesinin daha doğru ölçüm yapabilmesi için bu ayarı etkinleştiriyoruz
#include <PulseSensorPlayground.h> //Yazının başında bilgisayarımıza kurmuş olduğumuz Pulse Playground kütüphanesini ekliyoruz.
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <LiquidCrystal.h>


#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET     4 // Reset pin # (or -1 if sharing Arduino reset pin)
#include <LiquidCrystal.h> display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);


int nabiz; //İçinde dakikadaki nabzı tutacağımız değişkeni oluşturuyoruz.

const int PulseWire = 0; // Pulse sensörümüzü bağlamış olduğumuz Analog pinini belirliyoruz.
const int LED13 = 13; // Arduino üzerindeki ledin nabzımızla birlikte yanıp sönmesi için bu değişkeni 13 numaralı pin olarak ayarlıyoruz.
int Threshold = 1; // Yazının başında belirlemiş olduğumuz eşik değerini bu değişkene atıyoruz.

PulseSensorPlayground pulseSensor; //Sensörümüzü kodumuzda kullanabilmek için onu obje olarak oluşturuyoruz.

void setup()
  {
  Serial.begin(9600);  //Bilgisayrımızla olan seri iletişimi başlatıyoruz.
 
  pulseSensor.analogInput(PulseWire); //Pulse sensörünün bağlıu olduğu pini belirliyoruz.
  pulseSensor.blinkOnPulse(LED13);       //arduino üzerindeki ledin nabzımızla yanıp sönmesini istediğimizi söylüyoruz.
  pulseSensor.setThreshold(Threshold); //Değişkene atamış olduğumuz eşik değerini uyguluyoruz.
  // put your setup code here, to run once:

  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
  if(!display.begin(LCD1602_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // Don't proceed, loop forever
  }

  // Draw a single pixel in white
  display.drawPixel(10, 10, WHITE);

  display.display();
  delay(2000);

  display.clearDisplay();
 
  display.setTextSize(2); // Draw 2X-scale text
  display.setTextColor(WHITE);
  display.setCursor(17, 0);
  display.println(F("Nabziniz"));
  display.display();      // Show initial text
  delay(100);
 
 
  if (pulseSensor.begin()) {
    Serial.println("Pulse sensörü objesini yarattık.");
  } //Pulse sensörü başarıyla başlatılırsa bilgisayara mesaj gönderioyoruz.

}

void loop() {

 
  // put your main code here, to run repeatedly:
  if (pulseSensor.sawStartOfBeat()) { //Eğer nabız algılarsak
    nabiz = pulseSensor.getBeatsPerMinute();
    
    display.clearDisplay();
    display.setTextSize(2);
    display.setTextColor(WHITE);
    display.setCursor(17, 0);
    display.println(F("Nabziniz"));
    display.setCursor(50, 30);
    display.println(nabiz);
    display.display();
    delay(100);

    Serial.println("Nabız attı. ");
    Serial.print("BPM: ");                       
    Serial.println(nabiz); //Dakikdaki nabız değerini aynı zamanda bilgisayarımıza da gönderiyoruz.
  }


  delay(20); //20 milisaniye bekletiyoruyuz.

}
Java:
#define USE_ARDUINO_INTERRUPTS true    // Pulse kütüphanesinin daha doğru ölçüm yapabilmesi için bu ayarı etkinleştiriyoruz
#include <PulseSensorPlayground.h> //Yazının başında bilgisayarımıza kurmuş olduğumuz Pulse Playground kütüphanesini ekliyoruz.
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <LiquidCrystal.h>


#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET     4 // Reset pin # (or -1 if sharing Arduino reset pin)
#include <LiquidCrystal.h> display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);


int nabiz; //İçinde dakikadaki nabzı tutacağımız değişkeni oluşturuyoruz.

const int PulseWire = 0; // Pulse sensörümüzü bağlamış olduğumuz Analog pinini belirliyoruz.
const int LED13 = 13; // Arduino üzerindeki ledin nabzımızla birlikte yanıp sönmesi için bu değişkeni 13 numaralı pin olarak ayarlıyoruz.
int Threshold = 1; // Yazının başında belirlemiş olduğumuz eşik değerini bu değişkene atıyoruz.

PulseSensorPlayground pulseSensor; //Sensörümüzü kodumuzda kullanabilmek için onu obje olarak oluşturuyoruz.

void setup()
  {
  Serial.begin(9600);  //Bilgisayrımızla olan seri iletişimi başlatıyoruz.
 
  pulseSensor.analogInput(PulseWire); //Pulse sensörünün bağlıu olduğu pini belirliyoruz.
  pulseSensor.blinkOnPulse(LED13);       //arduino üzerindeki ledin nabzımızla yanıp sönmesini istediğimizi söylüyoruz.
  pulseSensor.setThreshold(Threshold); //Değişkene atamış olduğumuz eşik değerini uyguluyoruz.
  // put your setup code here, to run once:

  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
  if(!display.begin(LCD1602_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // Don't proceed, loop forever
  }

  // Draw a single pixel in white
  display.drawPixel(10, 10, WHITE);

  display.display();
  delay(2000);

  display.clearDisplay();
 
  display.setTextSize(2); // Draw 2X-scale text
  display.setTextColor(WHITE);
  display.setCursor(17, 0);
  display.println(F("Nabziniz"));
  display.display();      // Show initial text
  delay(100);
 
 
  if (pulseSensor.begin()) {
    Serial.println("Pulse sensörü objesini yarattık.");
  } //Pulse sensörü başarıyla başlatılırsa bilgisayara mesaj gönderioyoruz.

}

void loop() {

 
  // put your main code here, to run repeatedly:
  if (pulseSensor.sawStartOfBeat()) { //Eğer nabız algılarsak
    nabiz = pulseSensor.getBeatsPerMinute();
    
    display.clearDisplay();
    display.setTextSize(2);
    display.setTextColor(WHITE);
    display.setCursor(17, 0);
    display.println(F("Nabziniz"));
    display.setCursor(50, 30);
    display.println(nabiz);
    display.display();
    delay(100);

    Serial.println("Nabız attı. ");
    Serial.print("BPM: ");                       
    Serial.println(nabiz); //Dakikdaki nabız değerini aynı zamanda bilgisayarımıza da gönderiyoruz.
  }


  delay(20); //20 milisaniye bekletiyoruyuz.

}
 

Yeni konular

Geri
Yukarı