Arduino kontrolleras kan kross med LCD-avläsning. (4 / 11 steg)
Steg 4: Del 3: programmering och krets design
#include < LiquidCrystal.h >
LiquidCrystal lcd (12, 11, 10, 5, 4, 3, 2); LCD på stift 12, 11, 10, 5, 4, 3, 2.
int StartPin = 9; Switch input
int motor1Pin = 7. H-bridge Ben 1 (stift 2, 1A)
int motor2Pin = 6; H-bridge ben 2 (stift 7, 2A)
int enablePin = 8; H-bridge aktivera pin
int DirPin = 13. Motor riktning väljer du
int DirSwCounter = 0;
int LastDirState = 15.
int Dir = 14.
int cansCrushed; Initiala antal burkar krossade satt till 0
void setup()
{
INITIERA
pinMode (StartPin, indata);
pinMode (DirPin, indata);
pinMode (motor1Pin, produktionen);
pinMode (motor2Pin, produktionen);
pinMode (enablePin, produktionen);
digitalWrite (enablePin, låg);
LCD.BEGIN (16, 2);
LCD.Print ("kan kross MKII");
Delay(3000);
LCD.Clear();
lcd.setCursor (0, 0);
LCD.Print("Crushed:");
lcd.setCursor (10, 0);
LCD.Print((int)cansCrushed);
lcd.setCursor (0, 1);
LCD.Print("Weight:");
lcd.setCursor (9, 1);
LCD.Print((int)cansCrushed*.034375);
pinMode (StartPin, indata);
pinMode (DirPin, indata);
pinMode (motor1Pin, produktionen);
pinMode (motor2Pin, produktionen);
pinMode (enablePin, produktionen);
digitalWrite (enablePin, låg);
cansCrushed = 0;
}
void loop()
{
LÄS PINS
int DirState = digitalRead(DirPin);
om (LastDirState == låg & & DirState == hög)
{
DirSwCounter ++;
}
LastDirState = DirState;
PROCESSEN
om (DirSwCounter % 2 == 0)
{
digitalWrite (Dir, låg);
cansCrushed ++;
} annat {
digitalWrite (Dir, hög);
}
om (digitalRead(StartPin) == hög & & digitalRead(Dir) == låg)
{
digitalWrite (enablePin, hög);
digitalWrite (motor1Pin, hög);
digitalWrite (motor2Pin, låg);
}
annat if (digitalRead(StartPin) == hög & & digitalRead(Dir) == hög)
{
digitalWrite (enablePin, hög);
digitalWrite (motor1Pin, låg);
digitalWrite (motor2Pin, hög);
} annat {
digitalWrite (enablePin, låg);
}
}
Kopplingsschema för maskinen visas nedan.
För den här designen jag använde Fritzing, är det ganska häftigt.
http://www.fritzing.org
Bygga på kretskortet från denna konstruktion, men Lägg inte till växlarna ännu.