Haideti la Ubervu Hack Days #3 !

Sambata, 11 februarie, va invitam la Ubervu Hack Days #3. Robofun va aduce tot hardware-ul de care aveti nevoie ca sa putem aborda si proiecte in zona DIY hardware.  Vom aduce placi Arduino si dispozitive din gama “pentru programatori“, astfel incat sa ne putem focusa pe zona de programare.

Cateva idei de proiecte mai jos.

 

Componente : Senzor accelerometru (orientare) cu conectare USB

_________________________________

 

Componente : Senzor card RFID cu conectare USB si Modul Senzor Prezenta Umana

_________________________________

 

  • extensie de browser care comunica cu un alcoolmetru si nu iti permite sa te faci de ras in social media atunci cand ai prea putin sange in alcool
Componente:  Senzor de alcool, led-uri si buton cu conectare USB

_________________________________

 

Componente: Senzor de presiune atmosferica, temperatura si umiditate cu conectare USB

_________________________________

 

Componente: Senzor detectare prezenta umana si LED, cu conectare USB

_________________________________

 

  • fiecare dintre proiectele de mai sus realizat in varianta client / server peste HTTP

Componente : Senzori Ready-to-Run cu conectare prin Internet

_________________________________

 

Componente : Arduino UNO,  Senzori Piezo .

_________________________________

 

Componente : Kit Harpa cu Laser

_________________________________

 

Mai sus sunt doar cateva idei de proiecte, te asteptam cu ideile tale 🙂 Noi vom aduce gratuit pe intreaga durata a evenimentului tot hardware-ul de care vei avea nevoie. Este important insa sa ne anunti la contact [at] robofun [dot] ro despre ce componente din oferta noastra vei nevoie, ca sa le luam cu noi la eveniment.

De asemenea, vom fi prezenti acolo pe intreaga durata a evenimentului, asa ca orice probleme hardware ai putea avea le vom aborda impreuna.

Inscrierea se face aici – http://www.meetup.com/HackDays/events/46916432/

Va asteptam !

 

FAQ – Arduino pentru Programatori Conectare Internet

 

Despre ce este vorba cu acest “Arduino pentru Programatori”  ?

Arduino pentru Programatori se refera la o gama de produse bazate pe platforma Arduino si special gandite pentru acei utilizatori care se simt mult mai confortabil programand intr-un limbaj de nivel inalt pe PC (gen Java, C#, Phyton, Ruby, PHP) decat lipind fire sau masurand tensiuni pe placi cu circuite electronice. Exista produse tip “Ready-to-Run, Conectare USB” care constau intr-o placa Arduino UNO pe post de “creier” conectata cu senzori si preprogramata sa trimita un flux continuu de date pe portul serial, produse tip “Ready-to-Run, Conectare Internet” care in loc de cablul USB utilizeaza o conexiune Ethernet (prin LAN sau Internet) si  “Componente”, utilizate pentru a extinde produsele “Ready-to-Run”.

 

Cum functioneaza un produs Ready-to-Run conectat prin Internet  ?

Un produs Ready-to-Run conectat prin Internet contine o placa Arduino Ethernet conectata cu senzori si preprogramata sa raspund la request-uri tip HTTP GET (in cazul server) sau sa trimita la fiecare 60 de secunde un request HTTP POST la un server predefinit. Totul este asamblat pe plexiglass negru cu suruburi metalice, iar componentele sunt conectate intre ele cu fire (fara lipituri, conectare tip pin mama-tata). Arduino se cupleaza la reteaua Ethernet la fel ca orice placa de retea obisnuita.

Ca sa simplificam lucrurile, sa luam drept exemplu un Senzor de Presiune Atmosferica, Temperatura si Umiditate cu conectare prin internet.

Produsul este complet asamblat si preprogramat. In varianta client va trimite prin HTTP POST o data la fiecare minut informatiile citite de la senzori in formatul urmator : “TEMP=158;P=99922;H=59”. Semnificatia acestui mesaj este ca temperatura este de 15.8 C, presiunea atmosferica este de 99922 Pascali, iar umiditatea relativa este de 59 %.  In varianta server va raspunde la request-urile de tip HTTP GET exact cu acelasi mesaj de mai sus.

 

Ce parametri de retea va avea dispozitivul meu ?

Exact cei pe care ii doresti tu. Cand faci comanda pe site, lasa-ne te rog descrierea parametrilor de retea pe care ii doresti pentru dispozitivul tau in campul “comentarii comanda”. Poti spre exemplu sa alegi configurare prin DHCP sau adresa IP statica, poti sa alegi ce adresa IP doresti si server-ul predefinit la care se fac apel-uri sau intervalul de postare in cazul server. Evident, poti modifica acesti parametri si singur, pentru ca noi iti vom trimite prin email codul sursa integral. Vezi sectiunea “modificare cod Arduino” pentru detalii despre cum sa faci asta.

 

Sa aleg din categoria “Ready-to-Run” sau din categoria “Componente” ?

Asa cum am mai spus si mai sus, un produs “Ready-to-Run se compune dintr-un Arduino UNO si o serie de senzori, totul asamblat pe o placa de plexiglass negru cu suruburi metalice si conectat cu fire cu mufa tata-mama. Astfel, sistemul este perfect extensibil si permite orice fel de combinatie de senzori. Primul lucru pe care ar trebui sa il faci ca sa te hotarasti ce cumperi este sa arunci un ochi peste Ready-to-Run . Daca gasesti o placa care sa faca ceea ce vrei tu, atunci cel mai simplu este o iei pe aceea. Daca ai nevoie de o combinatie de senzori mai speciala, sau vrei sa adaugi un senzor in plus la o placa deja existenta in categoria Ready-to-Run, atunci solutia este sa alegi placa Arduino fara senzori, si apoi sa adaugi exact senzorii de care ai nevoie. Ai grija ca la fiecare senzor sa selectezi optiunea “Montat pe placa”. Noi vom preasambla toti senzorii alesi de tine pe placa de plexiglass, vom conecta toti senzorii la Arduino, si vom crea un program care ruleaza pe Arduino si citeste senzorii special pentru tine. Tu vei primi prin curier placa complet asamblata si preprogramata, si prin email codul sursa al programului Arduino (in caz ca te hotarasti sa il modifici).

 

Cum modific programul care ruleaza pe placa Arduino ?

La un moment dat vei simti nevoie sa modifici programul pe care noi l-am preprogramat pe placa Arduino (de exemplu poate vei dori sa modifici un element de temporizare – gen ca placa sa trimita doar 10 date pe secunda si atat). Nu este deloc complicat sa faci asta. Trebuie sa iti instalezi mediul de dezvoltare pentru Arduino , apoi sa descarci firmware-ul placii (il gasesti in sectiunea “firmware” la fiecare placa), sa modifici programul firmware si apoi sa il uploadezi pe placa Arduino. Aici gasesti tutoriale detaliate despre cum sa faci asta – pentru Windows, pentru Linux si pentru MAC, iar aici gasesti o descriere detaliata a structurii unui program Arduino.

Daca ai modificat codul sursa de pe Arduino si acum lucrurile nu mai merg cum trebuie, aminteste-ti ca vei gasi firmware-ul original pe pagina produsului.

 

N-am inteles nimic, explicatiile de mai sus sunt pur bullshit ! Ce pot sa fac mai departe ?

Da-ne un email la contact [at] robofun [dot] ro, sau cand ai timp treci pur si simplu pe la noi 🙂

FAQ – Arduino pentru Programatori Conectare USB

 

Despre ce este vorba cu acest "Arduino pentru Programatori"  ?

Arduino pentru Programatori se refera la o gama de produse bazate pe platforma Arduino si special gandite pentru acei utilizatori care se simt mult mai confortabil programand intr-un limbaj de nivel inalt pe PC (gen Java, C#, Phyton, Ruby, PHP) decat lipind fire sau masurand tensiuni pe placi cu circuite electronice. Exista produse tip "Ready-to-Run, Conectare USB" care constau intr-o placa Arduino UNO pe post de "creier" conectata cu senzori si preprogramata sa trimita un flux continuu de date pe portul serial, produse tip "Ready-to-Run, Conectare Internet" care in loc de cablul USB utilizeaza o conexiune Ethernet (prin LAN sau Internet) si  "Componente", utilizate pentru a extinde produsele "Ready-to-Run".

 

Cum functioneaza un produs Ready-to-Run conectat prin USB  ?

Un produs Ready-to-Run, conectare USB contine o placa Arduino UNO conectata cu senzori si preprogramata sa trimita un flux continuu de date pe portul serial. Totul este asamblat pe plexiglass negru cu suruburi metalice, iar componentele sunt conectate intre ele cu fire (fara lipituri, conectare tip pin mama-tata). Arduino se cupleaza la PC printr-un cablu USB tip imprimanta, si in mod continuu citeste senzorii si trimite datele citite pe un port serial.

Ca sa simplificam lucrurile, sa luam drept exemplu un Senzor de Presiune Atmosferica, Temperatura si Umiditate cu conectare seriala.

 

Produsul este complet asamblat si preprogramat sa citeasca cei doi senzori si sa trimita in mod continuu valorile citite peste un port serial. Valorile citite sunt separate prin virgula si punct si virgula, dupa cum urmeaza : "[…] 158,99914,59;158,99922,59;158,99914,59;158,99917,59;158,99917,59[…] ". Acest sir de valori este trimis in mod continuu. Separatorul punct si virgula desparte grupurile de valori consecutive, iar separatorul virgula separa valoarea temperaturii de cea a presiunii atmosferice si cea a umiditatii. Astfel interpretarea exemplului de mai sus este ca temperatura este in jur de 15.8 C, presiunea atmosferica este de 99917 Pascali, iar umiditatea relativa este de 59 %. Tot ce ai tu de facut este sa citesti si sa parsezi acest sir de date primit pe portul serial pe PC.

 

Ce sisteme de operare sunt suportate ?

Windows, MAC OS X, Linux 32 si 64 de biti, deci cam toate 🙂

 

Cum instalez drivere-le pentru Arduino UNO ?

Daca ai MAC sau Linux, ai scapat, n-ai nimic de instalat. Pur si simplu cuplezi Arduino prin cablu USB la PC si vei vedea un port serial nou aparut (ca exemplu, pe Ubuntu portul serial "/dev/ttyACM0" sau "/dev/ttyACM0").

Daca ai Windows, driver-ul este un singur fisier .inf. Download mediul de dezvoltare pentru Arduino (pentru Window) si apoi urmeaza instructiunile prezentate aici.

Ar trebui ca in final sa ai pe sistem un nou port serial. Daca rulezi Windows, vei vedea in Device Manager sub "Ports & LPT" un port denumit "Arduino UNO" iar daca rulezi Linux vei vedea un port de genul "/dev/ttyACM0", ca in poza de mai jos.

 

 

 

Cum testez ca totul este OK cu dispozitivul meu Ready-to-Run si ca driverele s-au instalat corect ?

Cel mai simplu poti face asta folosind PuTTY. Este un terminal gratuit, disponibil pentru toate sistemele de operare. Download versiunea pentru sistemul tau de operare, la "Connection type" alege "Serial", iar la "Serial line" introdu portul Arduino pe care l-ai gasit la pasul precedent. Seteaza "Speed" la "9600", ca mai jos. Dupa ce apesi "Open" vei vedea fluxul de date transmis de placa ta in mod continuu.

 

 

 

 

Cum citesc si interpretez datele in limbajul meu favorit de programare pe PC ?

Tot ce ai de facut este sa citesti datele trimise pe portul serial asociat placii Arduino si sa le interpretezi conform semnificatiei lor. Mai jos sunt tutoriale pentru cateva limbaje de programare.  Fiecare dintre link-urile de mai jos trateaza atat partea de programare pe Arduino, cat si partea de programare in limbajul de programare pe PC. In acest moment pe tine te intereseaza doar partea de programare in limbajul de nivel inalt pe PC, pentru ca partea de Arduino deja am facut-o noi.

Arduino + Java

Arduino + C#

Arduino + C

Arduino + C++

Arduino + ObjectiveC

Arduino + Delphi

Arduino + Flash

Arduino + Mathematica

Arduino + Matlab

Arduino + Mono

Arduino + PERL

Arduino + Phyton

Arduino + Ruby

Arduino + SQL

Arduino + Visual Basic .NET

Am enumerat doar o parte dintre limbajele de programare, cele mai des intalnite. Lista completa o gasesti aici – ArduinoInterfacingWithSoftware .

 

Sa aleg din categoria "Ready-to-Run" sau din categoria "Componente" ?

Asa cum am mai spus si mai sus, un produs "Ready-to-Run se compune dintr-un Arduino UNO si o serie de senzori, totul asamblat pe o placa de plexiglass negru cu suruburi metalice si conectat cu fire cu mufa tata-mama. Astfel, sistemul este perfect extensibil si permite orice fel de combinatie de senzori. Primul lucru pe care ar trebui sa il faci ca sa te hotarasti ce cumperi este sa arunci un ochi peste Ready-to-Run . Daca gasesti o placa care sa faca ceea ce vrei tu, atunci cel mai simplu este o iei pe aceea. Daca ai nevoie de o combinatie de senzori mai speciala, sau vrei sa adaugi un senzor in plus la o placa deja existenta in categoria Ready-to-Run, atunci solutia este sa alegi placa Arduino fara senzori, si apoi sa adaugi exact senzorii de care ai nevoie. Ai grija ca la fiecare senzor sa selectezi optiunea "Montat pe placa". Noi vom preasambla toti senzorii alesi de tine pe placa de plexiglass, vom conecta toti senzorii la Arduino, si vom crea un program care ruleaza pe Arduino si citesti senzorii special pentru tine. Tu vei primi prin curier placa complet asamblata si preprogramata, si prin email codul sursa al programului Arduino (in caz ca te hotarasti sa il modifici).

 

Cum modific programul care ruleaza pe placa Arduino ?

La un moment dat vei simti nevoie sa modifici programul pe care noi l-am preprogramat pe placa Arduino (de exemplu poate vei dori sa modifici un element de temporizare – gen ca placa sa trimita doar 10 date pe secunda si atat). Nu este deloc complicat sa faci asta. Trebuie sa iti instalezi mediul de dezvoltare pentru Arduino , apoi sa descarci firmware-ul placii (il gasesti in sectiunea "firmware" la fiecare placa), sa modifici programul firmware si apoi sa il uploadezi pe placa Arduino. Aici gasesti tutoriale detaliate despre cum sa faci asta – pentru Windows, pentru Linux si pentru MAC, iar aici gasesti o descriere detaliata a structurii unui program Arduino.

Daca ai modificat codul sursa de pe Arduino si acum lucrurile nu mai merg cum trebuie, aminteste-ti ca vei gasi firmware-ul original pe pagina produsului.

 

N-am inteles nimic, explicatiile de mai sus sunt pur bullshit ! Ce pot sa fac mai departe ?

Da-ne un email la contact [at] robofun [dot] ro, sau cand ai timp treci pur si simplu pe la noi 🙂