Posts | Comments

Planet Arduino

Archive for the ‘Programming’ Category

Learning about how computers work and coding skills will be important for future generations, and if you’d like to get your kids started on this task—potentially before they can even read—the Ifs present an exciting new option. 

The Ifs are a series of four character blocks each with their own abilities, such as reproducing sound, movement, or sensitivity to light and darkness.

Children can program the blocks to accomplish tasks based on instructions that snap onto the top of each using magnets, and the whole “family” can communicate and work together to accomplish more advanced actions as a team. 

As outlined in more detail on this project page, the devices were developed using Arduino technology, and you can sign up here to be notified when they’re ready for crowdfunding.

The Ifs are full of sensors and actuators but they need some instructions in order to function. 

Programming is as simple as placing physical blocks in their heads with the help of magnets. No screens are involved. Each block has a different image serving as an intuitive symbol to represent an instruction. This makes the game suitable for children from the age of three, even before learning to read or write.

We only need different color pieces that are placed on their heads. The different color pieces are instructions that are combined as if it were a code, from being able to light them when it’s dark to making them communicate with each other. This allows kids to play with loops, statements, algorithms while also inventing their own stories. Their imagination is the only limit.

Embedded programming using the Arduino IDE has become an important part of STEM education, and while more accessible than ever before, getting started still requires some coding and basic electronics skills. To explore a different paradigm for starting out on this journey, researchers have developed Flowboard to facilitate visual flow-based programming.

This device consists of an iPad Pro and a set of breadboards on either side. Users can arrange electrical components on these breadboards, changing the flow-based program on the screen as needed to perform the desired actions. Custom ‘switchboard’ hardware, along with an Arduino Uno running a modified version of Firmata, communicate with the iPad editor via Bluetooth.

With maker-friendly environments like the Arduino IDE, embedded programming has become an important part of STEM education. But learning embedded programming is still hard, requiring both coding and basic electronics skills. To understand if a different programming paradigm can help, we developed Flowboard, which uses Flow-Based Programming (FBP) rather than the usual imperative programming paradigm. Instead of command sequences, learners assemble processing nodes into a graph through which signals and data flow. Flowboard consists of a visual flow-based editor on an iPad, a hardware frame integrating the iPad, an Arduino board and two breadboards next to the iPad, letting learners connect their visual graphs seamlessly to the input and output electronics. Graph edits take effect immediately, making Flowboard a live coding environment.

Want to learn more? Check out the team’s research paper here

Machine learning is starting to come online in all kinds of arenas lately, and the trend is likely to continue for the forseeable future. What was once only available for operators of supercomputers has found use among anyone with a reasonably powerful desktop computer. The downsizing isn’t stopping there, though, as Microsoft is pushing development of machine learning for embedded systems now.

The Embedded Learning Library (ELL) is a set of tools for allowing Arduinos, Raspberry Pis, and the like to take advantage of machine learning algorithms despite their small size and reduced capability. Microsoft intended this library to be useful for anyone, and has examples available for things like computer vision, audio keyword recognition, and a small handful of other implementations. The library should be expandable to any application where machine learning would be beneficial for a small embedded system, though, so it’s not limited to these example applications.

There is one small speed bump to running a machine learning algorithm on your Raspberry Pi, though. The high processor load tends to cause small SoCs to overheat. But adding a heatsink and fan is something we’ve certainly seen before. Don’t let your lack of a supercomputer keep you from exploring machine learning if you see a benefit to it, and if you need more power than just one Raspberry Pi you can always build a cluster to get your task done just a little bit faster, too.

Thanks to [Baldpower] for the tip!

petduino1The Tamagotchi is a thing of the past. Bring your virtual pet into the 21st century with LEDs and an Arduino-compatible processor.

Read more on MAKE

The post Petduino Is the DIY Tamagotchi You Can Hack appeared first on Make: DIY Projects, How-Tos, Electronics, Crafts and Ideas for Makers.

Lug
15

Using A TeensyLC To Emulate The XBOX 360 Controller

32-bit, 360, arduino, arduino hacks, ARM, fight stick, Programming, Teensy, teensyduino, teensylc, USB, xbox Commenti disabilitati su Using A TeensyLC To Emulate The XBOX 360 Controller 

After the release of Mortal Kombat X, [Zachery’s] gaming group wanted to branch out into the fighter genre. They quickly learned that in order to maximize their experience, they would need a better controller than a standard gamepad. A keyboard wasn’t going to cut it either. They wanted a fight stick. These are large controllers that look very much like arcade fighting controls and include a joystick and large buttons. [Zachery’s] group decided to build their own fight stick for use with a PC.

[Zachery] based his build around the TeensyLC, which is a 32 bit development board with an ARM processor. It’s also compatible with Arduino. The original version of his project setup the controller as a HID, essentially emulating a keyboard. This worked for a while until they ran into compatibility issues with some games. [Zachery] learned that his controller was compatible with DirectInput, which has been deprecated. The new thing is Xinput, and it was going to require more work.

Using Xinput meant that [Zachery] could no longer use the generic Microsoft HID driver. Rather than write his own drivers, he decided to emulate the XBOX 360 controller. When the fight stick is plugged into the computer, it shows up as an XBOX 360 controller and Windows easily installs the pre-built driver. To perform the emulation, [Zachery] first had to set the VID and PID of the device to be identical to the XBOX controller. This is what allows the Microsoft driver to recognize the device.

Next, the device descriptor and configuration descriptor had to be added to the Teensy’s firmware. The device descriptor includes information such as USB version, device class, protocol, etc. The configuration descriptor includes additional information about the device configuration. [Zachery] used Microsoft Message Analyzer to pull the configuration descriptor from a real XBOX 360 controller, then used the same data in his own custom controller.

[Zachery] programmed the TeensyLC using the Arduino IDE. He ran into some trouble here because the IDE did not include the correct device type for an Xinput device. [Zachery] had to edit the boards.txt file and add three lines of code in order to add a new hardware device to the IDE’s menu. Several other files also had to be modified to make sure the compiler knew what an Xinput device type was.  With all of that out of the way, [Zachery] was finally able to write the code for his controller.


Filed under: Arduino Hacks, ARM
Lug
03

Arduinos (and other AVRs) Write To Own Flash

arduino, arduino hacks, AVR, bootloader, flash memory, optiboot, Programming Commenti disabilitati su Arduinos (and other AVRs) Write To Own Flash 

In this post on the Arduino.cc forums and this blog post, [Majek] announced that he had fooled the AVR microcontroller inside and Arduino into writing user data into its own flash memory during runtime. Wow!

[Majek] has pulled off a very neat hack here. Normally, an AVR microcontroller can’t write to its own flash memory except when it’s in bootloader mode, and you’re stuck using EEPROM when you want to save non-volatile data. But EEPROM is scarce, relative to flash.

Now, under normal circumstances, writing into the flash program memory can get you into trouble. Indeed, the AVR has protections to prevent code that’s not hosted in the bootloader memory block from writing to flash. But of course, the bootloader has to be able to program the chip, so there’s got to be a way in.

The trick is that [Majek] has carefully modified the Arduino’s Optiboot bootloader so that it exposes a flash-write (SPM) command at a known location, so that he can then use this function from outside the bootloader. The AVR doesn’t prevent the SPM from proceeding, because it’s being called from within the bootloader memory, and all is well.

The modified version of the Optiboot bootloader is available on [Majek]’s Github.  If you want to see how he did it, here are the diffs. A particularly nice touch is that this is all wrapped up in easy-to-write code with a working demo. So next time you’ve filled up the EEPROM, you can reach for this hack and log your data into flash program memory.

Thanks [Koepel] for the tip!


Filed under: Arduino Hacks
Mar
07

Embrio: A visual programming environment for Arduino

arduino, Embrio, Programming Commenti disabilitati su Embrio: A visual programming environment for Arduino 

embrio-screenshot-1-600x278Embrio

Embrio, create Arduino programs without writing code:

Easy To Use -Make programs by adding and connecting nodes. No coding necessary!

Real Time Connection -Work with a live connection to your Arduino, see how your program works as you build it!

Powerful -While easy to use, Embrio is a powerful development tool that you won’t outgrow as your skills develop.

Embrio: A visual programming environment for Arduino - [Link]

Gen
29

Windows Bean Loader Enables Wireless Arduino Programming from Surface Pro Tablets

arduino, Bluetooth LE, Programming, Software Commenti disabilitati su Windows Bean Loader Enables Wireless Arduino Programming from Surface Pro Tablets 

win_bean_loader_1

SAN FRANCISCO and MINNEAPOLIS, January 26, 2015 — Punch Through Design, a hardware and software development firm that brings Bluetooth Low Energy hacking to the masses, has released the Windows Bean Loader, the first-ever wireless Arduino programming app for Windows users. Using the loader app, Windows-based developers and hobbyists can easily upload code to their LightBlue Bean and experience the power of Bluetooth Low Energy, without cables or a physical connection to the LightBlue Bean.

“The LightBlue Bean represents a new method of wirelessly interacting with prototypes and projects; says Colin Karpfinger, founder and CEO, Punch Through Design. Previously, only Mac OS X and iOS users could program their Beans, and now we are extending that functionality to Windows users.

The full-featured app, available from the Windows Store, fills a void for Windows-based developers and DIYers looking to create smartphone-controlled devices.

Windows Bean Loader Enables Wireless Arduino Programming from Surface Pro Tablets - [Link]

Apr
17

Arduino AVR Progamming Shield

arduino, AVR, Programming, shield Commenti disabilitati su Arduino AVR Progamming Shield 

FLKLUX6HTK2J358.MEDIUM

Do you need a quick and easy way to program AVR chips. Did you know you can use your Arduino and the Arduino IDE? This Arduino shield makes the process much easier.

Arduino AVR Progamming Shield - [Link]

Apr
16

How to make your own Primo prototype using digital fabrication and Arduino boards

arduino, ArduinoAtHeart, Kids, Programming Commenti disabilitati su How to make your own Primo prototype using digital fabrication and Arduino boards 

primo doc

Primo‘s team sent us exciting news from their HQ about their contribution to the open source community. After the successful Kickstarter campaign to launch the wooden play-set that uses shapes, colours and spacial awareness to teach programming logic through a tactile, warm and magical learning experience, they took a step further. They released all the documentation and the instructions to produce a Primo prototype,  different from the product that they make and sell.

We just finished the first edition of the Primo play-set open documentation, that includes the design files that we used to make our first prototype and a step-by-step guide to make your own version of the Primo play set. This “maker” version of our product can be assembled using rapid prototyping techniques and common tools like Arduino boards.

We recently published a preview of this documentation just for our Kickstarter backers, who already started to build their projects and to translate the document in their language. The FabLab in São Paulo for example already translated it in Brasilian Portuguese, while other languages like Dutch, Italian and Japanese are now in progress.

The whole documentation is completely transparent: it’s written in Markdown using Jekyll and GitHub pages. In this way it is very easy for creators to modify, translate and use it as a starting point for their projects.

In parallel we are developing an industrial version of our product, using manufacture-quality materials and custom Arduino-compatible electronic boards.

 

Primo

And if you want to read about the experience of a dad making a DIY version in 1 month and a half of work, follow this link.

Primo is an Arduino At Heart partner. If you have a great project based on Arduino and want to join the program, read the details and then get in touch with us.



  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook