Posts with «arduino» label

MaKey, MaKey turns the whole world into a keyboard

The litany of exciting Maker Faire products continues with MaKey MaKey, a device that turns anything capable of conducting electricity into a controller. Developed by MIT Media Lab students Jay Silver and Eric Rosenbaum, you simply run a bulldog clip from the board to an object and hold a connecting wire in your hand. Connecting over USB, it's entirely programming-free, but if you find your interest piqued, you can flip the board over to use the Arduino module baked into the hardware. It's already surpassed its original $25,000 Kickstarter goal and when the run begins, you'll be able to pick up everything you need for just $35 -- but if you can't wait that long, head on down to the Bay Area this weekend.

[Thanks, Ryan]

Continue reading MaKey, MaKey turns the whole world into a keyboard

MaKey, MaKey turns the whole world into a keyboard originally appeared on Engadget on Fri, 18 May 2012 01:14:00 EST. Please see our terms for use of feeds.

Permalink | Email this | Comments

Embedded programming gap

It seems that there is a shortage of programmers who can do embedded systems (which is what computer engineering is mostly about these days).

Critics lay much of the blame for the embedded programming gap at the doorstep of university computer science departments that have tended to migrate curricula toward trendy programming languages like Java at the expense of unglamorous tasks such as how to design and analyze algorithms and data structures.
Struggle continues to plug embedded programming gap | EE Times (by George Leopold)

I’m not so sure that Java is at fault here. It seems to me to be perfectly fine second programming language (after a simpler one like Python that does not require all data structures to be declared before any code is written).  The problem is more that the instruction focuses entirely on designing huge complex data structures and using large libraries of complex software components, rather than on fundamentals:

The problems start early in the curriculum. Too often an introductory Computer Science course will fall into one of two extremes: either focusing on the syntactic details of the programming language that is being used—“where the semicolons go”—or else treating programming as a matter of choosing components and plugging them into a GUI.

The basics—how to design and analyze algorithms and data structures—are covered summarily if at all. Software methodologies such as Object Orientation that are best approached in the context of the development life cycle for large applications, are introduced through trivial examples before their benefits can be appreciated: the proverbial cannon that is used to shoot a fly.

The education of embedded systems software engineers: failures and fixes | EE Times (by Robert Dewar)

I’m not so sure that I believe in Robert Dewar’s proposed solution, though, as he suggests having students do more high-level design (software architecture, rather than nuts-and-bolts programming), which is in direct opposition to his claim that students should be getting more training in low-level languages like C.

Robert Dewar also makes an argument for group work at the university level—something that is common in computer engineering programs, but apparently rare in computer science programs.  At UCSC, I know that all computer engineers, electrical engineers, and game design majors are expected to do group senior projects, and some of their other classes (such as mechatronics) are also group projects.

I think that the lack of group projects in many CS courses is not so much tied to Dewar’s idea “a perhaps regrettable staple of the educational process is the need to assess a student’s progress through a grade, and a team project makes this difficult” as it is to the problem of scale—a group project is only reasonable when the project is too big to be done more efficiently by a single person.  Creating and managing such big projects in lower-level classes would be a major undertaking, particularly in the short time frame of a quarter or semester, when a lot of things other than group dynamics need to be learned. Pasting a group structure onto tiny project would make things worse, not better, in terms of training students to be effective in groups (see Group work).

Some entrepreneurs have addressed the problem by starting up “initiatives like Barr’s week-long, hands-on Embedded Software Boot Camp.”  The idea is to take programmers who already have degrees and supposedly know C and train them specifically in the skills needed to do real-time programming. The cost is not small ($3000 for 4.5 days, if you register early).

Some computer scientists have been pointing out problems in the standard CS curriculum for a while:

I started saying this over a decade ago. I even did embedded stuff in my 3rd year data architecture course—my department was uninterested, and the students had a real hard time wrapping their heads around the thought that there are places where resources are limited.

The department fought me when I said that students needed to learn more than one language (Java). The department disagreed when I said that students should learn how to program for environments where bloated OO methods might not work (… But, the ARE no places where efficiency matters!!! It’s all about “Software Engineering”!).

The students had NO idea what it meant to program for a machine that had no disk, only memory.

Part of the reason CS departments are seen as being so out of touch is BECAUSE THEY ARE!!!

University should not be about job training, BUT it is also NOT about teaching only those things the faculty find interesting.

Struggle continues to plug embedded programming gap | The Becker Blog.

I know that there have been struggles between the computer science and computer engineering departments at UCSC about what programming language to teach first, with the computer scientists arguing for Java and the computer engineers arguing for C and assembly language.  Eventually they reached a compromise (which has been stable for about a decade), with the computer science students taught Java first and the computer engineering students taught C first, then both making transitions to the other language.

I think that both approaches work, but the strengths of the resulting programmers are somewhat different.  For device drivers and small embedded systems, I’d bet on the computer engineers, who have a better grasp of low-level details, interrupts, and hardware/software interactions.  For more complicated projects, I’d want one of the computer scientists doing the high-level programming, teamed with computer engineers to do the detail work.

I actually don’t like either C or Java as a first programming language.  I think that students would be better off starting with Scratch, which gets them quickly into multi-threaded code, real time operation, and race conditions, without burdening them with a lot of syntax.  Then they can switch to Python to learn about code syntax, types, and objects, without the burden (or support) of compile-time type checking.  After that they can switch to Java to learn about declaring all their data structures and having very rigid type rules (useful for bigger projects to make interfaces between different design groups more explicit).  In parallel with learning Python and Java, they should learn C and C++ in the context of the Arduino microprocessor (or similar small microprocessor) to control real-time physical systems.

The computer engineers could even skip Java, and learn their rigid type systems strictly in C++ (which they are more likely to use later), though Java is cleaner and makes the learning somewhat easier.

Computer scientists should not stop with this handful of languages, though, as they are essentially all Algol derivatives.  The CS students should also learn a couple of languages that come from different lineages (LISP or Haskell, for example).


Filed under: Uncategorized Tagged: Arduino, C++, computer science, education, higher education, Java, programming, Python, Scratch

YA2WDNSOSBBALABMHAMF (Yet Another 2WD Not So Original Starter Bot But At Least Assembled By My Own Hands As My First) or B4short

Primary image

What does it do?

Navigate around via ultrasound avoiding obstacles

Well, finally I've started to assemble my first go at building an autonomous bot, nothing fancy, nothing original just something to learn the ropes. I'm going for a 2WD design that to me seems to be quite ubiquitous.

As of the moment (May, 17th 2012) basically I've only glued together a couple of DVDs (following generalgeek's sugestion) to use as base, and then also hot-glued a couple of DC motors and a 3rd non-motor wheel to it.

Component-wise I'm only waiting for a couple of transistors to build an H-bridge (as sugested on a Dan M's post).

Cost to build

Embedded video

Finished project

Number

Time to build

Type

wheels

URL to more information

Weight

read more

Can I Control a Servo via PWM from an Optocoupler

Question: Is it possible to control this hobby servo using a PWM signal from Arduino via this optocoupler to the servo?

read more

Visualized: Arduino gets super-sized ahead of Maker Faire

This is Make's John Edgar Park, manfully clutching his Arduino Grande. The oversized device isn't just for show though, it's a fully working unit for those projects where a standard sized PCB just won't do. He'll be taking excited modders though the process of building it at Maker Faire on Saturday, just head over to the demo stage at 5:30pm with your pre-written Super Size Me jokes close to hand.

Visualized: Arduino gets super-sized ahead of Maker Faire originally appeared on Engadget on Thu, 17 May 2012 05:25:00 EST. Please see our terms for use of feeds.

Permalink | Email this | Comments

Club Jameco borrows from Etsy and Kickstarter, lets DIYers design, sell and buy project kits

Though electronics hobbyists may not have the same resources that the Maker Sheds of the world have to design, package and sell do-it-yourself kits, electronics component distributor Jameco plans to change that. With Club Jameco, enthusiasts can pitch their kit ideas to the electronic component wizards in Belmont, CA and if a project is deemed viable for production, they'll be provided with feedback and have their idea posted for public comment. After the creation of step-by-step kit instructions, a list of materials and undergoing final approval, kits will be sold to the adoring masses. Once projects roll off production lines and into garages, creators will be paid royalties anywhere from five to ten percent based on quarterly sales. Aside from giving DIYers another sales avenue, it's also an opportunity for those who've been wary of piecing together projects to finally dive in sans the added fuss. Hankering to propose a bundle of your own? Per usual, all the particulars can be found in the source link below.

Club Jameco borrows from Etsy and Kickstarter, lets DIYers design, sell and buy project kits originally appeared on Engadget on Thu, 17 May 2012 03:41:00 EST. Please see our terms for use of feeds.

Permalink | Email this | Comments

Etch-a-Sketch 3.0 hands-on (video)

The Etch-a-Sketch. A standard bearer for childhood, and one that most of us never really mastered. While Yelizaveta Lokshina can't help you create awe-inspiring portraits from aluminum powder, she has managed to update the toy for the digital age. Using an Arduino, a few buttons and a pressure sensor crammed inside a hollowed-out Etch-a-Sketch, the 3.0 version of the doodler is able to draw in old school gray, as well as vibrant colors created by blending an RGB palette. While holding down the red, green or blue button you squeeze the pressure sensor to add more or less of individual hues. The same sensor is used to change brush width when you hold down the black button. There's even a secret mode that automatically cycles through colors and thicknesses for creating vibrant, almost hallucinatory patterns.

At the moment, the dual doodle knobs need to be physically connected to a computer so that a Processing script can work its magic and render the virtual Etch-a-Sketch. But, future versions may include wireless for sketching out images from the comfort of a couch and an accelerometer for the replicating the satisfying sensation of shaking the red fram to erase your creation. Basically, it's still a work in progress. Drawing with the Etch-a-Sketch 3.0 is just as satisfying, in a tactile sense, as the original, though we struggled slightly to get the hang of the pressure sensitive selector. One thing's for sure, though, the kids love it even more than the 1960 creation. Check out the video after the break to see it in action on the floor of the ITP Spring Show.

Continue reading Etch-a-Sketch 3.0 hands-on (video)

Etch-a-Sketch 3.0 hands-on (video) originally appeared on Engadget on Tue, 15 May 2012 20:21:00 EST. Please see our terms for use of feeds.

Permalink | Email this | Comments

Rocket Brand Studios now carries the Micro Magician

 

A wonderful package showed up today and inside were the first batch of the new Dagu Micro Magician Arduino board. Put simply, it is awesome.

 

 

It is really packed full of goodness, with IR, a sweet motor driver, and even an accelerometer. Just a great board for small bots.

read more

Text-Enabled Espresso Machine Prints Your Number on Foam

Get a personalized messages, order number or sponsor a coffee to the cute guy in the coffee shop with your number. Now the Arduino style!

We made the Textspresso machine to show off our cloud texting technology. It’s a robotic coffee machine. It utilized java script, 3 arduino microcontrollers, a couple servos, an ikea cupboard, and about 100 other pieces. We think it’s great. We’re open sourcing the plans in the coming weeks.

Created by Kelsey Klevenberg of the cloud texting service Zipwhip.

Via:[Make]

Arduino Blog 15 May 21:59

2WD Robot, ArduinoMega 1280, PanPing sensor problem

Hello everybody. 

First sorry for my English but not good. I want to ask the profis about my robotics problems. :) 
I have a 2wd mobile platform. I played with this so many and my old simple codes was working well. 

But I decided, I want to upgrade a little bit my "stupid" code which was very good with the fixed ping sensor and some IR sensor but too simple. Than I rebuilded all IR sensor first, and builded a little servo for the PING sensor. 

read more

Let's Make Robots 15 May 19:37
arduino  avr  ping  servo