jass
Üye
- Katılım
- 2 Kas 2012
- Mesajlar
- 21
- Puanları
- 1
Elimde bir photoelectric sensor ile 6 keypad li lcd var.Arduino ile çalışmaya yeni başladım sayılır ve bu çalışmada dışarıdan girdiğim değere kadar ürün saydırmak istiyorum. dışarıdan bir değer giriyorum: mesela 20. daha sonra sensör reflektörü her gördüğünde 10 sayması lazım ve toplamı ekranda göstererk işlem tamamlandı demesi lazım. Fakat değeri girdikten sonra işlem başladı demesine rağmen ben reflektörü istediğim sayıda saydırsam bile çok uzun zaman sonra işlem tamamlandı diyor ve sensörün enerjisini kestiğimde ekranda çok alakasız bir toplam gösteriyor.
yardımcı olacak bir arkadaşım varsa eğer mail olarak videoları vs atabilirim.Gerçekten yardıma ihtiyacım var...
yazdığım program aşağıda :
#include <LiquidCrystal.h>
#include "Wire.h"
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // adjust this to suit your pins.
int sayac=10;
int sayi=0;
volatile int sayac2=0;
void setup() {
// set up the LCD's number of rows and columns:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("MOSTEM KONVEYOR");
lcd.setCursor(1, 1);
lcd.print("KONUM TAKIBI");
delay(3000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("ILERLEME MIKTARI:");
attachInterrupt(0, swap, CHANGE);
}
void loop() {
kontrol:
if(sayac2==sayac)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Islem tamamlandi");
}
else if(sayac2=!sayac)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(sayac2);
delay(2000);
}
if(analogRead(sayi)>300 && analogRead(sayi)<320)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("ILERLEME MIKTARI:");
lcd.setCursor(1, 1);
sayac=sayac-10;
lcd.print(sayac);
delay(500);
}
if(analogRead(sayi)>129 && analogRead(sayi)<140)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("ILERLEME MIKTARI:");
lcd.setCursor(1, 1);
sayac=sayac+10;
lcd.print(sayac);
delay(500);
}
if(analogRead(sayi)>450 && analogRead(sayi)<512)
{
lcd.clear();
lcd.print("Deger Kaydedildi");
delay(2000);
lcd.clear();
lcd.print("Kontrol basliyor");
delay(1000);
lcd.clear();
lcd.print("Islem basladi");
delay(2000);
}
else
{
goto kontrol;
}
}
void swap()
{
sayac2=sayac2+10;
}
yardımcı olacak bir arkadaşım varsa eğer mail olarak videoları vs atabilirim.Gerçekten yardıma ihtiyacım var...
yazdığım program aşağıda :
#include <LiquidCrystal.h>
#include "Wire.h"
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // adjust this to suit your pins.
int sayac=10;
int sayi=0;
volatile int sayac2=0;
void setup() {
// set up the LCD's number of rows and columns:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("MOSTEM KONVEYOR");
lcd.setCursor(1, 1);
lcd.print("KONUM TAKIBI");
delay(3000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("ILERLEME MIKTARI:");
attachInterrupt(0, swap, CHANGE);
}
void loop() {
kontrol:
if(sayac2==sayac)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Islem tamamlandi");
}
else if(sayac2=!sayac)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(sayac2);
delay(2000);
}
if(analogRead(sayi)>300 && analogRead(sayi)<320)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("ILERLEME MIKTARI:");
lcd.setCursor(1, 1);
sayac=sayac-10;
lcd.print(sayac);
delay(500);
}
if(analogRead(sayi)>129 && analogRead(sayi)<140)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("ILERLEME MIKTARI:");
lcd.setCursor(1, 1);
sayac=sayac+10;
lcd.print(sayac);
delay(500);
}
if(analogRead(sayi)>450 && analogRead(sayi)<512)
{
lcd.clear();
lcd.print("Deger Kaydedildi");
delay(2000);
lcd.clear();
lcd.print("Kontrol basliyor");
delay(1000);
lcd.clear();
lcd.print("Islem basladi");
delay(2000);
}
else
{
goto kontrol;
}
}
void swap()
{
sayac2=sayac2+10;
}