Posts with «arduino» label

Sabato 27 Ottobre tutti pronti per #LinuxDay2012

Come ogni anno, il 27 Ottobre 2012 si terrà in oltre 100 sedi in Italia il Linux Day, manifestazione nazionale di promozione al software libero open-source. Come non promuovere i fratelli maggiori?


Presso alcuni eventi si terranno talk e presentazioni su Arduino e il mondo dell’open-hardware: vi invitiamo a segnalarceli nei commenti a questo post, precisando luogo, ora e/o il link al sito di riferimento.   Il sito ufficiale del Linux Day 2012 è: http://www.linuxday.it .

Lista dei LinuxDay con interventi su Arduino :

San Benedetto del Tronto (AP)

Bergamo (BG)

Sedic (SL)

Bologna (BO)

Empoli (FI)

Cassino (FR)

Capo di Leuca (LE)

Messina (ME)

Milano (MI)

Palermo / Partinico (PA)

Perugia (PG)

Pisa (PI)

Pistoia (PT)

Urbino (PU)

Riccione (RN)

Torre Pellice (TO)

Ivrea (TO)

Trapani (TP)

Terni (TR)

Castel Franco Veneto (TV)

Lonate Pozzolo (VA)

Vicenza (VI)

Valdagn (VI)

Villafranca di Verona (VR)

 

Happy Hacking!

Arduino Blog 25 Oct 11:55

DIY less-expensive Thermal imaging camera

A thermal imaging camera is used for the purpose of energy auditing for homes and offices. Typically these require equipments such as FLIR B60 which are worth $5000 to $8000. This article by David Schneider however talks about a cheap DIY camera. Inspired by the award winning design using Arduino by two two 18-year-old students, Max Ritter and Mark Kohl, from Mindelheim, Germany.

The Schneider version of the thermocam, however, uses a slightly different partlist for the sake of robustness.

The parts used were:
Melexis’s MLX90614?DCI ($52), Arduino microcontroller($30), powder-coated metal enclosure for Arduino($30), Hitec HS425BB x 2 servos($13×2), DDT500H for pan-tilt mechanism($25), plastic mount for servos($5), COM-08654 Laser module with digital controller($19)

The applications were numerous:
- Checking around the home for weather-stripping faults. Even minor gaps were shown more clearly.
- Scanning people and imitating Kirilian photography to picture the actual energy that people emit.

For a more step-by-step on how to build, head here.

Happy building!

Via:[IEEE Spectrum],[Cheap-thermocam]

Arduino Blog 25 Oct 10:29

Hummingbird: “Pre-Arduino” for Kids

Arduino was conceived as an open source microcontroller for artists, designers, and others who aren't necessarily techie/programmer types. Of course, all sorts of makers have flocked to this technology because of its versatility. But in spite of its relative ease of use, there's still a barrier to entry for new users. Like kids. For that reason, BirdBrain Technologies' Hummingbird looks promising. They call it "pre-Arduino."

Read the full article on MAKE

MaKey MaKey: I Want One!


Jay Silver's "MaKey MaKey: An Invention Kit for Everyone" raised over a half million Kickstarter dollars (above a $25K goal) and he deserve the crazy success-- the video is a brilliant demo/sales piece that on its own inspires you to make things... and of course buy a Makey Makey. Just awesome stuff, and at its core: an Arduino! I'm adding it to the spreadsheet... after ordering one or two...:)

Hummingbird is a 'pre-Arduino' for kids (video)

It's an Arduino -- you know, for kids. Or, as BirdBrain Technologies' chief robot design Tom Lauwers put it, a "pre-Arduino." It's never too early to get kids into robot building -- or so goes the thought process behind this nectar-loving kit. At its center is a custom controller that can be used to manipulate a slew of different sensors, motors and lights, a number of which are included in the box. Getting started is extremely simple -- don't believe us? Check the video after the break, in which Lauwers connects two wires to get the whole process underway.

The kit's also reasonably priced at $199 a piece. On top of the controller, you get a handful of LEDs, two vibration motors, four servos and light, temperature, distance and sound sensors. The kits are currently available through the company's site (click on that source link). Lauwers tells us that his company (which you may remember from last year's MakerFaire NYC) is working on a slightly more affordable option priced at around $130, which scales back a bit on the in-box components.

Check out a conversation with Lauwers -- and a pretty awesome cardboard dragon -- below.

Continue reading Hummingbird is a 'pre-Arduino' for kids (video)

Filed under: Robots

Hummingbird is a 'pre-Arduino' for kids (video) originally appeared on Engadget on Wed, 24 Oct 2012 12:54:00 EST. Please see our terms for use of feeds.

Permalink | Email this | Comments

DIY Arduino FM Radio (Part 2).

 Updates on 24 Oct. 2012.

If you have read my first blog on the topic, than you already know what I’m experimenting with. Low price FM Radio, build with TDA7088 / YD 9088. It was obvious, that technology from the early 90-x is outdated. I mean, simple “search and hold” function of the radio.

  • Scan function works only one way, up in the frequency.
  • After switching power “on/off” you have to tune it again on your preferred radio wave.
  • You have no means to know, what is the frequency it’s on.
  •  Occasionally you can’t “push” a tuner to the next station on the air, and have to send multiple commends.

The problem is that radio luck intellectuality, you can’t do much with  RS trigger.  Arduino, even it’s small and 8-bits only, just a monster on this matter, with CPU, ADC and EEPROM. Now it’s time to use them!  Radio-2 able to automatically scan all radio station in the area, store them in non-volatile memory, and plus do a manual “tunning” – mostly for debugging purposes.

This version of the shield requires 4 wires (plus a cap, 4 resistors, and radio, of course). Two power lines, the same like in the first project, and other two connected to pin 1 of the IC and to variable capacitance diode. You also have to cut a trace, which connects Varicap and pin 16. Look at the schematic above.

Digital pin 9 of the arduino, internally driven by TIMER 1, is PWM-ed frequency control voltage to tune a heterodyne.  FAST PWM mode, 10-bit is a compromise between PWM frequency and voltage resolution. We can’t get both, for example 16-bit PWM would drop a frequency down to 16 MHz / 65536 = 244 Hz, which is too low to be filtered by primitive  RC filter, and plus not adequate to do a fast “sweep” or changes in tunning. The same time 8-bit PWM has low voltage resolution, and consequently creates too big “steps” in bandwidth. Measurements show, that radio has about 1 V / 20 MHz sensitivity of the VCO, which would imply to have a resolution at least:  1 V / 20 MHz / 200 kHz = 10 mV, where 200 kHz is a “spacing” in FM broadcasting schedule.  8 bit analogWrite has a resolution 5 V / 256 = .19.53 mV. Even resistors divider improves this value on 0.6 times (3 v / 256 = 11.72 mV), it’s still bigger than necessary minimum. With 10-bits I have 3V / 1024 =   2.93 mV.   Using of external DAC isn’t an option for a few backs radio, but may be worse to try. PWM frequency with 10-bit equals to 16 kHz, which could be easily filtered out with 1-st order RC network.

Analog pin 3 (AN3 ADC), reading the “signal strength” output line from the YD9088.

uint16_t read_tuner()
  {
   uint16_t temp = 0;
      for( uint8_t i = 0; i < 16; i++ ) {
        ADCSRA |= (1<<ADSC);
        while(!(ADCSRA & 0x10));
        temp += ADC;
       }
    temp = 5 * temp / 16;
    return temp;
  }

As you can see, readings averaged over 16 values, which increases a resolution on two additional bits.

Search algorithm has a “window” of 5 samples, to be able to recognize a peaks in the incoming data.

for( uint16_t i = 1023, prn_dot = 0; i > 500; i-- ) {
     OCR1A = i;
     delay(200); // T = R x C = 1 M x 0.1 uF = 0.1 seconds.
     lpf[i%5] = read_tuner();

  uint16_t accum = 0;
       for( uint8_t jp = 0; jp < 5; jp++ ) {
         accum += lpf[jp];
         }
        accum /= 5;
        if ((prn_dot++) % 32 == 0) Serial.print("\n");
          Serial.print(" *");
        if ( accum > maxim )
         {
          maxim = accum;
          trigg = 1;
         }
        if ( accum < maxim )
         { 
          if ( trigg )
           { 
            if ( accum > BARRIER )
             {
              store_entry( posit, (i + 1));
                Serial.print("\n");
                print_transl( posit );
                prn_dot = 0;
              posit++;
              if ( posit >=20 ) return;
              }
             }
          maxim = accum;
          trigg = 0;
     }
   }
 }

All I have to do, is to set a threshold for radio station, in order to be distinguished from the background noise and interference. Tunning data are stored in 40 EEPROM bytes, list includes 20 radio stations overall.

Sketch, Arduino UNO:  FM_Radio_YD9088

 24 Oct. 2012

 In first part of this project, I already write about voltage – frequency non-linearity and how I get the coefficients to improve accuracy of the voltage-to-frequency (VTF) conversion formula, based on power regression. Formula in second part was slightly different, I used second degree polynomial (parabola) approximation, which provides better match to measurements data. Even LibreOffice helps a  lot with calculation, but in overall I spend a lot of time to figure out the values of the coefficients. Plus filling the data table in spreadsheet also quite time consuming. Can Arduino do this work, finding a coefficients to second degree polynomial that “fits” to experimental data? From mathematical / science point of view, the task is interesting itself, and could be a great part of any science project, not necessarily a radio tuner. The method I choose – Least Squares.

 To my great surprise, arduino solved a problem in a splits of second!  I upgrade a sketch, which includes a calibration procedure now, calling via “c” from the serial monitor console input-output interface (Hi, DOS era).

void calibrate()
 {
 //Least squares parabola (2-nd degree polynomial) coefficient calculation
 float arr[5][5] ={{0},{0}}, err[5] = {0}, coeff[5] = {0};

 err[0] = 5;
 for(uint8_t i = 1; i < 5; i++)
  {
   err[i] = 0;
   for(uint8_t j = 0; j < 5; j++)
    {
     err[i] += pow(calibration[j], i);
    }
  }
 for(uint8_t i = 0; i < 3; i++)
  {
   for(uint8_t j = 0; j < 3; j++)
    {
     arr[i][j] = err[i+j];
    }
  }
 for(uint8_t i = 0; i < 3; i++)
  {
   arr[i][3] = 0;
   for(uint8_t j = 0; j < 5; j++)
    {
     if (i==0) arr[i][3] += radio_table[j];
     else arr[i][3] += radio_table[j] * pow(calibration[j], i);
    }
  }
 for(uint8_t k = 0; k < 3; k++)
  {
   for(uint8_t i = 0; i < 3; i++)
    {
     if ( i != k )
      {
      for(uint8_t j = (k + 1); j < 4; j++)
       {
        arr[i][j] -= ((arr[i][k] * arr[k][j]) / arr[k][k]);
       }
      }
    }
  }

union split_float {
 uint16_t tegri[2];
 float loatf;
 } sf;

for(uint8_t i = 0; i < 3; i++)
 {
  coeff[i] = ( arr[i][3] / arr[i][i]);
  sf.loatf = coeff[i];
  store_entry(( 20 + 2 * i), sf.tegri[0] );
  store_entry(( 21 + 2 * i), sf.tegri[1] );
 }
}

In order to perform a calibration procedure, you would need 5 Radio Stations (RSts) available in your area, and their frequencies. (Calibration doesn’t have much sense, if there are less than 5).  Edit this line in the code:

const float radio_table[5] = { 92.5, 97.7, 100.7, 105.7, 107.3 };  

For better results, choose two RSts from both side of the band ( 88 and 108 for North America ) and others in the middle. The signal (RSSI) has to be strong, you may need an external antenna properly oriented for maximum RF field. Run a “scan” first, and see what you get in the list. After this part completed, run “c”.

Arduino starts / a scan : optional /, than would ask you to tune a radio  on the first RSt in the radio_table.  When calibration was done at least ones, print a list with “l” command (interface isn’t blocking, you can send any commands, except digits). If Rst in the list, than use “u” or “d” to tune a radio. Than use “v”  -  ”n” for fine tunning, plus “x”, pay attention to RSSI, find the best position. If you start calibration first time, you can’t use a radio_list, because MHz data would be far off or completely wrong. Use another radio with digital scale or you have to listen content and compare it to RSts broadcasting schedule.

Enter “y” and send. Follow the instructions on the screen. At the end, arduino would store coefficients in the EEPROM, print them out for your review and say “Finished”. Print a list again, and check if the data in front of MHz is correct.

CLI:

  1. “x” – print current settings, fine tunning / calibration / debug;
  2. “Dr” – read settings from the previously stored radio list. (D is digits 0 <-> 19).
  3. “Dw” – write settings to the radio list. (D is digits 0 <-> 19).
  4. “u” – change radio to next “UP” in the list;
  5. “d” – change radio to next “DOWN” in the list;
  6. “s” – full “SCAN” of the air, and save to EEPROM;
  7. “l” – print out a stations list from the memory;
  8. “v” – push tuner “up” on 1 step, debug (“ux”);
  9. “n” – push tuner “down” on 1 step, debug (“nx”);
  10. “c” and “y” – calibration of the VCO, voltage settings – frequency conversion.

Listing of commands isn’t final, and  may have some variation.

Sketch:  FM_Radio_calibration.


Arduino-Controlled Robots Webcast With Author Michael Margolis

Considering a robot for your next Arduino project? Even if you're not, this free webcast with the author of the Arduino Cookbook will teach you plenty of practical information about controlling motors and using sensors with Arduino.

Read the full article on MAKE

MAKE » Arduino 23 Oct 16:14

Maker Shed Exclusive: Arduino Shield Robot Kit – In MAKE Blue!

The Parallax Boe-Bot has long been used for teaching robotics to hobbyists and students. Earlier this year, Parallax took the idea behind the Boe-Bot and applied them to the Arduino to create the Robotics Shield for Arduino Kit. We in the Maker Shed like this kit so much that we worked with Parallax to have the chassis custom anodized in royal MAKE blue, just for you!

Read the full article on MAKE

Romibo therapeutic robot, eyes-on (video)

Between old Paro the robo seal and the original iteration of Keepon, we've seen plenty of adorable robots designed for therapeutic purposes. Romibo's creators have no qualms admitting that their own creation is following in those cuddly footsteps, but what sets their furry 'bot apart from much of the competition is a focus on (relative) affordability. For starters, there's the fact that Romibo is being offered up as an open-source project online, letting do-it-yourselfers build their own versions and contribute custom designs.

The company's also hoping families will get into the act, making sure that Romibo is "able to be assembled by a neurotypical child 10+ and a parent" -- and then there are the plans to offer up workshops to let folks build robots to be donated to special needs facilities. Once built, Romibo can drive around, blink its eyes, speak and move its antennae. Crack it open and you'll find WiFi, bluetooth, light sensors, an IR Proximity sensor, accelerometers and a big 'ole Arduino Mega. There's a certain amount of autonomous functionality (watch in the video below as Romibo's handler warns about it driving off the edge of the table), or you can control the robot via an iPad app. You can also use an SD card to help teach it some new words.

Continue reading Romibo therapeutic robot, eyes-on (video)

Filed under: Robots

Romibo therapeutic robot, eyes-on (video) originally appeared on Engadget on Tue, 23 Oct 2012 09:46:00 EST. Please see our terms for use of feeds.

Permalink | Email this | Comments

A Halloween Sound Trigger with Raspberry Pi and Arduino

People have been asking me about interesting applications for the Raspberry Pi, and whether Raspberry Pi is an Arduino killer of some sort. The answer to the second question is no; in fact it is an Arduino augmenter. This blog post answers the first question with another question: how about [...]