Våren är i den pennhållare (1 / 5 steg)
Steg 1: Arduino kod
/ * Skapad av: Jonielle McDonnough
Syfte: "våren är i the innehavare"
Skapad: 5: e April 2015
Denna kod är att fungera en blomma med en servomotor, LCD-skärm och IR-fjärrkontroll. */
#include < IRremote.h >
#include < LiquidCrystal_I2C.h >
#include < Wire.h >
#include < Servo.h >
eftersom jag använder en IR-sändare jag måste ange värden för varje knapp på fjärrkontrollen
#define BUTTON_0 0xFF6897 / / din fjärrkontroll värden.
#define BUTTON_1 0xFF30CF / / annan knapp på fjärrkontrollen
#define BUTTON_2 0xFF18E7 / / annan knapp på fjärrkontrollen
#define BUTTON_3 0xFF7A85 / / annan knapp på fjärrkontrollen
#define BUTTON_4 0xFF10EF / / annan knapp på fjärrkontrollen
#define BUTTON_5 0xFF38C7 / / annan knapp på fjärrkontrollen
#define BUTTON_6 0xFF5AA5 / / annan knapp på fjärrkontrollen
#define BUTTON_7 0xFF42BD / / annan knapp på fjärrkontrollen
#define BUTTON_8 0xFF4AB5 / / annan knapp på fjärrkontrollen
#define BUTTON_9 0xFF52AD / / annan knapp på fjärrkontrollen
#define POWER 0xFFA25D / / annan knapp på fjärrkontrollen
#define läge 0xFF / / annan knapp på fjärrkontrollen
#define MUTE 0xFFE21D / / annan knapp på fjärrkontrollen
#define PREV 0xFF22DD / / annan knapp på fjärrkontrollen
#define nästa 0xFF02FD / / annan knapp på fjärrkontrollen
#define spela upp 0xFFC23D / / annan knapp på fjärrkontrollen
#define VOL_DWN 0xFFE01F / / annan knapp på fjärrkontrollen
#define VOL_UP 0xFFA857 / / annan knapp på fjärrkontrollen
#define EQ 0xFF9067 / / annan knapp på fjärrkontrollen
#define HUNDRED_PLUS 0xFF9867 / / annan knapp på fjärrkontrollen
#define tillbaka 0xF0C41643 / / annan knapp på fjärrkontrollen
LiquidCrystal_I2C lcd (0x27, 16, 2); initiera bibliotek med numrerar av gränssnittet stiften
int RECV_PIN = 11; mottagaren kommer att använda stift 11
IRrecv irrecv(RECV_PIN);
decode_results resultat.
Servo myservo1; namn servo
int pos = 0; utgångsläge
följande variabler är definierade för en viss rotation
int post1 = pos;
int post2 = pos + 30.
int post3 = pos + 60.
int post4 = pos + 90.
int post5 = pos + 120;
int post6 = pos + 150;
int post7 = pos + 180;
Rutinen installationsprogrammet körs en gång när du trycker på reset:
void setup()
{
Serial.BEGIN(9600);
irrecv.enableIRIn(); Starta mottagaren
myservo1.attach(9); attack servo till digital pin 9
LCD.init(); initierar lcd
LCD.backlight(); tänds bakgrundsbelysningen
}
void loop() / / loop rutin kör om och om igen för alltid:
{
om (irrecv.decode (& resultat))
{
Serial.println (results.value, HEX);
irrecv.Resume(); Ta emot nästa värde
}
om (results.value == BUTTON_0)
{
myservo1.write(0);
LCD.Clear();
LCD.Print ("Hej mamma!");
}
om (results.value == BUTTON_1)
{
myservo1.write(post1);
LCD.Clear();
LCD.Print ("penna/Pen #1");
}
om (results.value == BUTTON_2)
{
myservo1.write(post2);
LCD.Clear();
LCD.Print ("penna/Pen #2");
}
om (results.value == BUTTON_3)
{
myservo1.write(post3);
LCD.Clear();
LCD.Print ("penna/Pen #3");
}
om (results.value == BUTTON_4)
{
myservo1.write(post4);
LCD.Clear();
LCD.Print ("penna/Pen #4");
}
om (results.value == BUTTON_5)
{
myservo1.write(post5);
LCD.Clear();
LCD.Print ("penna/Pen #5");
}
om (results.value == BUTTON_6)
{
myservo1.write(post6);
LCD.Clear();
LCD.Print ("penna/Pen #6");
}
om (results.value == BUTTON_7)
{
myservo1.write(post7);
LCD.Clear();
LCD.Print ("penna/Pen #7");
}
om (results.value == BUTTON_8)
{
myservo1.write(135);
LCD.Clear();
LCD.Print "I LOVE du MUMMY".
}
om (results.value == BUTTON_9)
{
myservo1.write(171);
LCD.Clear();
LCD.Print ("njuta av din dag!");
}
lcd.setCursor (0, 1);
}
Ovanstående kod ger alla de saker du behöver definiera innan du går in i set-up och loop. Varje nödvändiga bibliotek måste vara ingår samt initierat och stiften måste definieras. Remote-knappar måste definieras för att använda den. Du kan se resultatet av varje knapp genom att öppna serieporten läsaren. Utgångarna som jag har i den här koden är för den svarta remote som följer med den Arduino Kit. Medan du arbetar dig ner till set-up, kommer du att märka att det är där den seriella porten och mottagare initieras. Servomotor är inställd på digital stift 9 men LCD-skärmen initierar och dess Bakgrundsbelysningen tänds. Detta är slingan, för mig, där åtgärden sker. I om-så uttalanden läggs värdena av resultaten (output) från fjärrkontrollen. I uttalandena, servomotor flyttas till ett visst antal grader som det berättas att vända sig till (dessa grader är redan definierade överst i koden). LCD-skärmen sedan rensar skärmen och skriver ut lämpliga frasen. I slutet av slingan markören på LCD-skärmen är inställd (0,1). Den kommer i princip endast ut en linje.