Posts with «linux» label

A Concept for a Robot that I am planning to build

Jetsonbot

Primary image

What does it do?

Avoid obstacles with vision

Hardware overview is in the video with a better description.

Jetson TK1 processes images from the USB webcam and the two Raspberry Pi NoIR cameras then sends commands to the Arduino Mega in order to move autonomously around the environment avoiding obstacles.

The software is custom written and uses OpenCV for image processing.  No ROS, no SLAM, no neural nets or whatever.

Cost to build

Embedded video

Finished project

Number

Time to build

Type

URL to more information

Weight

In Bed With an Arduino, Fighting Sleep Apnea

Sometimes the journey is as interesting as the destination, and that’s certainly the case with [Marc]’s pursuit of measuring his sleep apnea (PDF, talk slides. Video embedded below.). Sleep apnea involves periods of time when you don’t breathe or breathe shallowly for as long as a few minutes and affects 5-10% of middle-aged men (half that for women.) [Marc]’s efforts are still a work-in-progress but along the way he’s tried a multitude of things, all involving different technology and bugs to work out. It’s surprising how many ways there are to monitor breathing.

Debugging the Eeonyx conductive fabric approach

His attempts started out using a MobSenDat Kit, which includes an Arduino compatible board, and an accelerometer to see just what his sleeping positions were. That was followed by measuring blood O2 saturation using a cheap SPO2 sensor that didn’t work out, and one with Bluetooth that did work but gave results as a graph and not raw data.

Next came measuring breathing by detecting airflow from his nose using a Wind Sensor, but the tubes for getting the “wind” from his nose to the sensor were problematic, though the approach was workable. In parallel with the Wind Sensor he also tried the Zeo bedside sleep manager which involves wearing a headband that uses electrical signals from your brain to tell you what sleep state you’re in. He particularly liked this one as it gave access to the data and even offered some code.

And his last approach we know of was to monitor breathing by putting some form of band around his chest/belly to measure expansion and contraction. He tried a few bands and an Eeonyx conductive textile/yarn turned out to be the best. He did run into noise issues with the Xbee, as well as voltage regulator problems, and a diode that had to be bypassed.

But while [Marc]’s list of approaches to monitor sleep is long, he hasn’t exhausted all approaches. For example there’s monitoring a baby using lasers to detect whether or not the child is still breathing.

[Via Adafruit]


Filed under: Medical hacks
Hack a Day 14 Jul 00:00

Discover the latest Arduino build for ARM Linux

As many of you already noticed, we recently released a new “Linux ARM” version of the Arduino IDE available for download on our website together with the usual “Linux 32bit” and “Linux 64bit.”

This release enables you to run the Arduino Software (IDE) on many of the mini PC boards based on ARM6+ processors currently on the market, including Raspberry Pi, C.H.I.P., BeagleBone, UDOO… just to name a few.


The Linux ARM release has been strongly supported by our community and we would like to thank all the people that helped to make this happen: GitHub handles @CRImier, @NicoHood, @PaulStoffregen, @ShorTie8, and to everyone that patiently tested and reported problems.

If you are interested (and brave!), you can read the full story and explore the complete list of collaborators below:

https://github.com/arduino/Arduino/pull/3549
https://github.com/arduino/arduino-builder/issues/105
https://github.com/arduino/Arduino/pull/4457
https://github.com/arduino/Arduino/pull/4517

Disclaimer: The release is “experimental,” meaning that it mostly works but some boards do not work or may not produce the desired result… enjoy imperfection and give us feedback on Github!

The Internet of Linux Things

The Linux Foundation is a non-profit organization that sponsors the work of Linus Torvalds. Supporting companies include HP, IBM, Intel, and a host of other large corporations. The foundation hosts several Linux-related projects. This month they announced Zephyr, an RTOS aimed at the Internet of Things.

The project stresses modularity, security, and the smallest possible footprint. Initial support includes:

  • Arduino 101
  • Arduino Due
  • Intel Galileo Gen 2
  • NXP FRDM-K64F Freedom

The project (hosted on its own Website) has downloads for the kernel and documentation. Unlike a “normal” Linux kernel, Zephyr builds the kernel with your code to create a monolithic image that runs in a single shared address space. The build system allows you to select what features you want and exclude those you don’t. You can also customize resource utilization of what you do include, and you define resources at compile time.

By default, there is minimal run-time error checking to keep the executable lean. However, there is an optional error-checking infrastructure you can include for debugging.

The API contains the things you expect from an RTOS like fibers (lightweight non-preemptive threads), tasks (preemptively scheduled), semaphores, mutexes, and plenty of messaging primitives. Also, there are common I/O calls for PWM, UARTs, general I/O, and more. The API is consistent across all platforms.

You can find out more about Zephyr in the video below. We’ve seen RTOS systems before, of course. There’s even some for robots. However, having a Linux-heritage RTOS that can target small boards like an Arduino Due and a Freedom board could be a real game changer for sophisticated projects that need an RTOS.


Filed under: Arduino Hacks, ARM, linux hacks, news
Hack a Day 25 Feb 16:30

Combining Musical Hatred with Target Practice

Not everyone can agree on what good music is, but in some cases you’ll find that just about everyone can agree on what is awful. That’s what the people over at Neo-Pangea discovered when they were listening to Internet radio. When one of those terrible songs hits their collective eardrums, the group’s rage increases and they just need to skip the track.

This is how Engineers act if the song is super-awful

Rather than use a web app or simple push button to do the trick, they turned the “skip” button into a NERF target. They call their creation the Boom Box Blaster and made a fantastic demo film video about it which is found after the break.

Inspired by a painting in the office, the target takes the form of a small hot air balloon. The target obviously needed some kind of sensor that can detect when it is hit by a NERF dart. The group tried several different sensor types, but eventually settled on a medium vibration sensor. This sensor is connected to an Arduino, which then communicates with a Raspberry Pi over a Serial connection. The Pi uses a Python script to monitor the Arduino’s vibration sensor. The system also includes some orange LEDs to simulate flames and a servo attached to the string which suspends the balloon from the ceiling. Whenever a hit is registered, the flames light up and the balloon raises into the air to indicate that the shot was on target.

The Pi was required in order to interface with the group’s streaming music service of choice; Sonos. The Sonos API made it easy for the team to interface their target with the “skip track” function. They just wrote a Node.js script that runs on the Pi and sends the proper command as necessary. Now whenever the radio asks the group if they want to build a snowman, they can all answer with a resounding, “no!”. They just need to make sure they have enough ammo to spare. Be sure to check out the comical demonstration video on the project page.


Filed under: Android Hacks, musical hacks

Bread Online is a Bread Maker for the Internet of Things

An engineering student at the University of Western Macedonia has just added another appliance to the ever-growing list of Internet enabled things. [Panagiotis] decided to modify an off-the-shelf bread maker to enable remote control via the Internet.

[Panagiotis] had to remove pretty much all of the original control circuitry for this device. The original controller was replaced with an Arduino Uno R3 and an Ethernet shield. The temperature sensor also needed to be replaced, since [Panagiotis] could not find any official documentation describing the specifications of the original. Luckily, the heating element and mixer motor were able to be re-used.

A few holes were drilled into the case to make room for the Ethernet connector as well as a USB connector. Two relays were used to allow the Arduino to switch the heating element and mixer motor on and off. The front panel of the bread maker came with a simple LCD screen and a few control buttons. Rather than let those go to waste, they were also wired into the Arduino.

The Arduino bread maker can be controlled via a web site that runs on a separate server. The website is coded with PHP and runs on Apache. It has a simple interface that allows the user to specify several settings including how much bread is being cooked as well as the desired darkness of the bread. The user can then schedule the bread maker to start. Bread Online also comes with an “offline” mode so that it can be used locally without the need for a computer or web browser. Be sure to check out the video demonstration below.

[Thanks Minas]


Filed under: Arduino Hacks, cooking hacks

Googly Eyes Follow You Around the Room

If you’re looking to build the next creepy Halloween decoration or simply thinking about trying out OpenCV for the first time, this next project will have you covered. [Glen] made a pair of giant googly eyes that follow you around the room using some servos and some very powerful software.

The project was documented in three parts. In Part 1, [Glen] models and builds the eyes themselves, including installing the servo motors that will eventually move them around. The second part involves an Arduino and power supply that will control the servos, and the third part goes over using OpenCV to track faces.

This part of the project is arguably the most interesting if you’re new to OpenCV; [Glen] uses this software package to recognize different faces. From there, the computer picks out the most prominent face and sends commands to the Arduino to move the eyes to the appropriate position. The project goes into great detail, from Arduino code to installing Ubuntu to running OpenCV for the first time!

We’ve featured some of [Glen]’s projects before, like his FPGA-driven LED wall, and it’s good to see he’s still making great things!

 


Filed under: video hacks

Time to explore Linux on Intel® Galileo Gen 2 – Tutorial

The new tutorial we want to present you today is more like a guide giving you some basic information about the benefit of accessing Linux shell in Intel® Galileo Gen 2. It also shows you in which way the Intel® Galileo Gen 2 is not only an advanced, more powerful version of Arduino Uno that happens to be layered on top of a Linux system. There is definitely much more that can be done with it and the Linux shell: this tutorial is an entry point to explore it and learn how to:

– preparing a system image;
– accessing the shell in 4 different ways;
– examining the workflow of copying a python script into Intel® Galileo Gen 2 through scp (or pscp);
– running an Arduino sketch;
-retrieving files from Intel® Galileo Gen 2.

 

The Intel® Galileo Gen 2 includes much of the Arduino Uno’s functionality. Similar to an Uno, it can create a wide variety interactive objects that use input sensors and various outputs. After exploring the many possibilities of using the “Arduino part” of the  Intel® Galileo Gen 2 this way, one might start to wonder: what is the next step?

Perhaps you want to write more complex programs using your favorite scripting language like python or javascript. Maybe you’re interested in computer vision or want to have full control over the board and find out more about the inner workings. By accessing to the Linux core, all these will be possible to achieve.

This tutorial will cover the basics of working with Linux by making a simple program that logs button presses. While the example is not very useful, it will help familiarize you with Linux as applied to the Intel® Galileo Gen 2.

Follow the link and explore all the steps

Build a Bass Master 3000 Carnival Game

We’ve all been there. You are having fun walking around the carnival when you suddenly find yourself walking past the carnival games. The people working the booths are taunting you, trying to get you to play their games. You know the truth, though. Those games are rigged. You don’t know how they do it. You just know that they do… somehow.

Now you can put your worries to rest and build your own carnival game! [John] built his own “Bass Master 3000” style carnival game and posted an Instructable so you can make one too.

The game is pretty straightforward. You have a giant fish-shaped target with a wide open mouth. You take hold of a small fishing reel with a rubber ball on the end. Your goal is to cast the ball out and hit the fish in its big mouth. If you hit the mouth, you get to hear a loud buzzer and see some flashing lights. The system also uses a webcam to take a candid photo of the winner. A computer screen shows all of the winners of the day.

The brain of the system is an Arduino Yún. The Yún is similar to an Uno but it also has some extra features. Some good examples are an Ethernet port, a wireless adapter, and an SD card slot. The mouth sensors are just two piezo elements. Each sensor is hooked up to the Arduino through a small trim pot. This allows you to dial in the sensitivity of each sensor. The lights and the buzzer are controlled via a relay, triggered by a 5V digital pin on the Arduino.

The Yún actually has a small on-board Linux computer that you can communicate with from inside the Arduino environment. This allows [John] to use the Yún to actually take photos directly from a web cam, store them on the local SD card, and display them on a local web server. The web server runs a simple script that displays a slide show of all of the photos stored on the card.

The final piece of the game is the physical target itself. The target is painted using acrylic paint onto a small tarp. The tarp is then attached to a square frame made from PVC pipe. The mouth of the fish is cut out of the tarp. A large piece of felt is then placed behind the hole with the piezo sensors attached. A short length of copper pipe helps to weigh down the bottom of the felt and keep it in place. The important thing is to make sure the felt isn’t touching the tarp. If it touches, it might be overly sensitive and trigger even when a player misses.

Now you know how to build your own Bass Master 3000 carnival game. Whether you rig the game or not is up to you. Also, be sure to check out a video of the system working below.


Filed under: Arduino Hacks
Hack a Day 28 Jun 12:00