This is the end of my Arduino Introduction Series. It's time to sum everything up and look ahead!
You did it! You finally reached the end of this introduction series. We started with the basics about programming, and we finished up by learning how to use LCDs. We used the digital and analog pins of our Arduino and learned about control structures, variables, functions and procedures.
All of this should give you a good starting point to realize your own projects.
We discovered only a small amount of what you can make with an Arduino. We discovered how to use photo resistors, buttons, LEDs, IR receivers, LCDs and even piezo speakers, but that's not all by far. There is a lot more to discover!
While this is the end of the Arduino Introduction Series, I hope it's not the end of your journey in programming and electronics. How can you proceed?
Try it for yourself. Start by combining and adjusting the things you learned to fit your needs. Start your own projects and learn how to solve bigger problems. To design your own circuits, you may want to look into the basics of electronic circuits.
You will find more than enough information on the internet and I will continue to provide more information and tutorials too. I will start with a new series 'Circuit Basics' to teach you the basic of electronics and enable you to understand and design simple circuits. Additionally, I will start with a new 'Arduino Modules' series to show you how to use different sensors and other electronic components with your Arduino. Stay tuned and if you have questions or wishes for further tutorials feel free to give feedback and contact me.
During the tutorials in this introduction series we used a lot of different functions. Here is an overview to help you to use them in future projects.
pinMode(pin, mode)
pin
: Number of the digital pin (0
to 13
) or A1
to A5
for the analog pins mode
: OUTPUT
, INPUT
, INPUT_PULLUP
digitalWrite(pin, value)
pin
: Number of the digital pin (0
to 13
) or A1
to A5
for the analog pins value
: HIGH
or LOW
digitalRead(pin)
HIGH
or LOW
corresponding to the voltage level at the pin pin
: Number of the digital pin (0
to 13
) or A1
to A5
for the analog pins analogRead(pin)
0
and 1023
pin
: Analog pin to use for the measurement (A0
to A5
) delay(ms)
ms
: Time in milliseconds millis()
analogWrite(pin, value)
pin
: Number of a PWM capable pin (marked with ~
)value
: Duty cycle as number between 0
and 255
tone(pin, frequency)
pin
: Number of the pin frequency
: Frequency of the tone to generate noTone(pin)
pin
: Number of the pin pulseIn(pin, value, timeout)
0
if the timeout is exceeded pin
: Number of the pin to measure the pulse length value
: HIGH
or LOW
depending on whether we want to measure the length of periods with low or high voltage level timeout
: Optional parameter, to specify the maximum expected pulse length in microseconds (1 s if omitted) Serial.begin(baudrate)
baudrate
: Communication speed for the serial port (usually 9600) Serial.print(value)
value
: Text, character, integer or floating-point number to send Serial.println(value)
value
: Text, character, integer or floating-point number to send For using the LCD you have to create an lcd
object first:
LiquidCrystal_I2C lcd(0x27, 16, 2);
You can choose a different name too. If you do, adjust lcd
it for the method calls below according to your name.
lcd.init()
lcd.clear()
lcd.backlight()
lcd.print(value)
value
: Text or number to display lcd.setCursor(x, y)
x
: New cursor column y
: New cursor row