سلسلة مشاريع الأردوينو للمبتدئين ( المشروع عـــ21ـــدد ) : نظام عد يدوي و اتوماتيكي يمكن ظبط عدد القطع بكل باكج باستعمال حساس IR
https://salembenmoussa.blogspot.com/2020/06/21-ir.html
المطلوب :
1- ظبط عدد القطع بكل باكج
2- عد يدوي او اتوماتكي
3- تحسس وجود القطعة باستعمال حساس IR
القطع المطلوبة
1- اردوينو اونوا
2- شاشة عرض LCD 16*2
3- كي باد
4- سلكتر
5- محرك سرفوا
المخطط على البروتس
فيدوا شرح
الكود
#include *LiquidCrystal.h*
int i=0,j=0,i1=0,i2=0,i3=0,i4=0;
char a; char b; char c; char d;
char e; char f; char g; char h;
#include
#include *LiquidCrystal_I2C.h*
LiquidCrystal_I2C lcd(32,16,2); // set the LCD address to 0x20 for a 16 chars and 2 line display
#include *Keypad.h*
#include *Servo.h*
Servo myservo;
const byte ROWS = 4; // Four rows
const byte COLS = 3; // columns
// Define the Keymap
char keys[ROWS][COLS] = {
{'1','2','3' },
{'4','5','6' },
{'7','8','9' },
{'*','0','#' }
};
byte rowPins[ROWS] = { 3,2,1,0 };// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins.
byte colPins[COLS] = { 4,5,6 };// Connect keypad COL0, COL1 and COL2 to these Arduino pins.
// Create the Keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup() {
myservo.attach(9);
lcd.begin(16,2);
pinMode(9,OUTPUT);
pinMode(7,INPUT);
pinMode(8,INPUT_PULLUP);
pinMode(13,INPUT_PULLUP);
pinMode(12,INPUT_PULLUP);
pinMode(11,INPUT_PULLUP);
lcd.setCursor(0,0);
lcd.println("set_NB_P");
lcd.cursor();
e=keypad.getKey();
while (e == NO_KEY)e=keypad.getKey();
lcd.setCursor(0,1);
lcd.println(e);
delay(100);
lcd.setCursor(0,1);
f=keypad.getKey();
while (f == NO_KEY)f=keypad.getKey();
lcd.setCursor(1,1);
lcd.println(f);
delay(100);
lcd.setCursor(1,1);
g=keypad.getKey();
while (g == NO_KEY)g=keypad.getKey();
lcd.setCursor(2,1);
lcd.println(g);
delay(100);
lcd.setCursor(2,1);
h=keypad.getKey();
while (h == NO_KEY)h=keypad.getKey();
lcd.setCursor(3,1);
lcd.println(h);
delay(100);
lcd.setCursor(3,1);
lcd.clear();
i1=(e-48)*1000;
i2=(f-48)*100;
i3=(g-48)*10;
i4=(h-48);
j=i1+i2+i3+i4;
lcd.setCursor(0,0);
lcd.println("carton OF" );
lcd.setCursor(0,1);
lcd.println(j);
lcd.println("P" );
delay(100);
lcd.clear();
}
void loop() {
digitalRead(12);
while (digitalRead(12)==LOW){
lcd.setCursor(0,0);
lcd.println("carton OF");
lcd.println(j);
lcd.println("P");
digitalRead(8);
if ( digitalRead(8)== LOW){
myservo.write(0);
i=i+1;
lcd.setCursor(0,1);
lcd.println("NB_P:");
lcd.println(i);
delay(100);
if (i==j){
i=0;
myservo.write(90);
delay(1000);
}
}
}
digitalRead(11);
while (digitalRead(11)==LOW){
lcd.setCursor(0,0);
lcd.println("carton OF");
lcd.println(j);
lcd.println("P");
digitalRead(7);
if ( digitalRead(7)== HIGH){
myservo.write(0);
i=i+1;
lcd.setCursor(0,1);
lcd.println("NB_P:");
lcd.println(i);
if (i==j){
i=0;
myservo.write(90);
delay(100);
}
}
}
}
فهرس سلسلة مشاريع أردوينو للمبتدئين
http://salembenmoussa.blogspot.com/2020/05/blog-post_17.html
ليست هناك تعليقات:
إرسال تعليق