Webserver down alarm on Tessel board

If you are running website on a server you know that many things can happen. It can go down due several reasons and you may notice this only when try to connect or load webpage. In order to avoid long downtimes you need to set up alarm which would ring bells and whistles once it goes down. Kelsey shared a website down alarm project based on Tessel board.

tessel_web_alarm

Tessel board simply pings website every second and once trouble is detected it starts alarm which is a large red alarm light. Lamp was modified to be controlled from relay module which plugs directly to Tessel board. Speaking of Tessel boar it is an ARM processor based development board which runs entirely on Node.js. It already has built in WiFi module what makes it great tool for Internet of Things (IoT).

Read

Fully featured Arduino based code lock

If you have a door lock that is activated with solenoid, then probably you would like to have a keyless access. This can be done easily with Arduino, keypad, LCD and relay which activates lock mechanism. Praveen has shared a second version of code lock he built. In previous version he simplified too many things like, no LCD, hard coded password. This time he wanted to make things better and included all missing parts.

code-lock-using-arduino

During initialization, user is prompted to enter a password which also can be changed later. Using LCD made it much easier to enter passwords navigate menu and debug program itself.

Read

Connecting GY521 gyroscope module to Arduino

Gyroscope is a device used to measure angular velocity. 3-axis gyroscope measures orientation in all three directions. Physics of gyroscope is based on angular momentum which allows it to be used in many areas like flight control, missile guidance, games etc. In modern electronics usually there are MEMS gyroscopes used that are small to fit in any device. Praven has shared his experience with interfacing GY521 gyroscope module to Arduino. This module also has a 3-axis MEMS accelerometer. Both of them fit in to small MPU6050 IC package which already has 6 built in 16-bit ADC channels. So each sensor has its own ADC. Module can be interfaced via 2C interface.

pitch-roll-yaw

Sensitivity of gyroscope can accelerometer can be programmed depending on application. If you know some terminology of flight then you should know Pitch, Roll and Yaw that correspond to angular velocity of plane on every axis. Gyroscope measures these velocities and by knowing time between measurements we can estimate angular displacement. This way flight controller measures it and tries to keep flying object stabilized. Praven wrote a simple Arduino program which calculates pitch, roll and yaw from gyroscope readings and logs in to terminal window. Once you get it working, you can move on and read accelerometer to find out an orientation

.

Read

Few tips for building reliable SPI interface

Many SPI tutorials use common notation of bus design where each device is directly in parallel connected to SCK, MISO, MOSI and CS lines. This normally works without problem, but in general, there can be problems when more than one SPI device is on the bus. DorkbotPDX rises several issues that can occur on poor design. Here are three suggestions for better SPI improvements:

  • Use pullup resistors on all chip select signals.
  • Verify tri-state behavior on MISO: use a tri-state buffer chip if necessary.
  • Protect bus access with SPI.beginTransaction(settings) and SPI.endTransaction().

spi_diagram_good

Pull up resistor helps to prevent response from multiple devices at once. This might come from poor software design when CS pins aren’t initialized properly. Second problem is with MISO pin. In fact some SPI devices doesn’t enter tri-state even when CS is pulled high. So when talking to other SPI device this will cause failures. Be sure to check if SPI device supports tri-state when inactive, otherwise add external tri-state buffer like 74AHC1G125. And last thing is SPI transactions. In systems where multiple SPI devices are used there is a risk to use different settings that were selected on different device and most importantly transactions can ensure exclusive use of SPI bus when needed.

Indeed, with Arduino declared simplicity most of us are getting lazy to dig deeper in to dangers that might await in obvious places. So always do your homework before building another schematic and don’t assume that things will work out of box every time. And this does not only apply to SPI.

Read