Google+

Κυριακή, 13 Δεκεμβρίου 2015

Windows IoT Core on Raspberry Pi 2

Έχουν περάσει ήδη οκτώ μήνες (15 Απριλίου 2015), αφότου η MS ανακοίνωσε το δικό της λειτουργικό για την κοινότητα των maker/hacker, το Windows 10 IoT Core και μάλιστα με τα διαπιστευτήρια και τη συνεργασία του Arduino.
 

Από την Insider Preview έκδοση που είχα δοκιμάσει αρχικά, μέχρι την τελευταία 10.0.10586 έκδοση που ανακοινώθηκε πριν λίγες μέρες, έχουν βελτιωθεί αρκετά στοιχεία και δείχνει ότι έχει μπει στο δρόμο το σωστό... το δρόμο τον ανοικτό!

Μερικές βιβλιοθήκες στο github ms-iot... αλλά και οι πιστοποιήσεις για Linux στο Azure είναι αρκετές για να αποδείξουν ότι ο Linus νίκησε! ;)

Αρκετά όμως με τα εισαγωγικά, ας προχωρήσουμε με τη διαδικασία εγκατάστασης του λειτουργικού στο Raspberry Pi 2 :)

Τι θα χρειαστούμε:

1 x Raspberry Pi 2
1 x SD Card class 10 with at least 8GB of storage or 32GB to be safe ;)
1 x Power supply micro-usb (5v) with at least 1A of current or >2A to be safe ;)
1 x HDMI cable (display)
1 x Ethernet connection (internet)

Εγκατάσταση λειτουργικού μέσω του Windows 10 IoT Core Dashboard* που είναι διαθέσιμο για download από εδώ στον υπολογιστή και το οποίο θα μας βοηθήσει να περάσουμε το image στην SD:


Αν όλα πήγαν καλά, τοποθετούμε την SD στο Raspberry Pi και αφού έχουμε συνδέσει τα απαραίτητα, ξεκινάμε! Σε λίγα δευτερόλεπτα στην οθόνη βλέπουμε το default app:


Ανοίγουμε το dashboard στον υπολογιστή μας και επιλέγουμε το My devices:


Υπάρχει η επιλογή settings για την αλλαγή των βασικών ρυθμίσεων, όπως computer name και admin password:



και η επιλογή Open in Device Portal, που ανοίγει την αντίστοιχη web εφαρμογή που τρέχει στο raspberry pi σε ένα browser:


Το Device Portal είναι ένα ενσωματωμενό app και αποτελεί το εργαλείο διαχείρισης, σε επίπεδο device hardware και software os / applications.


Εναλλακτικά, υπάρχει και δυνατότητα διαχείρισης μέσω ssh πρόσβασης ή power-shell connection ώστε να μπορούμε εργαστούμε με cli, εδώ το πλήρες command set.

Για το τέλος, αφήνω το καλύτερο κομμάτι, αυτό της ανάπτυξης εφαρμογών (κυρίως σε C#, python και node.js) στο Windows IoT Core. Θα χρειαστεί να κατεβάσετε το Visual Studio Community 2015 εδώ και τα αντίστοιχα Windows IoT Core Project Templates εδώ μαζί με αρκετά Samples and Docs εδώ, για να ξεκινήσετε.

Στη συγκεκριμένη έκδοση του Windows IoT Core image, υπάρχει ήδη ένα demo app εγκατεστημένο (Hello Blinky) που αναβοσβήνει ένα από τα LED που βρίσκονται πάνω στο Raspberry Pi:



Πολλές ιδεές για hardware project θα βρείτε στη σελίδα της hackster.io που αποτελεί φυσικά άλλη μια συνεργασία με τη ms.


Σχετικά λινκ:
Windows IoT Home
Get Started with Windows IoT
Windows IoT Community Forum
Windows IoT on Github
Downloads and Tools


Happy W10 IoT Core Hacking !


*Εναλλακτικά, μπορεί να γίνει κατέβασμα του Windows 10 IoT Core Ιmage Τool εδώ

Σάββατο, 23 Μαΐου 2015

Measuring Inductance using an Arduino

Αν προσπαθήσατε ποτέ να μετρήσετε την αυτεπαγωγή (inductance) ενός πηνίου ενδεχομένως να είχατε παρατηρήσει ότι δεν είναι κάτι και τόσο εύκολο, μιας και δεν υποστηρίζεται εγγενώς από τα περισσότερα πολύμετρα, αν και βέβαια μπορείτε να το κάνετε χρησιμοποιώντας μια γεννήτρια συχνοτήτων και ένα παλμογράφο.

Τι θα λέγατε όμως αν αντί για όλα τα παραπάνω, χρησιμοποιούσατε ένα... Arduino !

Το πρόβλημα:

Έστω ότι κατασκευάζουμε ένα πηνίο (με N αριθμό σπειρών/περιελίξεων, l μήκος σπειρών και α ακτίνας σπειρών):
Με τον παραπάνω τύπο υπολογίζουμε, θεωρητικά, την τιμή L, σύμφωνα με τα χαρακτηριστικά του πηνίου που έχουμε κατασκευάσει.

Η Κατασκευή:

Χρησιμοποιούμε σύρμα τύπου AWG24 (από καλώδιο utp cat5), όπως φαίνεται παρακάτω στην εικόνα:

το πηνίο με 35 περιελίξεις (n), ακτίνας (a) 3cm και μήκος (l) 3,5 cm, με βάση τον παραπάνω τύπο, η αυτεπαγωγή του υπολογίζεται ~ 69,95 μH.
Η Μέτρηση:
Χρησιμοποιώντας το παρακάτω κύκλωμα, που υλοποιεί μια τεχνική σύγκρισης της τάσεως σημάτων με το LM339 (ιδέα του @Reibot.org)*, χρησιμοποιώντας το Digital Pin 13 του Arduino ως είσοδο στο LM339(συγκριτή) και στο D11 την έξοδο του LM339:
 
 
και φορτώνοντας το σχετικό sketch:
//13 is the input to the circuit (connects to 150ohm resistor), 11 is the comparator/op-amp output.
//reibot.org for guide
double pulse, frequency, capacitance, inductance;
void setup(){
Serial.begin(115200);
pinMode(11, INPUT);
pinMode(13, OUTPUT);
Serial.println("Why hello!");
delay(200);
}
void loop(){
digitalWrite(13, HIGH);
delay(5);//give some time to charge inductor.
digitalWrite(13,LOW);
delayMicroseconds(100); //make sure resination is measured
pulse = pulseIn(11,HIGH,5000);//returns 0 if timeout
if(pulse > 0.1){ //if a timeout did not occur and it took a reading:
capacitance = 2.E-6; //insert capacitance here. Currently using 2uF
frequency = 1.E6/(2*pulse);
inductance = 1./(capacitance*frequency*frequency*4.*3.14159*3.14159);//one of my profs told me just do squares like this
inductance *= 1E6; //note that this is the same as saying inductance = inductance*1E6
Serial.print("High for uS:");
Serial.print( pulse );
Serial.print("\tfrequency Hz:");
Serial.print( frequency );
Serial.print("\tinductance uH:");
Serial.println( inductance );
delay(20);
}
}
μπορούμε να παρέχουμε τις μετρήσεις στο Serial Monitor:
Ουυυπς!!! για να είμαστε ακριβείς μόλις 63,33 μH :)

Διαβάστε περισσότερα :
Easily measuring inductance with Arduino
Hackaday entry
Αυτεπαγωγή και Πηνία
Πηνίο Τέσλα

*Special thanx to @Alopix for his help & contribution (pcb etching)

Arduino + ESP8266 = Cactus Micro

Το Cactus Micro συνδυάζει ένα Arduino κι ένα ESP8266 wifi module:

Για όσους δεν το γνωρίζουν, το ESP8266 είναι ένα σχετικά νέο, αλλά αρκετά ικανό wifi module με το οποίο επικοινωνείς μέσω σειριακής θύρας(UART) και παρέχει διασύνδεση σε IP δίκτυα (client/server).

Το επαναστατικό ESP8266 φέρνει ακόμη πιο κοντά το IoT.

Είναι πολύ φτηνό και πλέον, οποιοσδήποτε μπορεί να δημιουργήσει project με αυτόνομα arduino nodes που συνδέονται μέσω wifi και μεταδίδουν δεδομένα σε κάποιο web service platform, εύκολα και γρήγορα!

Με το Cactus Micro ειδικότερα, χρησιμοποιείς το Arduino (ATmega 32U4) για να επικοινωνήσεις με το module σειριακά, μέσω AT commands όπου σύμφωνα με το σετ εντολών του, μπορείς να στείλεις δεδομένα σε web servers (POST) ή ακόμη να στήσεις ένα web-server στο ίδιο το ESP8266 αφού ενσωματώνει tpc/ip stack.


Υπάρχει η δυνατότητα και για firmware upgrade του ESP8266 μέσω του Cactus Micro Arduino και χρήση open source εργαλείων (python, esptool, κτλ)

Σχετικοί σύνδεσμοι:

Cactus Micro Developer Wiki
Cactus Micro on Github
ESP8266 Community Forum/Wiki
Projects on Hackaday w/ ESP8266

Κυριακή, 12 Απριλίου 2015

FM Radio with RDS

Το Si4703 FM Receiver Radio Breakout Module είναι ένα μικρό και όμορφο ραδιόφωνο FM με δυνατότητες RDS για το Arduino σας!


Για να το "οδηγήσετε" θα  πρέπει να ενσωματώσετε τη σχετική βιβλιοθήκη στον κώδικά σας, συνδέστε τα ακουστικά και απολαύστε τη μαγεία του ραδιοφώνου :)

Μερικές από τις λειτουργίες που υποστηρίζει η βιβλιοθήκη είναι:

Channel up/down
Volume up/down
RDS read

Η συνδεσμολογία με το Arduino:





Πολύ σημαντικό που πρέπει να γνωρίζετε είναι ότι το module απαιτεί 3.3V τροφοδοσία κι όσο για την επικοινωνία, επιστρατεύεται το SPI interface.



Σχετικοί σύνδεσμοι:
Si4703 FM Radio Receiver Quickstart Guide
New Arduino Library for Sparkfun Si4703 FM Receiver Breakout Board


Τελευταίο και πιο σημαντικό, η τιμή του στο ebay ;)

Καλή επιτυχία!

Κυριακή, 22 Μαρτίου 2015

Τετάρτη, 11 Μαρτίου 2015

Arduino Day 2015

Το Arduino GR σας προσκαλεί για 2η συνεχόμενη χρονιά να γιορτάσουμε όλοι μαζί οι φίλοι του Open Source Hardware!

#ArduinoD15 

Σας περιμένουμε όλους το Σάββατο 28/03 στο Techministry το νέο Hackerspace στη Θεσσαλονίκη.


Θα γίνει παρουσίαση Projects και θα ακολουθήσει ανοικτή συζήτηση για το DIY movement. Ταυτόχρονα θα παρακολουθούμε σε live streaming ένα από τα επίσημα event:

Arduino Officine, Torino, Italy


Για τον ίδιο λόγο υπάρχει και ανοικτή πρόκληση "Open Call" για την κατάθεση παρουσιάσεων σχετικών κατασκευών και εφαρμογών. Ο κάθε ενδιαφερόμενος μπορεί να στείλει email στο : 
skalapothas {at} gmail.com

Είσοδος Ελεύθερη!

https://www.facebook.com/pages/Arduino-GR/193467854030521http://techministry.grhttp://www.meetup.com/Thessaloniki-Arduino/

Πέμπτη, 5 Φεβρουαρίου 2015

2.4" touch TFT LCD shield

Ακόμη μια πρόταση για να δώσετε χρώμα στα project σας είναι ένα TFT Touch LCD Shield, που θα το βρείτε διαθέσιμο σε πολλές παραλλαγές στο ebay.


Βασικά χαρακτηριστικά:
· 2.4″ diagonal LCD TFT display
· Bright, 4 white-LED backlight, on by default but you can connect the transistor to a digital pin for backlight control
· Colorful, 18-bit 262,000 different shades
· 4-wire resistive touchscreen
· 240×320 resolution
· spfd5408 controller with built in video RAM buffer
· 8 bit digital interface, plus 4 control lines
· Uses digital pins 5-13 and analog 0-3. That means you can use digital pins 2, 3 and analog 4 and 5. Pin 12 is available if not using the micro SD
· 5V compatible, use with 3.3V or 5V logic
· Onboard 3.3V @ 300mA LDO regulator
Size: 71*52*7mm
Weight: about 31g
 
Βιβλιοθήκες:
Εδώ τα πράγματα είναι κάπως μπερδεμένα γιατί, όπως προκύπτει, οι πολλές παραλλαγέςστα ICs ελέγχου της οθόνης (driver) που χρησιμοποιούν σε οι κινέζοι κατασκευαστές, μπορεί να καταλήξει το project σε μια οδύσσεια ανεύρεσης της κατάλληλης-συμβατής βιβλιοθήκης!
 
Μερικά tft driver chip που μπορεί κάποιος να συναντήσει: (S6D0154,ILI9325,ILI9341,HX8347G)
 
Ευτυχώς, υπάρχει το sketch LCD_ID_Reader Version 1.2 που κάνει ακριβώς αυτό, αναγνωρίζει το chip της οθόνης και προτείνει τη σχετική βιβλιοθήκη! Παρακάτω, μερικές από αυτές:

 
Εφόσον ξεπεράσετε αυτόν το σκόπελο, όλα τα υπόλοιπα είναι εύκολα, αφού υπάρχουν έτοιμες μέθοδοι για απεικόνιση γραφικών, κειμένου και εικόνων .bmp:


 Τέλος, δε ξεχνάμε ότι αυτή η οθόνη ενσωματώνει δυνατότητες Touch και SD :


Σχετικές αναφορές:
Adafruit 2.8" TFT Touch Shield
Smoke and Wires Blog
Miscellaneous Web Stuff
mcufriend.com products

Κυριακή, 18 Ιανουαρίου 2015

Nokia 5110 LCD

Αν ψάχνετε μια φτηνή LCD οθόνη για τα project σας, τότε μια Nokia 5110 LCD είναι για εσας!
 

Όπως δηλώνει και το όνομά της, η οθόνη αυτή προέρχεται από τα παλιά Nokia 5110/3310 κινητά. Υποστηρίζει ανάλυση 84x48 pixels είναι μονόχρωμη, αλλά είναι αρκετά ευανάγνωστη και έχει και backlight. Μπορεί άνετα να χρησιμοποιηθεί για απεικόνιση γραφικών και κειμένου και για να την οδηγήσετε με το Arduino, θα χρειαστείτε 5 digital pins και τροφοδοσία 3-5v χαμηλής ισχύος.Δείτε παρακάτω μια τυπική σύνδεση:


Τα 5 digital pin:

Serial clock out (SCLK)
Serial data out (DIN)
Data/Command select (D/C)
LCD chip select (CS/CE)
LCD reset (RST)
μαζί με τα απαραίτητα Vcc, Gnd, BL.
Σε επίπεδο κώδικα, υπάρχουν αρκετές βιβλιοθήκες που υποστηρίζουν το chip (PCD8544) που περιέχετε σε αυτές τις LCD οθόνες και είναι πολύ εύκολο να εμφανίσετε κείμενο ή/και γραφικά με ένα Arduino.

Συμβατές βιβλιοθήκες:




Τι θα λέγατε για ένα παιχνίδι  "Φιδάκι" (Snake Duino) με Arduino;

Nokia 5110 LCD τσάμπα στο ebay...