AUTOMATISERAD produktionslinje med flaska fyllning FEEDBACK kontrollsystem (5 / 5 steg)
Steg 5: Arduino kod
Program (källkoden)
#include < Liquidcrystal.h >
initiera bibliotek med numrerar av gränssnittet stiften
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
#define echoPin 7 / / Echo Pin
#define trigPin 8 / / Trigger Pin
#define relä 10 / / ombord LED
#define glas 9 / / flaska upptäckt
#define magnetventil 13 / / magnetventilen upptäckt
byte armsUp [8] = {
0b00100,
0b01010,
0b00100,
0b10101,
0b01110,
0b00100,
0b00100,
0b01010
};
int maximumRange = 200. Maximal räckvidd behövs
int minimumRange = 0; Minsta område behövs
lång varaktighet, avstånd; Längd används för att beräkna avstånd
void setup() {
lcd.createChar (4, armsUp);
LCD.BEGIN (16, 2);
LCD.write(4);
LCD.Print ("produktionslinje Automation av Saad Zeeshan Waqas Saeed Adeel");
för (int positionCounter = 15; positionCounter < 84; positionCounter ++) {
Bläddra en position åt vänster:
lcd.scrollDisplayLeft();
vänta lite:
Delay(400);
}
Delay(1000);
LCD.Clear();
Delay(2000);
pinMode (trigPin, produktionen);
pinMode (magnetventil, produktionen);
pinMode (glas, indata);
pinMode (echoPin, ingång);
pinMode (relä, utgång); Använd LED-indikator (vid behov)
}
void loop()
{
digitalWrite (trigPin, låg);
delayMicroseconds(2);
digitalWrite (trigPin, hög);
delayMicroseconds(10);
digitalWrite (trigPin, låg);
längd = pulseIn (echoPin, hög);
Beräkna avståndet (i cm) baserat på ljudets hastighet.
avståndet = varaktighet/58,2;
int Detect_glass = digitalRead(Glass);
IF(Detect_glass == High) //no glas
{
digitalWrite (relä, hög); transportband
lcd.setCursor (0, 0);
LCD.Print ("transportband Start");
digitalWrite (magnetventil, låg);
IF(Relay==High)
Delay(40); int en = en ++;
}
IF(Detect_glass == low)
{
lcd.setCursor (0, 0);
LCD.Print ("transportband stopp");
digitalWrite (relä, låg); transportband av
Delay(1000);
digitalWrite (magnetventil, hög); magnetventil på
sonar värde för nivå detektor
om (avstånd < = 9)
{
digitalWrite (magnetventil, låg); vatten på
Delay(1000);
digitalWrite (relä, hög); transportband på
Delay(3000);
}
}
Delay(50);
}