Simply stating, Arduino is a tool designed to guide in the teaching of electronics. It is basically made up of ATTinyxx or ATMega microchips on a board with USB connectivity to make it easy for the transfer of sketches to the microchip without prior programming knowledge by the user. The USB can function as a power cable although it has an alternate 5V power supply system such as that of a mobile phone. Arduino has only plug in headers for connection with other devices. It lacks an operating system but the microchip is build with a boot loader that allows the reading of C# or Arduino code to provide functional commands.
Arduinos are typically great microcontrollers that are unlike computers. Its functions include the integration with LCD screens to display measurable parameters such as temperature, colors, and movement control systems. Arduino are becoming increasingly popular because of its powerful capabilities to endow users with the ability to think, learn and apply ideas that translate into practical applications of day to day activities. Coupled with its cheap and easy technology, it is used to teach the basics of technology, software commands among other skills. Control of robots, TV sets through closed captioning, automatic alarms and sensors can be achieved through the utilization of this cheap and future technology.
Generally, Arduino is a microcontroller based physical computing platform developed using a wiring-based language such as C++ with considerable modifications to simplify the language. It also contains a processing-based integrated development platform. Various releases have been availed into the market with versions such as Arduino Uno that necessitates the creation of sketches using the Arduino language based on C-like programming. Coupled with its cheap and easy technology, it is used to teach the basics of technology, software commands among other skills. Control of robots, TV sets through closed captioning, automatic alarms and sensors can be achieved through the utilization of this cheap and future technology
Raspberry pi is defined as a microprocessor-based single board computer that runs in Linux with a flexible choice of languages like C++ Java, python among others. Raspberry can be integrated to run with a host of applications without much effort. The design of Raspberry was considered to function as a tool for teaching students on innovative ideas in electronics and outside the computer-based platform. It contains a breadboard and headers that makes it to be easily changed into a microcomputer to perform specified functions. Examples of activities that can be achieved through the utilization of the Raspberry include lighting up of LEDs, home security system with a PIR motion detector, a system builder, hardware engineering concept and OEM. Arduinos are typically great microcontrollers that are unlike computers. Its functions include the integration with LCD screens to display measurable parameters such as temperature, colors, and movement control systems. Arduino are becoming increasingly popular because of its powerful capabilities to endow users with the ability to think, learn and apply ideas that translate into practical applications of day to day activities
Raspberry comes as a cheap and efficient card-sized computer that runs on an operating system and has been used extensively in robotics and all manner of creative electronic devices. It consist of a Broadcom system on a chip with an ARM 700MHz processor and a VideoCore GPU WITH 256 MB of RAM. Model A is characterized with 256MB of RAM while model B has 512 MB RAM. Instead of a hard dick, it uses a SD card for storage and booting functions. The GPU provides the Open GL ES 2.0 and hardware accelerated Open VG together with a 1080p30 H.264 high profile decoder. Also, the GPU is cap[able of delivering 1Gpixel/s, 1.5Gtexel/s or 24GFLOPS that has texture filtering and DMA infrastructure. Other notable features include lack of plug-and-play components as well as operating systems and like software’s.
DIFFERENCES BETWEEN ARDUINO AND RASPBERRY
Both devices have their distinct functions and the mode of operation. For instance the Arduino platform provides a complete and relatively low-power microcontroller that assigns the user full control of the hardware. Arduino provides a platform for the development of numerous programs that can seamlessly interface with unlimited number of hardware. These 32Kb programs can be used with switches, LCDs, sensors among others.
Devices such as Raspberry are however designed to operate on a higher level. Raspberry is integrated with hardware’s and software’s that control and allow the access of Ethernet, audio and video processes, large RAM processing speeds, and unlimited storage capabilities. In short, they are mini-computers and most of their operations emulate computers. Raspberry is run on an operating system such as Linux and Android and as such, is capable of developing programs that control the functioning of systems and the input/output that are availed.
Arduino has the capability to support analogue input/output commands while Raspberry Pi does not. Many PINS are located in the Arduino without the need to breakout while Raspberry has fewer PINS for IO. Arduino has 14 input/output protocols and 6 ADCs while Raspberry has eight I/O and internally used ADCs. The PINS on the Raspberry are much more difficult to access as compared to those on the Arduino. The PINs on the Arduino have a tolerance limit of +5V while the Raspberry cannot handle it. Concerning time essential applications, writing to the PINs using Python usually leads to inaccuracies. This is opposite in Arduino as time sensitive applications are accurate. Raspberry does not include a real time clock therefore the operating system must use a network time server or user details for time information at boot time to record time and date settings.
As mentioned earlier, Raspberry runs on fully fledged Linux operating system while Arduino contains a bootloader that reads the Arduino codes. With a 700MHz processor and 512MB of RAM, Raspberry is superior to Arduino which has a 16MHz processor and 2KB of RAM. Other notable features for the Raspberry include two USB 2.0 ports, SD card and display capability on television sets with relatively easy HDMI. However, Arduino is equipped with more accessories than Raspberry. Finally, Arduinos are much cheaper than Raspberry Pi going for $29 unlike $35-40. The PINs on the Arduino have a tolerance limit of +5V while the Raspberry cannot handle it. Concerning time essential applications, writing to the PINs using Python usually leads to inaccuracies. This is opposite in Arduino as time sensitive applications are accurate. Raspberry does not include a real time clock therefore the operating system must use a network time server or user details for time information at boot time to record time and date settings
Arduino is an open-source prototyping platform utilized in electronics based on flexible and easy to use hardware and software. It is generally designed for hobbyist, artist and those interested in interactive innovations and environments. Arduino has a special characteristic that makes it suitable for such projects. It can sense the environment it is operated on by receiving input from a variety of sensors such as light, touch and sound for the control of lighting, motor and actuator systems. The microcontroller on the board is implemented by the Arduino programming language on the basis of wiring. The processing is performed by the Arduino development environment.
Arduino projects are classified as stand-alone or integrated with software running on computers. Thus Arduino can be successfully implemented with other developments such as Raspberry Pi to deliver the intended purposes. For instance, using the shield connection bridge, the two developments can be integrated in different boards and modules. Other devices such as digital and analogue sensors can be combined in the system using the pinouts of Arduino. Examples of devices designed by the implementation of Arduino wireless module in Raspberry include XBee 802.15, XBee ZigBee, Bluetooth, Wifi, GPRS, 3G, RFID and NFC. Arduino specific shields including radiation sensor shield, Relay shield and Canbus are commonly used. In the discussion below, the procedures for the implementation of the Arduino in LCD touch screen are noted.
Numerous touch screen sensors mounted on small size TFT LCD lack dedicated controls. In order to design these controls, 4 sensor lines directly from the sensor are required to connect the MCU and implement the display. Arduino MCUs are much more reliable for such tasks compared with the dedicated touch screen controllers. Thus in orders to receive better performance, 4 ADC lines together with MCU computing resources are necessary. The choice for small four wire resistive touch screens is arrived at because they are cheap and easily available. Mobile phones, PDAs, 7’’ and 10’’ notebook screens are all four wire despite the fact that they have different control modules.
Touch screen is the transparent glass that fits on the top of LCD thus the CPU detects the point of touch and determines the commands. In order to implement touch screen commands on Arduino, more work needs to be done to develop the controls that go behind the touch screen overlay. Touch screens are thin making them easier to mount on top of LCDs. little custom control panels are created together with a button sheet that extends behind the screen. Mapping of the X/Y coordinates is done on the touch screen to create a platform for the Arduino to map the pressed buttons with the coordinates. The buttons do not necessarily mean the screen buttons but may mean volume or temperature sliders, a house plan or anything for that matter.
The four lines of the resistive touch sensor are represented by X+, X-, Y+ and Y-. They are connected to the end bars of the resistive film. Connection is done to the input of the ATmega to measure the desired value of the sensor by different measurement configurations. The port settings and the ADC channel settings of the ATmega control what is inputted and returned.
For instance in a project, the touch screen is mounted on a blank electrical wall plate t o induce a touch sensitive light switch for a home automation system. In this case, the label for the two front layers comprising of the resistive and plastic layer are transposed and the front resistive layer is contacted with the microdot spacers.
In the diagram, Z1 and Z2 imply the area of touch and not the pressure of the touch. Thus although it might not be the most accurate quantitative measurement method, it is still useful for detective touch status. In a more specific way, touch event may be captured by setting the ports for the PCINT configuration. This will work more efficiently if the starting moment of the touch process or event is to be measured. However the method will not deliver much for the measuring of the continuous process since the middle of the touch is insignificant. The Z value is therefore necessary for a good measure of the continuous search. By using the Z value, reliability and consistency is achieved.
Touch library will use two methods to demonstrate the touching of a single event. A single touch will be recorded by the command “touch.waitForSingleTouch();” by waiting indefinitely for the touch event to occur. Likewise, the continuous touch status will be checked by the command; “touch.checkTouchContinuous();”. The Z value is under utilization in this case to immediately return a true or false status.
In order to record readable results, the touch sensor is calibrated to match with the sensor values on the TFT LCD screen coordinate. Numerous sketch examples are readily available that give a reference of the calibration process. An exemplary program will have three values to measure. The calibration parameters are calculated and saved in the EEPROM area of the ATmega. The calibration process is a onetime procedure and need no to be repeated.
Boyarsky, J. (2012). Getting Started with Raspberry Pi. O'Reilly Media, Inc.
Dennis, A. K. (2013). Raspberry Pi Home Automation with Arduino. Packt Publishing Ltd.
Jonathan Oxer, H. B. (2009). Practical Arduino:Cool Projects for Open Source Hardware. Apress.
Paull, G. (2013). Raspberry Pi. Springer.
Team, A. (2012). Arduino Microcontroller:Processing for Everyone! Morgan & Claypool Publishers.