!Support Ukraine!

Posted in English Content, Italian Content | Leave a comment

Why Arduino UNO rocks

This entry is part [part not set] of 15 in the series Arduino

After some years in IoT, I tried a bunch of different platform like esp8266 but Arduino remains a must.

Simple reason to choose it for your first (or second :) IoT project:

  1. Arduino works at 5V and can accept as input voltage 7-12V, but with limit up to 20V (avoid it! :).
    This mean you can use a wide range of power supply (4 AA Batteries, 12V transformer from your dead router and so on)
  2. Arduino board provides a 5V regulated output and a 3.3V too for working with a wide range of sensors.
  3. You got 6 Analog2Digital pins (the A0…A5 pins) with a 0..1024 value resolution. In comparison, esp8266 has only one pin with less resolution.
  4. It is completly open source, so you can find easily cheap clones like this one at less then 10 euros.
  5. The ATmega328P chip inside Arduino provide I2C and SPI communication which means you can easily work with other chip.
    You can even program an Arduino to be an I2C client to other Arduinos making a small set of complex circuits.
    For instance, the C/64 SID chip emulator can be compiled to act like a I2C slave and another Arduino can program it like…a SID chip
  6. Did I talk about the real time operating system, written by an italian guy?….  I was able to use it to build a small “Egg box Lamp“.
Posted in Arduino EggBox, English Content | Comments Off on Why Arduino UNO rocks

Arduino Real Time OS Evolution (flash news)

This entry is part [part not set] of 15 in the series Arduino

A new version of an Arduino Realtime OS is on the go:

I have used with profit and fun NilRTOS, and I strongly suggest to you this new variant.

A preemptive multi tasking RTOS in a 2KB 1-MIPS, 8 bit microcontroller remember be the ugly time when a MS-Windows 3.x with 1 MB of RAM was an inferior operative system no-preemptive at all, but with nice software like Excel and Access

Posted in Arduino, English Content | Tagged | Comments Off on Arduino Real Time OS Evolution (flash news)

BBC Micro bit: first look

The BBC Micro bit an ARM-based embedded system designed by the BBC for use in computer education in the UK. The device has been given away free […] [to every 11 years old pupil] in the UK, and is also available for purchase by anyone.

This is the wikipedia definition.

micro_bit

The BBC:Micro compared with some coins: very small indeed

With a 5×5 led matrix, two buttons, a compass and a 3-axis accelermeter, this small unit has a lot of interesting suff packed for less then 17€ on Amazon


The core is an ARM CortexM with 16KB of RAM and 256KB of static flash for the code.

The Microbit web site offers a very huge set of videos and teaching material. But to regster you need to got an authorization code, because the site seems teacher-oriented, at least for publishing code samples.

It is not very easy to search for code samples, even if there is a bizzarre “site” index, who rememebrs me a 1995 web site :)

The micro:bit is plug and play: when you connect it on a PC  USB, a magic drive will appear. Simply copy your “hex” code on it and…no other steps are needed!

Comparing with an Arduino uno:

Pros

  1. Four different web editor (Microsoft Blocks, Microsoft Touch Develop, Code Kingdoms JavaScript and MicroPython) to start.
    No C language knowledge required.
    Install nothing and get ready in seconds.
    Very easy upload procedure (is a simple drive copy!)
  2. A lot more RAM then arduino (16Ks vs 2kBs)
  3. 3-more pin on the bottom and +3V and GND to attach extra leds/sensor and so on
  4. MicoPython-ready
    Very good collections of examples and demo at https://github.com/bbcmicrobit/micropython.The python runtime has a good hardware coverage too.
  5. Low power: only 3Volt needed for operation (Arduino needs at least double as far as I know, anyway can work in a wider range and can output 3.xV and 5V).
  6. Quite aggressive price.

Cons

  1. Very difficult to download an off-line editor. The online editors use a custom format to save your code. In general the platform seems a bit too close for “ordinary” people. Arduino is much more open. Anyway the micropython is open source and only need a free account on ARM web site (mbed.org). Also my attempt to build the python editor was unsuccessful. The python editor lacks compilation checks anyway.
    I was able to build Micropython with a bit of work on MacOSX
  2. Very very tiny.  For a 6/7 years old child is only “small”, for an adult is “tiny”.
  3. To access the smaller pins like I2C you need additional stuff and/or precise soldering

Anyway I was very impressed. Every Europe school should get one.

 

Posted in Arduino, English Content, IT Featured, Software | Tagged , , , | Comments Off on BBC Micro bit: first look

RaspberryPi 2: The perfect box for your backpack

After my two children grow a little, I have some spare time to play with RaspberryPi. I have bought a Raspberry Pi 2 Model B, a very neat and compact machine with 1GB of RAM, and a quad-core ARM chip on it.

I was looking for an easy-to-carry unix box, and I was wrong: raspberry pi can be a lot more than that.nippon-gio

Continue reading

Posted in Arduino, English Content, IT Featured, Knowledgebase, Unix | Tagged , , | Comments Off on RaspberryPi 2: The perfect box for your backpack

Arduino Stereo sid

Posted in Arduino, English Content, Gio's Software Projects, IT Featured, Knowledgebase, Retro Computing, Software | Tagged , | Comments Off on Arduino Stereo sid

Egg box con Sensore sonico

This entry is part 1 of 3 in the series Arduino the Egg Box Lamp

Costruiamo una lampada luminosa con Arduino, un sensore sonico ed…una scatola di uova :)

Come abbiamo già visto le scatole traslucide per il trasporto delle uova sono un ottima base per creare piccole lampade, per diverse ragioni:

  • sono facili da trovare
  • sono leggere
  • sono abbastanza rigide
  • possono essere incollate con del Vinavil (strano ma vero)

Questa versione di eggbox è composta da una sola scatola da quattro uova e da un sensore sonico che potete trovare su amazon per meno di 5€. In realtà il suo prezzo dovrebbe essere meno di 3€, ma considerando l’affidabilità di Amazon (viene recapitato in meno di 3 giorni e senza costi di spedizione) è ancora un prezzo accettabile.

Cosa vi serve:

  1. Arduino Uno
  2. Cavi rigidi di 3-4 colori
  3. Un sensore sonico
  4. Uno o più led ad alta luminosità
  5. Un caricabatterie usb da cellulare, dal costo contenuto. Ongi tanto nei supermercati trovate offerte per caricabatterie sotto i 10€.
  6. Un paio di mini breadboard.

Arduino uno viene montato al contrario sulla superficie piana della scatola di uova:per tenerlo in posizione vengono creati 4 buchi da cui vengono passati quattro fili rigidi da connettere al sensore sonico

Inoltre su un lato viene fatto un buco per far passare il cavo USB, che verrà alimentato con batteria USB.

arudino_egg_effect1

Il codice che ho progettato è una variante di un esempio d’uso del sensore sonico, ed è integrato con NilRTOS, di cui ho già ampiamente parlato.

Il sensore ha bisogno di 4 connessioni e non tre come il Ping  ma non richiede pin PWM e costa sei volte di menoQuesto tutorial è molto chiaro e pure in italiano.

Le connessioni sono l’alimentazione da 5volt, la massa e due pin Trigger e Echo. Inviando un valore su Trigger si legge il risultato su Echo.

[code lang=”cpp”]
//HC RS04 Sensore ultrasuoni
const int triggerPort = 7;
const int echoPort = 8;
const int blueLed=11;
const int maxDistCm=28;
#include
#include

void setup() {

pinMode( triggerPort, OUTPUT );
pinMode( echoPort, INPUT );
pinMode( blueLed, OUTPUT);
Serial.begin( 9600 );
Serial.println( "Sensore ultrasuoni: ");
nilSysBegin();
}

void loop() {
//nilPrintUnusedStack(&Serial);
//Serial.println();
}

NIL_WORKING_AREA(waUltrasonicSensor, 64);
NIL_THREAD(UltrasonicSensor,arg){
static long lastValue=0;
while(true) {
//porta bassa l’uscita del trigger
digitalWrite( triggerPort, LOW );

//invia un impulso di 10microsec su trigger
digitalWrite( triggerPort, HIGH );
delayMicroseconds( 10 ); // nilThdSleepMicorseconds
digitalWrite( triggerPort, LOW );

long duration = pulseIn( echoPort, HIGH );

long r = 0.034 * duration / 2;
if(r != lastValue){

Serial.print( "durata: " );
Serial.print( duration );
Serial.print( " , " );
Serial.print( "distanza: " );

//dopo 38ms è fuori dalla portata del sensore
if( duration > 38000 ) Serial.println( "fuori portata");
else {

Serial.print( r ); Serial.print( "cm" );

Serial.print(" ");
nilPrintUnusedStack(&Serial);
if(r <=maxDistCm && r>=5 ){
int v=map(r,5,maxDistCm,0,255);
Serial.print( v );
Serial.print(" LED ");
analogWrite(blueLed, v);
}

}
lastValue=r;
}
//aspetta mezzo secondo ca
/* we
suggest to use over 60ms
measurement cycle, in order to prevent trigger sign
al to the echo signal
*/
nilThdSleepMilliseconds( 60*2 );
}
}

NIL_THREADS_TABLE_BEGIN()
NIL_THREADS_TABLE_ENTRY(NULL /*TH NAME*/, UltrasonicSensor, NULL, waUltrasonicSensor, sizeof(waUltrasonicSensor))
NIL_THREADS_TABLE_END()
[/code]

Il codice dello sketch è molto semplice ma non fatevi ingannare: difatti consente di impostare la luminosità avvicinando od allontanando la mano, ma se la si solleva di scatto il valore impostato rimarrà fisso. Difatti se il valore letto (=la distanza letta) supera la toleranza di 20cm il sistema non fa nulla, ed il led rimane dell’intensità selezionata.

Il sensore poggia sulla mini breadboard e non c’è bisogno di alcuna saldatura, a patto di avere fili della giusta lunghezza e ben tirati.

E’ possibile aggiungere altri led che pulsano con effetti differenti

IMG_2013

 

 

Posted in Arduino, Arduino EggBox, Italian Content | Tagged | Comments Off on Egg box con Sensore sonico

Arduino Starter Kit: Prime impressioni

This entry is part [part not set] of 15 in the series Arduino

In queste settimane abbiamo provato l’Arudino Starter Kit, ed ecco le nostre prime impressioni.arduino_starter_kit1

Il kit costa sui 105€ IVA inclusa, ed è possibile ordinarlo anche su Amazon.it. La scatola è molto curata ed è accompagnata con un manuale che presenta 15 esempi a difficoltà crescente.

Nel kit è fornita una basetta di legno da montare, su cui avvitare l’Arduino UNO R3, ed appiccicare una breadboard.

Vengono forniti un buon numero di componenti tra cui un transistor MOSFET, due foto accoppiatori, tre potenziometri ed un integrato che implementa un ponte H (per controllare dei semplici motori non servo): tutti documentati sul sito.

Il costo del kit non è bassissimo se ci si ferma ai componenti base. L’Arduino originale versione R3 e l’ottimo manuale fanno la differenza; gli esempi sono molto stimolanti. Tanto per intenderci uno degli esempi mostra come rilevare la pressione di più bottoni usando un solo piedino e sfruttando il delle resistenze messe in serie.
Un altro esempio usa la libreria capacitive sensor per creare un sensore capacitivo.

Questi esempi sono molto più evouti rispetto a quelli della prima versione del manuale, e va quindi considerato un notevole valore aggiunto.

Nel testo, vi sono rimandi di approfondimento con link sul sito arduino.cc che abbiamo trovato sempre funzionanti (abbastanza raro di questi tempi).

Il giudizio finale è positivo.

 

Posted in Arduino, Italian Content | Tagged | Comments Off on Arduino Starter Kit: Prime impressioni