Arduino is an interesting yet simple program in its beginning phase as the internet is jam-packed with various tutorials and codes example. While making an attempt to enter into a difficult phase demands right guidance and unfortunately, this efficiency is scarcely available. This tutorial by Instructables instructs to add multiple modules to Arduino or attempts to push Arduino to its limits by building the Arduino thermometer/hygrometer with a GUI.
Moreover, you tend to discover more with different experiments. For instance, it is often considered that the limit of Arduino is restricted to the number of Arduino GPIOs, which in turn limits the number of modules one can attach to it. But the actual bottleneck is its limited memory, esp. when you try considering multiple sensors, more than one display, several buttons and other input modules.
Coming to the details of the project. It is based on an OLED display, a small pot-based joystick, and temperature and humidity sensor (thermometer/hygrometer) which is devised to attach to an external thermometer/hygrometer over the built-in UART. Further, the analog and digital inputs, and digital outputs are used along with eeprom, timers, and interrupts. A small programming framework is provided for adding and removing the sensors.
The essential hardware used for this project are Arduino Uno, Breadboard and cable ties, 0.96″ OLED display, Joystick, DHT11 temperature and humidity meter. One can also use another Arduino with DHT11 or similar sensor attached, which is completely optional. This project consist of both, libraries as well as project-specific code. For a basic tutorial for any temperature sensor, google it to form a base from which to build the external device.
Now for the actual software prerequisites, the PlatformIO is used for the Arduino environment, or equivalent IDE. The public libraries can be used for driving the OLED: g8l2, for interfacing the Arduino hardware timers: FlexiTimer2 and for using the streaming operator to output strings: Streaming.
The other libraries are PotJoystick library for interfacing the small potentiometer-based joystick, TemperatureSensor_DHT11 for interfacing DHT11 and compatible sensors (DHT12, DHT22), SimpleExponentialFilter for filtering noisy values, such as the readings from DHT11, MultiTimer library for bonding multiple interrupt service routines to a single hardware timer, StaticLinkedList library to automatize global (static) linked lists, FixedPoint12dot4: Simple 16-bit fixed-point number encapsulation and GraphLib library for plotting graphs on the OLED and other screens.
For more information, check out the link mentioned down below – :
Filed Under: Reviews