Android este o platformă software și un sistem de operare pentru dispozitive și telefoane mobile bazată pe nucleul Linux, dezvoltată inițial de… [306930]
Android este o [anonimizat], iar mai târziu de consorțiul comercial Open Handset Alliance. [anonimizat]. Aplicațiile scrise în C [anonimizat].
Lansarea platformei Android la 5 noiembrie 2007 a [anonimizat] 48 [anonimizat], consacrat dezvoltării de standarde deschise pentru dispozitive mobile. Google a lansat cea mai mare parte a codului Android sub licența Apache, o [anonimizat].
Istoric
În iulie 2005 Google a [anonimizat], o [anonimizat], SUA. [anonimizat], au fost Andy Rubin (cofondator al Danger), Rich Miner ([anonimizat]), Nick Sears (fost vicepreședinte al T-Mobile) și Chris White (unul dintre primii ingineri ai WebTV). [anonimizat], doar că făceau software pentru telefoane mobile. Aceasta a [anonimizat].
[anonimizat] a [anonimizat] l-[anonimizat] a [anonimizat]. Google a raportat că a aliniat deja o [anonimizat] a semnalat operatorilor de rețele de telefonie mobilă că era deschis la diferite grade de cooperare din partea acestora. Mai multe speculații că Google ar fi putut intra pe piața telefoniei mobile au apărut în decembrie 2006. Rapoarte de la BBC și Wall Street Journal au remarcat faptul că Google își dorea căutarea web și aplicațiile sale pe telefoane mobile și că lucra din greu către acest țel. Presa și siturile de știri au publicat curând zvonuri că Google ar dezvolta un dispozitiv mobil marca Google. A [anonimizat], ar fi demonstrat prototipuri producătorilor de telefoane mobile și operatorilor de rețea. S-a raportat că până la 30 de telefoane prototip operau deja pe piață.
În septembrie 2007 InformationWeek a publicat un studiu al companiei Evalueserve care dezvăluia că Google a depus cereri pentru mai multe brevete de invenție în domeniul telefoniei mobile.
Fondarea Open Handset Alliance
La 5 noiembrie 2007 a [anonimizat], HTC, Intel, Motorola, Qualcomm, T-Mobile, [anonimizat] a dezvolta standarde deschise pentru dispozitive mobile. [anonimizat] a [anonimizat], o [anonimizat] 2.6.La 9 decembrie 2008, a fost anunțat că 14 [anonimizat]: [anonimizat], ARM Holdings Plc, Asustek Computer Inc, Toshiba Corp și Garmin Ltd.
Președintele și CEO-ul Google Eric Schmidt a avut nevoie de o bună bucată de timp în comunicatul de presă oficial pentru a elimina toate zvonurile și speculațiile precedente cu privire la existența unui telefon Google.
Open Source
Începând cu 21 octombrie 2008, Android a fost disponibil ca Open Source. Google a deschis întregul cod sursă (inclusiv suportul pentru rețea și telefonie), care anterior era indisponibil, sub licența Apache. Sub licența Apache producătorii sunt liberi să adauge extensii proprietare, fără a le face disponibile comunității open source. În timp ce contribuțiile Google la această platformă se așteaptă să rămână open source, numărul versiunilor derivate ar putea exploda, folosind o varietate de licențe.
Android a fost criticat că nu este software open source în totalitate, în ciuda a ceea ce a fost anunțat de către Google. Părți ale SDK-ului sunt proprietare și sursă închisă și unii cred că acest lucru este pentru ca Google să poată controla platforma. Licența Software Development Kit-ul Android afirmă că:
„3.2 You agree that Google (or Google's licensors) own all legal right, title and interest in and to the SDK, including any intellectual property rights which subsist in the SDK. Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not by this License Agreement. Until the SDK is released under an open source license, you may not extract the source code or create a derivative work of the SDK.”
Cu toate acestea, Google a anunțat între timp că toate componentele sistemului de operare vor fi lansate sub licența Apache unde este cazul și sub licența GPL în rest.
Caracteristici si specificatii actuale:
Arhitectura de software pentru Android: Servitorul de ecran, SurfaceFlinger:
Produse hardware care rulează Android
Lansate
HTC Dream (T-Mobile G1)
HTC Dream (comercializat ca T-Mobile G1, Era G1 în Polonia) este primul telefon de pe piață care utilizează platforma Android. Telefonul este parte a unui efort pentru standarde deschise al Open Handset Alliance.
Acesta a fost lansat în SUA pe 22 octombrie 2008, în Marea Britanie pe 30 octombrie 2008, în Olanda și Republica Cehă pe 31 ianuarie 2009, Polonia pe 23 februarie 2009, în Australia pe 5 februarie și în alte țări, inclusiv în Singapore, Franța și Germania, la începutul anului 2009.
Compania chineză Qigi a lansat o versiune a dispozitivului mobil i6 (anterior Windows Mobile) rulând Android ref>[httpo.uk/2008d-sne-ul bazat pe Anid din romania /ref> Aparatul este produs de către producătorul chinez TechFaith.
Anunțate
În septembrie 2008, Motorola a confirmat faptul că lucrează la produse hardware care vor rula Android.
Huawei plănuiește să lanseze un telefon care va rula android pe T-Mobile. Data stabilită este însă după iunie 2009.
Archos planifică să lanseze un nou dispozitiv, care ar combina capabilități media semnificative cu un sistem de operare Android.
Lenovo lucrează la un telefon mobil bazat pe Android, care suportă standardul chinez 3G TD-SCDMA.
HTC planifică un "portofoliu" de telefoane bazate pe Android pentru o lansare în vara lui 2009, inclusiv HTC Magic, dezvăluit pe 17 februarie 2009 la Congresul Mobile World 2009 din Barcelona, Spania. HTC Magic va fi lansat cu versiunea "Cupcake"„Second 'Google phone' is unveiled”. BBC. cu un debut pe 5 mai.„HTC Magic Debuts May 1st”. Phandroid. 1 aprilie 2009.
Sony Ericsson planifică să lanseze un telefon pe baza Android în vara anului 2009.
Samsung are planuri de a lansa a un telefon bazat pe sistemul de operare Google Android în luna iunie a anului 2009, urmat de alte câteva în lunile următoarele.
GiiNii Movit Mini este un dispozitiv pentru Internet bazat pe sistemul de operare Google android.
Se zvonește că Acer va lansa telefoane numite L1, C1, E1, F1, și A1 (neconfirmat) către sfârșitul lui 2009.
Primul telefon Android al producătorului chinez Yuhua, dual-SIM-ul DSTL1 va fi lansat sub marca General Mobile în luna iunie. Există o versiune arhivată la 25 februarie 2009. http://archive.is/yNtip. Compania planifică mai multe dispozitive Android.
Amânate
Kogan Technologies, un producător de tehnologie australian, a anunțat telefoane compatibile Android: Kogan Agora și Kogan Agora Pro.Aceste telefoane au fost programate pentru a fi lansate pe 29 ianuarie 2009.La mijlocul lunii ianuarie 2009, Kogan a anunțat că lansarea telefoanelor Agora a fost amânată pentru o perioadă nedefinită.
Dezvoltarea de software
Primele aprecieri cu privire la dezvoltarea aplicațiilor pentru platforma Android au fost amestecate. Problemele citate includeau bug-uri, lipsa de documentație, infrastructura de testare inadecvată, și lipsa unui sistem de gestionare a problemelor public. (Google a anunțat un sistem de gestionare a problemelor la data de 18 ianuarie 2008.) În decembrie 2007, fondatorul startup-ului mobil MergeLab Adam MacBeth a declarat: "Funcționalitatea lipsește, este prost documentată sau pur și simplu nu funcționează… Este clar că nu este gata pentru prime time." În ciuda acestui fapt, aplicațiile pentru Android au început să apară deja în săptămâna următoare celei în care a fost anunțată platforma.Prima aplicație publică a fost jocul Snake. Telefonul Android Dev este un dispozitiv cu SIM și hardware neblocate care este destinat dezvoltatorilor avansați. Cu toate că dezvoltatorii pot utiliza un dispozitiv de consum achiziționat de pe piață pentru a-și testa și a utiliza aplicațiile, unii dezvoltatori pot alege să nu utilizeze un dispozitiv de pe piață, preferând un aparat neblocat sau fără contract.
Dispozitiv Android timpuriu:
Software Development Kit
SDK-ul Android include un set complet de instrumente de dezvoltare.[ Acestea includ un program de depanare, biblioteci, un emulator de dispozitiv (bazat pe QEMU), documentație, mostre de cod și tutoriale. Platformele de dezvoltare sprijinite în prezent includ calculatoare bazate pe x86 care rulează Linux (orice distribuție Linux desktop modernă), Mac OS X 10.4.8 sau mai recent, Windows XP sau Vista. Cerințele includ, de asemenea, Java Development Kit, Apache Ant, și Python 2.2 sau o versiune ulterioară. Mediul de dezvoltare (IDE) suportat oficial este Eclipse (3.2 sau mai recent), utilizând plug-in-ul Android Development Tools (ADT), deși dezvoltatorii pot folosi orice editor de text pentru a edita fișiere XML și Java și apoi să utilizeze unelte din linia de comandă pentru a crea, să construi și depana aplicații Android.
O versiune pentru examinare a Android Software Development Kit (SDK) a fost lansată la data de 12 noiembrie 2007.La 15 iulie 2008, echipa Android Developer Challenge a trimis accidental un e-mail la toți participanții Android Developer Challenge anunțând că o nouă versiune de SDK era disponibilă într-o zonă de descărcare "privată". Mesajul a fost destinat pentru câștigătorii primului tur al Android Developer Challenge. Revelația că Google va furniza noi versiuni SDK unor dezvoltatori și nu altora (și păstra acest regim secret) a condus la frustrare raportată pe scară largă în comunitatea dezvoltatorilor Android.
La 18 august 2008, a fost lansat Android SDK 0.9 beta. Această versiune oferă un API actualizată și extinsă, instrumente de dezvoltare îmbunătățite și un design actualizat pentru ecranul de bază. Instrucțiuni detaliate pentru actualizare sunt disponibile pentru cei care lucrează deja cu o versiune anterioară. La 23 septembrie 2008 a fost lansat SDK-ul Android 1.0 (Release 1). Conform documentației de lansare, includea "în principal remedii pentru probleme, deși au fost adăugate unele capabilități mai puțin semnificative". Includea, de asemenea, câteva modificări ale API-ului față de versiunea 0.9.
Pe 9 martie 2009, Google a lansat versiunea 1.1 pentru telefonul Android Dev. Deși există câteva actualizări estetice, câteva actualizări cruciale includ suport pentru "căutare prin voce, aplicații contra cost, remedii pentru ceasul cu alarmă, remediu pentru blocarea la trimiterea gmail, notificări de poștă electronică și intervale de împrospătare, iar acum hărțile afișează evaluări de firme". Un alt update important este că telefoanele Dev pot acum accesa aplicații plătite și dezvoltatorii le pot vedea acum pe Piața Android.
Platforme Android
În tabelul de mai jos puteți vedea istoricul versiunilor Android, denumirea comercială și distribuția acestora în funcție de dispozitivele care au accesat magazinul Play Store în a doua parte a lunii august 2013. Pe 25 Iunie Google a anunțat Android L, acesta fiind cel mai mare update pe care l-a suferit platforma Android de la Ice Cream Sandwich și până în prezent. Android L va fi disponibil începând cu toamna anului 2014.S-a lansat și în toamna anului 2015 Android 6.0 Marshmallow.
Actualizări
Deși este un produs de tip open source, o parte din dezvoltarea software pentru Android a fost continuată într-o ramură privată. În scopul de a face acest software public, a fost creată o ramură oglindă read only, cunoscută sub numele unui desert, anume cupcake. Se crede că numele vine de la Marissa Mayer, care are o pasiune pentru acesta. Cupcake este în mod obișnuit interpretat greșit ca numele unei actualizări, dar după cum este declarat pe situl de dezvoltare al Google: „Cupcake este deocamdată în curs de dezvoltare. Este o ramură de dezvoltare, nu o versiune stabilă.” Modificări notabile la software-ul Android care vor fi introduse în cupcake includ modificări la download manager, platformă, Bluetooth, software-ul de sistem, radio și telefonie, instrumente de dezvoltare, sistemul de dezvoltare și câteva aplicații, precum și o serie de remedieri de probleme. Momentul exact al lansării rămâne neclar. Viitoarele versiuni Android vor folosi prezumptiv nume cod numite după deserturi: cupcake, donut, eclair, etc.
Critici
Termenii de licențiere nerestrictivi ai lui Android au permis corporațiilor care utilizează Android să introducă restricții asupra propriilor clienți. Ca un exemplu, tethering-ul (conexiune internet pentru laptop sau PC prin intermediul telefonului mobil), este interzis de către T-Mobile SUA și Google a interzis astfel de aplicații utilizatorilor T-Mobile SUA. Acest lucru înseamnă, de asemenea, că aplicațiile pot fi specifice operatorului de rețea, la alegerea Google.
Android utilizează nucleul Linux, dar, conform Google, nu este sistem de operare Linux (nu are nici un sistem de gestionare a ferestrelor nativ și nici nu suportă întregul set de biblioteci standard Linux, inclusiv biblioteca GNU C). Acest caracter specific, face dificilă reutilizarea aplicațiilor sau bibliotecilor Linux existente.
Android nu utilizează standarde stabilite Java, de exemplu Java SE și ME. Aceasta împiedică compatibilitatea între aplicațiile Java scrise pentru acele platforme și cele scrise pentru platforma Android. Android doar refolosește sintaxa limbajului Java, nu asigură pe bibliotecile de clase complete și API-urile din pachetele Java SE sau ME.
Android 4.4 KitKat
Android 4.4 "KitKat" este o versiune de Android, un sistem de operare mobil dezvoltat de Google , care acoperă versiunile între 4.4 și 4.4.4. Dezvelit la 3 septembrie 2013, KitKat e axat în principal pe optimizarea sistemului de operare pentru îmbunătățirea performanței pe dispozitive de entry-level , cu resurse limitate.
Noul sistem de operare Android a ajuns la versiunea 4.4 cu numele de cod KitKat. Sistemul de operare Android este dezvoltat de compania Google pentru smartphonuri si tablete.
Cu fiecare versiune de Android, Google și-a propus să deschidă noi orizonturi și să introducă noi tehnologii software care să ofere utilizatorilor o experiență cât mai placută atunci când aceștia doresc să consume conținut multimedia sau să folosească serviciile Google. În România, Android este cea mai utilizată platformă pentru utilizatorii de gadget-uri și mulți o aleg pentru ușurința în utilizarea și flexibilitatea fantastică pe care o are sistemul de operare Android. Folosind Android te poți bucura de o experiență extraordinară atunci când privești clipuri video din platforma YouTube, când joci jocuri, când citești cărți electronice sau când asculți muzică.
Deși Android 4.4 KitKat s-a lăsat mult așteptat, acesta a fost anunțat împreună cu noul smartphone Nexus 5, fiind și primul dispozitiv ce ruleaza Android 4.4 KitKat.
Istoricul
Android 4.4 " KitKat " a fost anunțat oficial la data de 3 septembrie 2013. Lansarea a fost numele de cod intern " Key Lime Pie "; John Lagerling, director de parteneriate la nivel mondial Android, și echipa sa, a decis să renunțe la acest nume, argumentând că "foarte puțini oameni știu de fapt gustul de o placinta cheie". Scopul pentru care a fost un nume de cod, "distractiv și neașteptat", echipa a urmărit posibilitatea de a numi eliberarea "KitKat" în localitatea Lagerling. A sunat un reprezentant al Nestle , care detine marca Kit Kat si produce produse de cofetărie din afara Statelor Unite ( în cazul în care acesta este produs de compania Hershey sub licență), și rapid a ajuns la un acord preliminar pentru o colaborare de promovare între cele două companii, finalizat mai târziu într – o întâlnire la Mobile World Congress , în februarie 2013. Parteneriatul nu a fost dezvăluit în mod public, sau chiar altor angajați Google și dezvoltatorilor Android (care , altfel , au continuat să se refere la interior la sistemul de operare ca "KLP"), până la anunțarea oficială a acestuia în luna septembrie .
Dezvoltare
Continuând pe accentul de îmbunătățire a performanței vizuale și capacitatea de reacție a Android 4.1 "Jelly Bean", obiectivul principal al Android 4.4 a fost de a optimiza platforma pentru o performanță mai bună pe dispozitive low-end, fără a compromite capacitățile sale generale și funcționalitate. Inițiativa a fost numele de cod "Proiectul svelte", care a adăugat "greutate" pentru sistemul de operare. Pentru a simula dispozitive spec mai mici, dezvoltatorii Android au folosit dispozitive Nexus 4 underclocked pentru a rula la o viteză CPU redusă cu doar un singur nucleu activ, o memorie de 512 MB, iar la o rezoluție de afișare de 960×540-specificații menite să reprezinte un dispozitiv Android comun low-end.
Un instrument de dezvoltare cunoscut sub numele de proctools a fost dezvoltat pentru a analiza utilizarea memoriei de aplicații în timp, în special a celor care se execută serviciile de fundal. Aceste date au fost utilizate pentru a optimiza și de a decupla aplicațiile și serviciile considerate a fi ineficiente Google, contribuind astfel la reducerea utilizarea memoriei de ansamblu a Android. In plus, 4.4 a fost proiectat pentru a fi mai agresiv în gestionarea memoriei, ajutând la protecție împotriva aplicațiilor pierdem prea multă memorie.
Ce este nou în Android 4.4 KitKat?
Deși în interfață nu sunt foarte multe modificări, au fost aduse îmbunătățiri în ceea ce privește stabilitatea sistemului de operare, acesta fiind optimizat pentru un consum mai mic al resurselor, comutarea mai rapidă între aplicații, îmbunătățiri în ceea ce privește grafica. A fost adăugat suport pentru smartphoneurile ce vor include un infrared blaster, acest lucru permitând dezvoltatorilor să construiască aplicații ce ne vor permite să controlăm diverse alte gadget-uri ce pot fi controlate cu o telecomandă, cum ar fi televizoarele Smart. Tot în îmbunătățirile ce nu au legatură cu interfață intră si suportul Bluetooth MAP (Message Access Profile) ce permite mașinilor auto prevăzute cu Bluetooth să comunice cu dispozitivul Android. Pentru dezvoltatorii de aplicații a fost introdus Chrome Web View, însemnând că, aplicațiile care folosesc afișarea conținutului web, o vor face de acum înainte folosînd Chrome.
Au fost aduse îmbunătățiri asupra touch-ului, asta însemnând că acesta este mult mai rapid si mai precis în Android 4.4 KitKat și, de asemenea, au fost introduse noi gesturi touch pe care developerii de aplicații le pot folosi. Este vorba mai exact de „double tap” si „double tap and drag”.În ceea ce privește interfața sistemului de operare Android 4.4 KitKat avem noi iconițe pentru aplicația Telefon (Phone), Setări (Settings). Aplicația Telefon ne dă posibilitatea să căutăm numere de telefon ce aparțin companiilor, afacerilor locale, chiar dacă acestea nu se află în agenda telefonică.
Dacă aveți o conexiune internet activată pe dispozitiv, în momentul în care scrieți Pizza sau numele unui fast food în căsuța de căutare a aplicației Telefon, aceasta vă va sugera pizzerii din apropierea voastră și cu o simplă atingere pe rezultatul afișat se va face apelul către pizzeria respectivă.Tot în aplicația telefon este folosit și Google Caller ID, aceasta însemnând că, dacă vă sună un număr pe care nu îl aveți în agendă, Google va incerca să identifice apelantul și să vă afișeze numele sau firma care vă apelează. Practic, Google va consulta în câteva secunde afacerile listate în Google Maps și va încerca să identifice numărul.
Tot legat de interfață vom observa că acum iconițele din Home Screen și Drawer (sertarul cu aplicații) sunt ceva mai mari, fonturile folosite în sistemul de operare sunt puțin mai îngroșate și mai plăcute ochiului. În setările sistemului au fost adăugate doua opțiuni, „Ecran de pornire” (Home Screen) și „Printing” (Printare). Secțiunea Home Screen ne permite să schimbăm cu ușurință între eventualele Launchere, iar Printing ne permite să printăm cu ușurină documentele. Pentru a putea folosi secțiunea Printing va trebui să conectați imprimanta voastră la Google Cloud Print.
Alte noutăți ar fi că: prin intermediul aplicației Hangouts să putem trimite și SMS-uri, practic mesageria fiind unficată într-o singură aplicație; suport pentru emoticoane în tastatura Google; Quickoffice ce permite gestionarea fișierelor locale, din contul Google Drive sau alte conturi cloud.
Funcționalitatea de a adăuga widget-uri în Lock screen a fost dezactivată, însă aceasta poate fi reactivată din Settings (Setari) > Securitate (Security), bifând căsuța Enable widgets (permite widget-uri sau activează widget-uri).
Curios este faptul că în Android 4.4 KitKat s-a revenit la vechea modalitate de a adăuga widget-uri în Home Screen, așa cum se proceda în Android 2.3 Gingerbread, acestea nefiind regăsite în Drawe-ul cu aplicații (sertarul cu aplicații). Pentru amplasarea unui widget în Home Screen va trebui să atingeți lung o porțiune liberă din Home Screen și să atingeți iconița WIDGETS.
Cum este 4.4.2 Android actualizat la 4.4.4?
Ei bine, există două moduri de a face acest lucru, dar toate acestea depind de aparat, și din moment ce nu este menționat aparatul, vom mentiona modificările care acoperă elementele de bază.
1. Primar Cai (oficial, simplu):
● Actualizare prin setări: setarea telefonului, la ultima opțiune "Despre". Acolo puteți găsi o opțiune pentru "Actualizare" dispozitiv la ultima iterație de Android disponibilă pentru aparat.
Aceasta este cea mai sigură opțiune.
● Actualizare prin recuperare: de asemenea , puteți căuta pe Internet pentru un fișier update.zip mic pentru modelul dvs. specific , care conține actualizările necesare. Apoi , puteți să – l lumineze intermitent prin recuperare. (Google cum să obțineți dispozitivul în modul de recuperare).
Această opțiune este un pic cam dificil. Încercați alte metode pentru rezultate mai bune.
● Flash prin calculator: Puteți căuta , de asemenea , pentru sistemul de operare complet (ROM) fișier pentru dispozitivul dvs. și Flash – ul prin intermediul software – ului specific intermitent pentru mobil.
Aceasta este cea mai bună opțiune ca și cum acest lucru poate formata complet și flashul pe telefonul mobil și de a obține un nou simț.
2. Modalități secundare (neoficial, implică multă cercetare):
● ROM – uri: ROM – urile portate sunt , practic , sistemul de operare portate de alte telefoane concepute pentru aparat. De exemplu, un Galaxy S3 (2012) poate avea toate caracteristicile Galaxy S5 (2014) printr – un portat ROM Galaxy S5.
Pentru aceasta, trebuie, în primul rând, rădăcină dispozitivul, și apoi instalați o recuperare personalizat cum ar fi TWRP sau CWM.
● Flash ROM personalizat: în mod alternativ, în cazul în care nici o actualizare oficială este disponibilă pentru dispozitivul dvs. (în cazul dispozitivelor mai vechi), puteți căuta un ROM personalizat la cuptor cum ar fi AOSP sau CM. Cu aceasta, puteți obține chiar și versiunea Android mai mare și mai multe caracteristici. Pentru acest lucru , de asemenea, trebuie să rădăcină dispozitivul și flash , mai întâi o recuperare personalizată. Apoi , trebuie să instalați ROM – ul personalizat throuch de recuperare.
In acest fel, puteți încerca ROM – uri mai bune și upgrade – uri mai noi Android.
NOTĂ: înrădăcinarea POATE ANULA GARANȚIA ȘI POATE SĂ DETERIOREZE TELEFONUL IREMEDIABIL DACĂ ESTE NETERMINATĂ FĂRĂ CERCETARE ADECVATĂ.
Ce este Project Svelte și de ce este acesta important?
Cu fiecare versiune de Android, Google și-a propus să optimizeze și să îmbunătățească sistemul de operare. Probabil vă mai amintiți de Project Butter, ce a luat naștere odată cu versiunea de android Jelly Bean, proiect în care Google și-a propus să optimizeze sistemul din punct de vedere al performanței grafice, optimizând efectele de tranziții de la o aplicație la alta, de la un home screen la altul, încercând să ofere utilizatorilor o experiență „lină” în utilizare.
Odată cu lansarea lui Android 4.4 KitKat, Google anunța și Project Svelte, un proiect prin care își propune să aducă noul sistem de operare chiar și pe dispozitive mai slabe, prin micșorarea resurselor de care Android are nevoie, ca acesta să poată rula și pe dispozitivele mai slabe cu doar 512 MB RAM. Începând de la kernel, sistem, framework, s-a redus amprenta pe care o pun acestea pe memoria RAM și s-au adus îmbunătățiri la modul în care sistemul de operare Android manageriază, gestionează sau folosește memoria RAM.
În concluzie, interfața noului sistem de operare Android 4.4 KitKat este mult mai placută, mult mai caldă, renunțându-se la culorile predominante albastru și fundal negru regăsite în multe aplicații. Interfața acestuia a devenit mai simplă și mai intuitivă, iar aceste măsuri au fost probabil luate pentru că de multe ori publicațiile sau companiile concurente argumentau că Android ar fi un sistem de operare mult prea greu de înțeles și prea complex în interfață.
ARDUINO
Arduino este o companie open-source care produce atât plăcuțe de dezvoltare bazate pe microcontrolere, cât și partea de software destinată funcționării și programării acestora. Pe lângă acestea include și o comunitate uriașă care se ocupă cu creația și distribuirea de proiecte care au ca scop crearea de dispozitive care pot sesiza și controla diverse activități sau procese în lumea reală.
Arduino este o platformă open-source utilizat pentru construirea de proiecte electronice. Arduino constă atât într-o placă de circuit programabil fizic ( de multe ori se face referire la un microcontroler ), cât și o bucată de software , sau IDE (Integrated Development Environment) , care rulează pe computer, folosit pentru a scrie și a încărca un cod de computer la bord fizic.
Platforma Arduino a devenit destul de popular cu oameni doar incepand cu electronică, și pentru un motiv bun. Spre deosebire de cele mai multe placi cu circuite programabile anterioare, Arduino nu are nevoie de o piesă separată de hardware (numit un programator) pentru a încărca noul cod de pe bord – puteți utiliza pur și simplu un cablu USB. In plus, Arduino IDE folosește o versiune simplificată a limbajului C ++, ceea ce face mai ușor să învețe programul. În cele din urmă, Arduino oferă un factor de formă standard care izbucnește funcțiile microcontrolerului într-un pachet mai accesibil.
Proiectul este bazat pe designul plăcilor cu microcontroler produse de câțiva furnizori, folosind diverse tipuri de microcontrolere. Aceste plăci pun la dispoziția utilizatorului pini I/O, digitali și analogici, care pot fi interfațați cu o gamă largă de plăcuțe numite scuturi (shield-uri) și/sau cu alte circuite. Plăcile au interfețe de comunicații seriale, inclusiv USB pe unele modele, pentru a încărca programe din calculatorele personale. Pentru programarea microcontrolerelor, Arduino vine cu un mediu de dezvoltare integrat (IDE), bazat pe proiectul Processing, care include suport pentru limbaje de programare ca C și C++.
Primul Arduino a fost lansat în 2005, având ca țintă asigurarea unei soluții ieftine și simple pentru începători și profesioniști spre a crea dispozitive capabile să interacționeze cu mediul, folosind senzori și sisteme de acționare. Cele mai comune exemple sunt dispozitivele pentru utilizatorii începători precum: roboții simpli, termostatele și/sau detectoarele de mișcare.
Plăcuțele Arduino sunt disponibile comercial sub formă preasamblată sau sub forma unor kituri de asamblat acasă (do-it-yourself). Specificațiile schemelor sunt disponibile pentru orice utilizator, permițând oricui să fabrice plăcuțe Arduino. Adafruit Industries estimase la mijlocul anului 2011 că peste 300.000 de plăcuțe oficiale Arduino au fost produse, iar în 2013, 700.000 de plăcuțe oficiale erau în posesia utilizatorilor.
Arduino este un instrument prin care poți realiza sisteme informatice capabile să ‘perceapă’ și să ‘controleze’ lumea înconjurătoare . Acest instrument este open-source și este compus dintr-un mediu de dezvoltare (o varianta de Wiring – platforma folosită pentru procesare multimedia) și o placă de dezvoltare cu microcontroler AVR.
Arduino poate fi folosit pentru dezvoltarea de obiecte interactive. Informația este preluată de la o gamă variată de senzori și comutatoare, se procesează în interiorul microcontrolerului AVR, și este transmisă către o gamă la fel de variată de lumini, motoare, actuatoare etc.
Ce face?
Arduino hardware și software-ul a fost proiectat pentru artiști, designeri, pasionaților, hackeri, newbies, și oricine este interesat în crearea de obiecte interactive sau medii. Arduino pot interacționa cu butoane, LED-uri, motoare, difuzoare, unități GPS, camere video, internet, și chiar smart-telefon sau TV! Această flexibilitate combinată cu faptul că software – ul Arduino este gratuit, panourile de hardware sunt destul de ieftine, și atât software – ul și hardware – ul sunt ușor de învățat , a condus la o comunitate mare de utilizatori care au contribuit cod și instrucțiuni lansat pentru o mare varietate de Arduino bazate pe proiecte.
Hardware
O plăcuță Arduino este compusă dintr-un microcontroler Atmel AVR de 8-, 16- sau 32-biți (deși începând cu 2015 s-au folosit microcontrolere de la alți producători) cu componente complementare care facilitează programarea și încorporarea în alte circuite. Un aspect important la Arduino este că acesta dispune de conectori standard, care permit utilizatorului să conecteze plăcuța cu procesorul la diferite module interschimbabile numite shield-uri. Unele shield-uri comunică cu Arduino direct prin pinii digitali sau analogici, dar altele sunt adresabile individual prin magistrala serială I²C permițând utilizarea mai multor module în paralel. Până în anul 2015 plăcuțele Arduino oficiale au folosit cipuri Atmel din seria megaAVR, în special ATmega8, ATmega168, ATmega328, ATmega1280 și ATmega2560, iar în 2015 au fost adăugate cipuri de la alți producători. O multitudine de alte procesoare au fost folosite de dispozitive compatibile Arduino. Multe plăcuțe includ un regulator liniar de 5 V și un oscilator cu cuarț de 16 MHz (sau un rezonator ceramic în unele variante), deși anumite plăcuțe, cum ar fi LilyPad, funcționează la 8 MHz și nu necesită regulator, datorită restricțiilor de formă. Un microcontroler instalat pe Arduino vine preprogramat cu un bootloader care simplifică încărcarea programelor pe memoria flash a cipului, în comparație cu alte dispozitive care necesită programatoare externe. Acest aspect face Arduino o soluție simplă, permițând programarea de pe orice computer ordinar. În prezent, bootloader-ul optiboot este bootloader-ul implicit instalat pe Arduino UNO.
La nivel conceptual, când se folosește mediul de dezvoltare integrat Arduino, programarea tuturor plăcuțelor se face prin conexiune serială. Implementarea acesteia diferă în funcție de versiunea hardware. Unele plăcuțe Arduino au implementate convertoare de nivel logic pentru a realiza conversia între nivelele logice RS-232 și cele TTL. Plăcuțele Arduino din prezent sunt programate prin USB, având integrate cipuri de conversie USB-serial, cum ar fi FTDI FT232. Unele modele UNO, mai noi, folosesc un cip AVR separat programat să funcționeze ca un convertor USB-serial, care poate fi reprogramat printr-un port ICSP dedicat. Alte variante, cum ar fi Arduino Mini și versiunea neoficială Boarduino, folosesc adaptoare detașabile USB-serial, cabluri, Bluetooth sau alte metode.
Plăcuța Arduino are expuși mulți dintre pinii de intrare/ieșire ai microcontrolerului, pentru ca aceștia să fie folosiți de alte circuite. Diecimila, Duemilanove și UNO oferă 14 pini digitali de intrare/ieșire, dintre care 6 pot produce semnale PWM și 6 intrări analogice care, de asemenea, pot fi folosite ca intrări/ieșiri digitale. Acești pini sunt accesibili prin partea superioară a plăcuței, prin intermediul unor barete mamă cu pasul între pini de 2,54 mm.
Plăcuțe oficiale
Plăcuțele originale Arduino erau produse de compania italiană Smart Projects. O parte dintre plăcuțele cu brandul Arduino au fost proiectate de companiile americane SparkFun Electronics și Adafruit Industries.16 versiuni de hardware Arduino au fost produse în scop comercial până la această dată.
Shield-uri
Arduino și plăcuțele Arduino-compatibile folosesc plăcuțe de expansiune cu circuite imprimate numite shield-uri, care se conectează la pinii disponibili pe Arduino. Shield-urile au capacități de a controla motoare, GPS, Ethernet, LCD sau de prototipare. Un număr de shield-uri pot fi create în regim de amator(DIY).
Software
Programele Arduino pot fi scrise în orice limbaj de programare cu un compilator capabil să producă un cod mașină binar. Atmel oferă un mediu de dezvoltare pentru microcontrolerele sale, AVR Studio și mai nou, Atmel Studio.
Proiectul Arduino oferă un mediu integrat de dezvoltare (IDE), care este o aplicație cross-platform, scrisă în Java. Acesta își are originile în mediul de dezvoltare pentru limbajul de programare Processing și în proiectul Wiring. Este proiectat pentru a introduce programarea în lumea artiștilor și a celor nefamiliarizați cu dezvoltarea software. Include un editor de cod cu funcții ca evidențierea sintaxelor, potrivirea acoladelor și spațierea automată și oferă mecanisme simple cu un singur click, pentru a compila și a încărca programele în plăcuța Arduino. Un program scris în IDE pentru Arduino se numește sketch.
Arduino IDE suportă limbajele de programare C și C++ folosind reguli speciale de organizare a codului. Arduino IDE oferă o librărie software numită Wiring, din proiectul Wiring, care oferă multe proceduri comune de intrare și ieșire. Un sketch tipic Arduino scris în C/C++ este compus din două funcții care sunt compilate și legate cu un ciot de program main(), într-un program executabil cu o execuție ciclică:
setup(): o funcție care este rulată o singură dată la începutul programului, când se inițializează setările.
loop(): o funcție apelată în mod repetat până la oprirea alimentării cu energie a plăcuței.
După compilarea și legarea cu GNU toolchain inclus, de asemenea, în IDE, mediul de dezvoltare Arduino trimite comandă către programul avrdude pentru a converti codul executabil într-un fișier text codat hexazecimal, care poate fi încărcat în placa Arduino de un program de încărcare.
Exemplu de program
Un program Arduino tipic pentru un programator începător face ca un LED să se aprindă intermitent. Acest program este încărcat pe placă, în mod normal, de către producător.
Multe plăcuțe Arduino conțin un LED, împreună cu un rezistor în serie, între pinul 13 și masă (GND), ceea ce este un amănunt util pentru multe teste.
De ce sa aleg Arduino?
Pe piață există o gamă foarte variată de sisteme de dezvoltare bazate pe microcontroler, avantajele pe care le are Arduino față de aceste sisteme sunt:
-Costuri de achiziție reduse
-Poate fi folosit pe orice sistem de operare (Linux,Windows sau MacOS). Majoritatea plăcilor de dezvoltare fiind limitate la sistemul de operare Windows.
-Un mediu de programare simplu și usor de învățat.
-Este open source, atât placa de dezvoltare cât și mediul de programare.
Lucruri necesare înainte de a începe
Pentru a putea să folosești platforma Arduino ai nevoie de urmatoarele:
– cablu USB;
– placă de dezvoltare Arduino;
– mediu de dezvoltare;
Instalarea plăcii de dezvoltare
Instalarea plăcii de dezvoltare se face foarte simplu. Se leagă placa de dezvoltare cu calculatorul prin intermediul cablului USB.
Pentru Windows trebuie instalat și driverul plăcii: butonul Start->Control Pannel->System and Security->System->Device Manager. În grupul Ports (COM & LPT) ar trebui să găsiți un port numit Arduino Uno. Click dreapta pe portul respectiv și selectați Update drivers->Browse my computer for Driver software. Mai departe mergeți în directorul în care ați dezarhivat aplicația Arduino, iar aici va trebui să alegeți directorul Drivers pentru ArduinoUno sau FTDI USB Drivers pentru plăcile ce folosesc adaptor FTDI.
Mediu de dezvoltare
Instalare:
Descărcați ultima versiune pentru ArduinoIDE de aici: http://arduino.cc/en/Main/Software, după care dezarhivați fișierul proaspăt descărcat în locația dorită.
Configurare:
ArduinoIDE se configurează astfel. Din meniul Tools->Boards se selectează tipul de placă folosit, iar din meniul Tools->Ports se selectează portul COM folosit de placa de dezvoltare.
Utilizare:
Fereastra aplicației arată ca în imaginea de mai jos.
1.Zona meniu:
Verifică programul pentru erori
Incarcă programul în placa de dezvoltare
Crează un nou proiect
Deschide un proiect
Salvează proiectul curent
Monitorizare serială – acest buton este folosit pentru comunicarea prin portul serial cu calculatorul
2.Zona program:
Această parte din aplicație este folosită pentru scrierea și editatrea programelor. Cu ajutorul iconiței din dreapta sus (sub forma de sageata orientata în jos) poți redenumi/crea fisiere noi.
3.Zona compilator:
În această zonă vor aparea eventualele erori de compilare.
Acum că ați parcurs acești pași de introducere, sunteți pregătit pentru a realiza primul vostru proiect bazat pe Arduino.
Ce este pe bord?
Există mai multe varietăți de placi Arduino ( explicate pe pagina următoare ) , care pot fi utilizate în diferite scopuri. Unele placi arata un pic diferit de cel de mai jos, dar cele mai multe Arduinos au cea mai mare parte a acestor componente în comun:
Putere (USB / baril Jack)
Fiecare bord Arduino are nevoie de un mod de a fi conectat la o sursă de alimentare. Arduino UNO poate fi alimentat de la un cablu USB care vine de la computer sau de o sursă de alimentare de perete ( ca aceasta ) , care se termină într – o mufă baril. In imaginea de mai sus , conexiunea USB este marcată (1) , iar mufa baril este etichetat (2).
Conexiunea USB este, de asemenea, modul în care se va încărca codul de pe bord Arduino. Mai multe despre programarea cu Arduino pot fi găsite în nostru Instalarea și programarea Arduino tutorial.
NOTĂ: NU se utilizează o sursă de alimentare mai mare de 20 de volți. Tensiunea recomandată pentru majoritatea modelelor Arduino este între 6 și 12 volți.
Pins (5V, 3.3V, GND, analog, digital, PWM, AREF)
Pinii de pe Arduino ta sunt locurile unde conectați firele pentru a construi un circuit (probabil în conjuction cu un breadboard și niște fire) . Ei au , de obicei , 'antetele' din plastic negru , care vă permit să conectați doar un fir de drept în bord. Arduino are mai multe tipuri diferite de pini, fiecare dintre care este marcat pe tablă și folosite pentru diferite funcții.
GND (3): scurtă pentru "Ground". Există mai multe pinii GND pe Arduino, oricare dintre acestea putând fi folosite la sol circuit.
5V (4) și 3,3V (5): După cum s – ar putea ghici, livrările 5V PIN – ul 5 volți de putere, iar 3.3V livrările de pini de 3,3 volți de putere. Cele mai multe dintre componentele simple, folosite cu Arduino pot rula de 5 sau de 3,3 volți.
Analog (6): Zona de pini sub eticheta "Analog In '(A0 prin A5 pe ONU) sunt analogice în pini. Acești pini pot citi semnalul de la un senzor analogic (ca un senzor de temperatură ) și îl transformă într – o valoare digitală pe care o putem citi.
Digital (7): Peste pinii analogici sunt pinii digitali (0 la 13 la ONU). Acești pini pot fi folosiți atât pentru intrare digitală (cum ar fi spune dacă un buton este apăsat) și ieșire digitală (cum ar fi alimentarea unui LED).
PWM (8): Este posibil să fi observat tilda (~) de lângă unele dintre pini digitali (3, 5, 6, 9, 10, și 11 la ONU). Acești pini acționează ca pini digitali normali, dar pot fi utilizați și pentru ceva numit Pulse-Width Modulation (PWM). Avem un tutorial pe PWM , dar pentru moment, cred că acești pini ca fiind capabili de a simula ieșire analogică (cum ar fi decolorarea unșr LED – uri și în afară).
AREF (9): Standuri pentru Analog Reference.De cele mai multe ori puteți lăsa acest PIN singur. Este folosit uneori pentru a seta o tensiune de referință externă (între 0 și 5 volți) ca limită superioară pentru pinii de intrare analogici.
Butonul de resetare
La fel ca Nintendo originală, Arduino are un buton de resetare (10). Împingându-l, va conecta temporar resetare PIN la sol și de a reporni orice cod care este încărcat pe Arduino. Acest lucru poate fi foarte util în cazul în care codul nu se repetă, dar doriți să-l testați de mai multe ori. Spre deosebire de Nintendo original, cu toate acestea, suflarea pe Arduino nu rezolvă de obicei problema.
Indicator cu LED-uri de putere
Doar dedesubtul și la dreapta cuvântului "ONU" la bordul de circuit, există un mic LED, de lângă cuvântul "ON" (11). Acest LED ar trebui să se aprindă de fiecare dată când conectați Arduino-ul într-o sursă de alimentare. În cazul în care această lumină nu se aprinde, înseamnă că ceva este în neregulă. Timp pentru a re-verifica circuitul!
LED-uri RX TX
TX este prescurtarea de la transmisie, RX este prescurtarea pentru a primi. Aceste marcaje apar destul de rar în electronică, pentru a indica pinii responsabili de comunicarea în serie . În cazul nostru, există două locuri pe ONU Arduino , în cazul în care apar TX și RX – o dată de pini digitali 0 și 1, și a doua oară de lângă TX și RX LED – urile indicatoare (12). Aceste LED-uri ne vor da câteva indicații vizuale frumoase de fiecare dată când Arduino recepționează sau transmite date (de exemplu, atunci când încărcăm un nou program pe placă).
Principalele IC
IC reprezintă Circuit integrat (13), acesta fiind,de fapt, creierul unui Arduino. Principalul IC pe Arduino este ușor diferit de tipul de bord, dar este, de obicei, de la linia ATmega a lui IC de la compania Atmel. Acest lucru poate fi important, deoarece poate fi nevoie să cunoască tipul de IC (împreună cu tipul de bord), înainte de a încărca un nou program de software-ul Arduino. Aceste informații pot fi găsite, de obicei, în scris, în partea de sus a IC. Dacă doriți să aflați mai multe despre diferența dintre diferitele IC, citind fișele tehnice este adesea o idee bună.
Regulator de voltaj
Regulatorul de tensiune (14) nu este de fapt ceva ce se poate (sau ar trebui) să interacționeze cu privire la Arduino. Dar este potențial util să se știe că este acolo și pentru ce este. Regulatorul de tensiune face exact ceea ce spune – controlează cantitatea de tensiune, care este lăsată în bord Arduino. Poate fi comparat cu un fel de portar, care îndepărtează o tensiune suplimentară ce ar putea afecta circuitul. Desigur, ea are limitele ei, deci nu conectați Arduino la ceva mai mare de 20 de volți.
Familia lărgită
În timp ce bordul Arduino sigur este destul, nu poate face o mulțime de lucruri pe cont propriu – ci trebuie ajutat de câteva dispozitive. În această secțiune , vom introduce senzorii de bază, precum scuturi Arduino, două dintre instrumentele cele mai la îndemână pentru a utiliza în proiectele dvs. Și de a le aduce la viață.
Senzori
Cu un simplu cod, Arduino poate controla și interacționa cu o varietate largă de senzori – lucruri care pot măsura lumina , temperatura , gradul de flex , de presiune , de proximitate , accelerație , monoxid de carbon , radioactivitate , umiditatea , presiunea barometrică.
Scuturile
În plus, există aceste lucruri numite scuturi. În principiu , acestea sunt plăci cu circuite pre-construite care se potrivesc pe partea de sus a Arduino și furnizează capabilități suplimentare – motoare de control , conectarea la internet , care furnizează celulare sau de comunicații fără fir, altele , care controlează un ecran LCD și mult mai mult .
Descrierea pinilor la Arduino si un mic glosar de termeni.
Începând de sus, există 14 pini digitali de intrare / ieșire (I/O – input/output). Aceștia operează la o tensiune de 5 volți și pot fi controlați cu una din funcțiile pinMode(), digitalWrite() și digitalRead(). Fiecare pin poate primii sau trimite o intensitate de maxim 40 mA și au o rezistență internă între 20-50 kOhmi (default deconectată). În afară de semnalul standard I/O, unii dintre pini mai au și alte funcții specializate, care sunt descrise mai jos:
(serial) RX – pin serial, utilizat în special pentru recepția (intrare – Rx) datelor seriale asincrone (asynchronous serial communication) Protocolul serial asincron este o metodă foarte răspândită în electronică pentru a trimite și recepționa date între dispozitive. Acest protocol este implementat în dispozitiv numit UART (Universal Asynchronous Receiver/Transmitter)
(serial) TX – pin serial, utilizat pentru trimiterea datelor asincrone (ieșire – Tx). TTL vine de la transistor-transistor logic.
(External Interrupts) întrerupere externă. Acest pin poate fi configurat pentru a declanșa o întrerupere la o valoare mică, un front crescător sau descrescător, sau o schimbare în valoare. Vezi detalii despre posibile comenzi la attachInterrupt()
(External Interrupts + PWM) întrerupere externă. Identic cu pinul 2. Suplimentar, toți pinii marcați cu semnul ~ pot fi folosiți și pentru PWM (pulse with modulation)
(I/O) pin standard intrare/iesire
(PWM) poate furniza control de ieșire pe 8-bit pentru controlul PWM. Vezi detalii despre posibile comenzi la analogWrite()
(PWM)
(I/O) pin standard intrare/ieșire
(I/O) pin standard intrare/ieșire
(PWM)
(PWM + SPI) – suportă comunicare prin interfața serială (Serial Peripheral Interface). SPI-ul are patru semnale logice specifice iar acest pin se foloseste pentru SS – Slave Select (active low; output din master). Pinii SPI pot fi controlați folosind libraria SPI.
(PWM + SPI) – suportă SPI, iar acest pin se folosește pentru MOSI/SIMO – Master Output, Slave Input (output din master)
(SPI) – suportă SPI, iar acest pin se folosește pentru MISO/SOMI – Master Input, Slave Output (output din slave)
(LED + SPI) – suportă SPI, iar acest pin se folosește pentru SCK/SCLK – Ceas serial (output din master). De asemenea, pe placă este încorporat un LED care este conectat la acest pin. Când pinul este setat pe valoarea HIGH este pornit, când are valoarea LOW este oprit.
(GND) – împământare. Aici se pune negativul.
(AREF) – Analog REFference pin – este utilizat pentru tensiunea de referință pentru intrările analogice. Se poate controla folosind funcția analogReference().
(SDA) – comunicare I2S
(SCL) – comunicare I2S
Mai jos, există o serie de 6 pini pentru semnal analogic, numerotați de la A0 la A5, fiecare din ei poate furniza o rezoluție de 10 biți (adică maxim 1024 de valori diferite). În mod implicit se măsoară de la 0 la 5 volți, deși este posibil să se schimbe limita superioară a intervalului lor folosind pinul 15 AREF și funcția analogReference(). De asemenea, și aici anumiți pini au funcții suplimentare descrise mai jos:
0.standard analog pin
1.standard analog pin
2.standard analog pin
3.standard analog pin
4.(SDA) suportă comunicarea prin 2 fire (I2S (I-two-C) sau TWI (Two wire interface)). Acest pin este folosit pentru SDA (Serial Data) la TWI.
5.(SCL) identic cu pinul 4, doar că acest pin este folosit pentru SCL (Serial Clock) la TWI. Pentru controlul TWI se poate folosi librăria Wire.
Lângă pinii analogici de jos mai există o secțiune de pini notată POWER. Mai jos sunt prezentați începând de lângă pinul analog A0:
Vin – intrarea pentru tensiune din sursă externă (input Voltage)
GND – negativul pentru tensiune din sursă externă (ground Voltage)
GND – negativ. Se folosește pentru piesele și componentele montate la arduino ca și masă/împământare/negativ.
5V – ieșire pentru piesele și componentele montate la arduino. Scoate fix 5V dacă placa este alimentată cu tensiune corectă (între 7 și 12 v)
3.3V – ieșire pentru piesele și senzorii care se alimentează la această tensiune. Tensiunea de ieșire este 3.3 volți și maxim 50 mA.
RESET – se poate seta acest pin pe LOW pentru a reseta controlerul de la Arduino. Este de obicei folosit de shield-urile care au un buton de reset și care anulează de obicei butonul de reset de pe placa Arduino.
IOREF – este folosit de unele shield-uri ca referință pentru a se comuta automat la tensiunea furnizată de placa arduino (5 volți sau 3.3 volți) (Input/Output Refference Voltage)
pin neconectat, este rezervat pentru utilizări ulterioare (la reviziile următoare ale plăcii probabil).
ONU Arduino (NUMAI SUA) & GENUINO ONU ( în AFARA SUA)
Arduino UNO este o platforma de procesare open-source, bazata pe software si hardware flexibil si simplu de folosit. Consta intr-o platforma de mici dimensiuni (6.8 cm / 5.3 cm – in cea mai des intalnita varianta) construita in jurul unui procesor de semnal si este capabila de a prelua date din mediul inconjurator printr-o serie de senzori si de a efectua actiuni asupra mediului prin intermediul luminilor, motoarelor, servomotoare, si alte tipuri de dispozitive mecanice. Procesorul este capabil sa ruleze cod scris intr-un limbaj de programare care este foarte similar cu limbajul C++.
Placa Arduino UNO se conecteaza la portul USB al calculatorului folosind un cablu de tip USB A-B, disponibil in varianta de 1.5 metri sau de 3 metri. Poate fi alimentata extern (din priza) folosind un alimentator extern. Alimentarea externa este necesara in situatia in care consumatorii conectati la placa necesita un curent mai mare de cateva sute de miliamperi. In caz contrar, placa se poate alimenta direct din PC, prin cablul USB. Pachetul contine doar placa Arduino, si nu si cablul USB sau alimentatorul extern (este necesar sa le comanzi separat, daca doresti).
Arduino Uno este placa ideală pentru a începe cu componente electronice, prin distracție și angajarea în proiecte hands-on. Această placă este intrarea la experiența unică Arduino: pentru a învăța elementele de bază, senzorii și cum funcționează elementele de acționare, precum și un instrument esențial pentru nevoile de prototipuri rapide. Arduino Uno Rev3 este cel mai utilizat și documentat bord , în familia Arduino.
Uno este un microcontroler bord bazat pe ATmega328P. Ea are 14 pini digitali de intrare / ieșire (din care 6 pot fi utilizați ca ieșiri PWM), 6 intrări analogice, un cristal de cuarț de 16 MHz, o conexiune USB, un jack de putere, un antet ICSP și un buton de resetare. Acesta conține tot ce este necesar pentru a sprijini microcontroler; pur și simplu conectați-l la un calculator prin intermediul unui cablu USB sau de alimentare cu un adaptor sau baterie AC-DC pentru a începe.
"Uno" înseamnă unul în limba italiană și a fost aleasă pentru a marca eliberarea Arduino Software (IDE) 1.0. Uno bord și versiunea 1.0 a Arduino Software (IDE) au fost versiunile de referință ale Arduino, acum au evoluat la noile versiuni. Uno bord este primul dintr-o serie de placi Arduino USB, precum și modelul de referință pentru platforma Arduino.
Descrierea plăcii de dezvoltare ArduinoUNO
Plăcile de dezvoltare Arduino seamănă foarte mult între ele (din elementele comune am putea enumera: intrările/ieșirile digitale, intrările analogice, microcontrolerul etc.). Din acest motiv descriem în continuare doar placa de dezvoltare ArduinoUno:
-intrare analogică: este folosită pentru citirea semnalelor nondigitale. Ex. senzori de temperatură, senzori de lumină, senzori de presiune, umiditate etc.
-intrare/ieșire digitală:imaginativa un intrerupator de la un bec. Acesta poate să aibă 2 stări: inchis sau deschis adica 0 sau 1
-pwm (Pulse-width modulation): modulația în durată a impulsurilor. Poate fi utilizat pentru a indeplinii o varietate foarte mare de sarcini, de la iluminarea LED pana la controlul vitezei motoarelor electrice.
Specificatii tehnice:
Programarea
Uno poate fi programat cu software – ul Arduino (IDE). Selectați "Arduino / GENUINO Uno" din meniul Instrumente> Board (în conformitate cu microcontroler la bord.
Cei ATmega328 pe Uno vine preprogramat cu un bootloader care vă permite să încărcați noul cod fără utilizarea unui programator hardware extern. Ea comunică folosind protocolul original , STK500 ( referința , fișierele header C ).
Poți evita bootloader și programul de microcontroler prin intermediul ICSP (In-Circuit Serial Programming) antet folosind Arduino ISP sau similar;
ATmega16U2 (sau 8U2 în rev1 și plăcile rev2) codul sursă firmware-ul este disponibil în magazia Arduino. ATmega16U2 / 8U2 este încărcat cu un bootloader DFU, care poate fi activat prin:
Pe placi de rev1: conectarea jumper-ul de lipire pe partea din spate a plăcii (lângă harta Italiei) și apoi Rese ING 8U2.
Pe placi de rev2 sau mai târziu: există un rezistor care trăgând 8U2 / 16U2 linia HWB la sol, ceea ce face mai ușor de pus în modul DFU.
Apoi , puteți utiliza software – ul Atmel FLIP (Windows) sau programator DFU (Mac OS X și Linux) pentru a încărca un nou firmware. Sau puteți utiliza antetul ISP cu un programator extern (suprascrierea bootloader DFU). A se vedea acest tutorial a contribuit-utilizator pentru mai multe informații.
Atenționări
Uno are un polyfuse resetabil care protejează porturile USB ale computerului. Cu toate că majoritatea computerelor furnizează propria lor protecție internă, siguranța oferă un strat suplimentar de protecție. În cazul în care mai mult de 500 mA, se aplică la portul USB, siguranța se va rupe în mod automat conexiunea până la scurtă sau de suprasarcină este eliminat.
Diferențele cu alte placi
Uno diferă de toate plăcile precedente, în care aceasta nu utilizează USB-serial cip FTDI conducător auto. In schimb, ea dispune de Atmega16U2 (Atmega8U2 până la versiunea R2), programată ca un convertor USB-serial.
Putere
Bord Uno poate fi alimentat prin intermediul conexiunii USB sau cu o sursă de alimentare externă. Sursa de alimentare este selectată automat.
Putere externă (non-USB) poate venii fie de la un adaptor de ca-DC (perete-veruci) sau baterie. Adaptorul poate fi conectat prin conectarea unui ștecher 2.1mm centru-pozitiv în fișa de alimentare a plăcii.
Placa poate funcționa pe o sursă externă de la 6 la 20 de volți. În cazul în care este furnizat cu mai puțin de 7V, cu toate acestea, PIN-ul de 5V poate furniza mai puțin de cinci volți, iar placa poate deveni instabilă. În cazul în care utilizați mai mult decât 12V, regulatorul de tensiune se poate supraîncălzi și deteriora placa. Intervalul recomandat este de 7 până la 12 volți.
Pinii de alimentare sunt următorii:
Vin. Tensiunea de intrare la bord Uno când folosește o sursă de alimentare externă (față de 5 volți de la conexiunea USB sau a altei surse de alimentare reglementate). Vă poate furniza tensiune prin acest pin, sau, în cazul în care tensiunea de alimentare prin mufa de alimentare, are acces la acesta prin acest PIN.
PIN-ul 5V.Acesta emite o tensiune de 5V reglementată de autoritatea de reglementare de pe bord. Placa poate fi alimentată cu energie, fie de la priza de alimentare de curent continuu (7 – 12V), conectorul USB (5V), sau PIN-ul VIN bord (7-12V). Tensiunea de alimentare prin intermediul 5V sau 3.3V, pinii bypaseaza de reglementare, și poate deteriora bord. Noi nu-l recomandam.
3V3. O sursă de 3,3 volți generată de autoritatea de reglementare la bord. Consumul maxim de curent este de 50 mA.
GND. pini la sol.
IOREF. Acest pin de pe placa Uno furnizează tensiune de referință cu care operează microcontrolerul. Un scut configurat corect poate citi tensiunea de PIN-ul IOREF și selectați sursa de alimentare corespunzătoare sau activați traducătorii de tensiune pe ieșirile pentru a lucra cu 5V sau 3.3V.
Memorie
ATmega328 are 32 KB (cu 0,5 KB ocupată de bootloader). Ea are , de asemenea , 2 KB SRAM și 1 KB EEPROM (care pot fi citite și scrise cu biblioteca EEPROM ).
Intrare și ieșire
A se vedea maparea între pinii Arduino și porturile ATmega328P. Maparea pentru ATmega8, 168 și 328 este identică.
Fiecare dintre cei 14 pini digitali pe Uno poate fi utilizat ca intrare sau ieșire, folosind pinMode () , digitalWrite () și digitalRead () ca funcții. Acestea funcționează la 5 volți. Fiecare PIN poate furniza sau primi 20 mA ca stare de funcționare recomandată și are un rezistor pull-up intern (deconectat implicit) de 20-50k ohm. Un maxim de 40mA este valoarea care nu trebuie să fie depășită cu privire la orice PIN I / O, pentru a evita deteriorarea permanentă a microcontrolerului.
In plus, unii pini au funcții specializate:
Serial: 0 (RX) și 1 (TX). Este folosit pentru a primi (RX) și transmite date seriale (TX) TTL. Acești pini sunt conectați la pinii corespunzători ale ATmega8U2 USB-TTL cip serial.
Întreruperile externe: 2 și 3. Acești pini pot fi configurați pentru a declanșa o întrerupere la o valoare mică, o margine în creștere sau în scădere, sau o modificare a valorii. A se vedea attachInterrupt () funcție pentru detalii.
PWM: 3, 5, 6, 9, 10 și 11. Furnizarea de ieșire PWM de 8 biți cu funcția analogWrite ().
SPI: 10 (SS), 11 (Mosi), 12 (MISO), 13 (SCK). Acești pini suportă comunicare SPI folosind biblioteca SPI.
LED: 13. Există un built-in LED-uri acționată de pini digitală 13. Atunci când PIN-ul este o valoare mare, LED-ul este aprins, atunci când PIN-ul este LOW, este oprit.
TWI: PIN-A4 sau SDA și A5 sau PIN-ul SCL. Suport de comunicare TWI folosind biblioteca de sârmă.
Uno are 6 intrări analogice, etichetate A0 prin A5, fiecare dintre ele oferă 10 biți de rezoluție (adică 1024 valori diferite). În mod implicit se măsoară de la sol până la 5 volți, deși este posibil să se schimbe capătul de sus a intervalului lor folosind PIN-ul AREF și funcția analogReference ().
Există o serie de alte pini de pe placa:
AREF. Tensiunea de referință pentru intrări analogice. Folosit cu analogReference ().
Resetare. Aduce această linie LOW pentru a reseta microcontroler. Folosit de obicei pentru a adăuga un buton de resetare la scuturi care blochează cea de pe bord.
Comunicare
Uno are o serie de facilități pentru a comunica cu un computer, un alt bord Uno, sau alte microcontrolere. ATmega328 prevede UART TTL (5V) de comunicație serială, care este disponibil pe pinii digitale 0 (RX) și 1 (TX). O ATmega16U2 pe canalele de bord este o comunicare serială prin USB și apare ca un port COM virtual pentru software-ul de pe computer. Firmware-ul 16U2 utilizează driverele USB standard COM, și nu este necesar nici un conducător auto extern. Cu toate acestea, pe Windows, este necesar un fișier .inf . Software-ul Arduino (IDE) include un monitor de serie care permite unor date simple textuale să fie trimise la și de la bord. RX și TX LED-urile de pe bord va clipi atunci când datele sunt transmise prin intermediul cip și USB conexiunea USB-serial la computer (dar nu și pentru comunicația serială pe pinii 0 și 1).
O bibliotecă de SoftwareSerial permite comunicația serială pe oricare dintre pini digitale Uno.
ATmega328 sprijină, de asemenea, I2C (TWI) și comunicare SPI. Software-ul Arduino (IDE) include o bibliotecă de sârmă pentru a simplifica utilizarea magistralei I2C.
Automată (Software) Reset
Mai degrabă decât să solicite o apăsare fizică a butonului de resetare înainte de o încărcare, placa Uno este proiectată într-un mod care îi permite să fie resetată prin software-ul care rulează pe un computer conectat. Una dintre liniile de control a fluxului de hardware (DTR) ale ATmega8U2 / 16U2 este conectat la linia de resetare a ATmega328 printr-un condensator 100 nanofarad. Atunci când această linie se afirmă (luat scăzut), linia de resetare scade suficient de mult pentru a reseta cipul. Software-ul Arduino (IDE) folosește această capacitate pentru a vă permite să încărcați codul prin simpla apăsare pe butonul de încărcare din bara de instrumente de interfață. Acest lucru înseamnă că bootloader-ul poate avea un timp de expirare mai scurt, deoarece scăderea DTR poate fi bine coordonată cu începerea încărcării.
Această configurare are și alte implicații. În cazul în care Uno este conectat fie la un calculator care rulează Mac OS X sau Linux, se resetează de fiecare dată când o conexiune este făcută de la software (prin USB). Pentru următoarea jumătate de secundă, bootloader-ul rulează pe Uno. În timp ce este programat să ignore datele malformate (adică nimic în afară de o încărcare de cod nou), acesta va intercepta primii câțiva octeți de date trimise la bord după o conexiune care este deschisă. În cazul în care rulează o schiță pe bord, primește de configurare o singură dată sau alte date atunci când pornește, în primul rând, asigurați-vă că software-ul cu care comunică așteaptă o secundă după deschiderea conexiunii și înainte de a trimite aceste date.
Uno bord conține o urmă care poate fi tăiat pentru a dezactiva auto-resetarea. Plăcuțele de pe fiecare parte a urmelor poate fi sudat împreună pentru a-l reactiva. Este etichetat "RESET-RO". Ați putea avea, de asemenea, posibilitatea de a dezactiva auto-resetarea prin conectarea unui rezistor de 110 ohmi de la 5V la linia de resetare.
Reviziile
Revizia 3 a plăcii are următoarele caracteristici noi:
1.0 pinout: adăugat SDA și pini SCL care sunt aproape de PIN-ul AREF și alți doi pini noi plasați în apropiere la pinul RESET, IOREF care permit scuturile să se adapteze la tensiunea furnizată de la bord. In viitor, scuturile vor fi compatibile atât cu placa, care utilizează AVR, care funcționează cu 5V și cu Arduino Due care opereaza cu 3,3V. Al doilea este un cod PIN neconectat, care este rezervat pentru scopuri viitoare.
Circuit RESET mai puternic.
ATMEGA 16U2 înlocuiți 8U2.
Bluetooth HC-05
Bluetooth este un set de specificații (un standard) pentru o rețea personală (engleză: personal area network, PAN) fără fir (wireless), bazată pe unde radio.Tehnologia Bluetooth a fost creată in 1994.
„Bluetooth” este o traducere în engleză a cuvântului scandinav Blåtand/Blåtann, cum era supranumit regele viking Harald I al Danemarcei din sec. al X-lea. Harald I a unit Norvegia și Danemarca; el era renumit ca fiind foarte comunicativ și se pricepea să îi facă pe oameni să comunice între ei. În română, bluetooth s-ar traduce „dinte albastru”.
Printr-o rețea Bluetooth se poate face schimb de informații între diverse aparate precum telefoane mobile, laptop-uri, calculatoare personale, imprimante, camere foto și video digitale sau console video printr-o unde radio criptate (sigure) și de rază mică, desigur numai dacă aparatele respective sunt înzestrate și cu Bluetooth.
Aparatele care dispun de Bluetooth comunică între ele atunci când se află în aceeași rază de acțiune. Ele folosesc un sistem de comunicații radio, așa că nu este nevoie să fie poziționate față în față pentru a transmite; dacă transmisia este suficient de puternică, ele pot fi chiar și în camere diferite.
Conector Bluetooth Mate Silver pentru Arduino (clasa 2, 10 metri)
Acest modem Bluetooth funcționează excelent cu Arduino. Este foarte simplu de utilizat (pur și simplu datele scrise pe pinii RX/TX sunt disponibili la receptor) – din acest punct de vedere putem considera ca și cum pinii RX/TX sunt conectați prin fire obișnuite între emițător si receptor.
Modemul dispune de un modul de clasa 2 RN-42, simplu de utilizat și cu documentație excelentă.
Modemul are regulatoare de tensiune pe placă, astfel încât poate fi alimentat între 5V si 6 V.
Cum se configureaza 2 conectori Bluetooth Mate
Varianta cu pini
Acest produs este disponibil atât în varianta fără pini (ca in pozele de mai sus), cât și în varianta cu pini tata gata lipiți, ca în imaginea de mai jos. Dacă alegeti varianta cu pini, cea mai simpla conectare cu placa Arduino se face folosind un set de fire mama-tata.
Auto-configurare Baud Rate – folosind Software Serial
Din fabrică, chip-ul Bluetooth are rata de transfer configurată la 115 200. Dacă ai nevoie să îl utilizezi la un baud rate mai scăzut (de exemplu pentru că ai un device care nu este suficient de rapid pentru a ține pasul), poți folosi codul de mai jos. Codul de mai jos utilizează o conexiune de tip Software Serial între Arduino și Bluetooth, și înainte de a-l utiliza în vreun fel (rutina "setup") îi trimite comenzile necesare pentru a-l configura la 9600 pentru sesiunea curentă.
Conexiuni Hardware
Bluetooth CTS-I – nu se conectează
Bluetooth VCC – Arduino 5V
Bluetooth GND – Arduino GND
Bluetooth TX-O – Arduino Digital 2
Bluetooth RX-I – Arduino Digital 3
Bluetooth RTS-O – nu se conectează
#include "SoftwareSerial.h";
int bluetoothTx = 2;
int bluetoothRx = 3;
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
void setup()
{
Serial.begin(9600);
bluetooth.begin(115200);
bluetooth.print("$$$");
delay(100);
bluetooth.println("U,9600,N");
bluetooth.begin(9600);
}
void loop()
{
if(bluetooth.available()) {
char toSend = (char)bluetooth.read();
Serial.print(toSend);
}
if(Serial.available()) {
char toSend = (char)Serial.read();
bluetooth.print(toSend); }
}
Auto-configurare Baud Rate – folosind conexiune serială clasică
Din fabrică, chip-ul Bluetooth are rata de transfer configurată la 115 200. Dacă ai nevoie să îl utilizezi la un baud rate mai scăzut (de exemplu pentru că ai un device care nu este suficient de rapid pentru a ține pasul), poți folosi codul de mai jos. Codul de mai jos utilizează o conexiune de tip serial clasic între Arduino si Bluetooth, și înainte de a-l utiliza în vreun fel (rutina "setup") îi trimite comenzile necesare pentru a-l configura la 9600 pentru sesiunea curentă. Un avantaj față de utilizarea conexiunii Software Serial (de mai sus) este faptul că în acest fel comunicarea dispune de un buffer hardware. Dezavantajul este că nu poți programa placa Arduino cât timp Bluetooth-ul este conectat. Se recomandă încercarea unui Software Serial, și doar dacă aveți probleme, să folosiți exemplul de mai jos.
Conexiuni Hardware
Bluetooth CTS-I – nu se conectează
Bluetooth VCC – Arduino 5V
Bluetooth GND – Arduino GND
Bluetooth TX-O – Arduino RX
Bluetooth RX-I – Arduino TX
Bluetooth RTS-O – nu se conectează
void setup() {
Serial.begin(115200);
Serial.print("$$$");
delay(100);
Serial.println("U,9600,N");
Serial.begin(9600);
}
void loop() {
}
Specificații
– modem Bluetooth clasa 2
– atinge 10 metri ca distanță de transmisie
– consumă în medie 25 mA
– conexiune criptată
– frecvența 2.4~2.524 GHz
– tensiune de alimentare 3.3 – 6 V
– capabil de rate de transfer între 2400-115200 bps (configurată by default la 115200 bps)
– temperatura de operare – 40 ~ + 70 C
– antena inclusă pe placa
Exemplu
void setup() {
Serial.begin(9600);
}
long time = millis();
void loop() {
if (Serial.available()){
Serial.println(Serial.read());
}
if ((millis() – time) > 2000) {
Serial.println(time);
time = millis();
}
Bluetooth controlled mood lamp
Introducere
Proiectul constă în implementarea unui dispozitiv de tip mood lamp (lampă multicolora cu 16 milioane de culori) ce poate fi comandat prin Bluetooth, prin intermediul aplicației Android MyLamp. Acesta dispune de mai multe moduri de funcționare (selectare culoare, joc de culori, fade, strobe, etc.) Scopul acestuia este unul atât estetic, cât și recreativ, facilitând schimbarea luminii ambientale.
Descriere generală
Schema bloc:
Hardware Design
Schema electrica:
Cablaj final:
O problemă pe care am întâlnit-o a fost încercarea de a modifica baud rate-ul cu care transmite modului HC-05 serial. Acest lucru l-am făcut printr-un Arduino. Deoarece acesta era setat pe 9600 bps, comenzile nu erau transmise îndeajuns de rapid la microcontroller și se putea observa un lag la schimbarea foarte rapidă a culorilor. Când a trebuit să modific baud rate-ul, am observat că HC-05 si ATmega324 nu au foarte multe valori comune (poate 4), și a trebuit să o găsesc pe cea mai mare comună dintre cele 4.
Software Design
Proiectul a fost scris în Sublime Text și compilat cu ajutorul compilatorului avr-g++. La partea de microcontroller, ATmega324 primește comenzi pe interfața serială de la Dispozitivul cu Android (via modulul Bluetooth) și le interpretează:
red[x] – setează intensitatea LED-ului roșu la valoarea [x]
green[x] – setează intensitatea LED-ului verde la valoarea [x]
blue[x] – setează intensitatea LED-ului albastru la valoarea [x]
rgb[x][y][z] – setează valorile ledurilor roșu, verde și albastru la valorile [x], [y] și [z]
white – schimbă starea LED-ului alb (ON/OFF)
chill[x][y][z][t] – setează mod-ul chill, în care microcontroller- ul primește un seed ([x]) și o culoare ([y][z][t]) și generează cu acel seed culori către care converg încet, pentru a genera un efect plăcut de gradient.
Implementarea primirii de comenzi se face folosind întreruperea de primire a USART0 de pe ATmega324, iar aprinderea LED-urilor se face folosind timerele t0 și t2 (pe 8 biti), pe canalele OC0A, OC0B si OC2A.
La partea de aplicație Android, am folosit Holo ColorPicker. Acesta acceptă un obiect de tip OnColorChangeListener care este notificat în momentul schimbării culorii și se face un callback care trimite culoarea în formatul precizat mai sus către microcontroller. Alte facilități sunt modificarea intensității culorii curente prin bar-ul atașat, sau trecerea în modul Bulb(lumina albă) sau chill (joc lent de lumini).
Rezultate Obținute
Proiectul este funcțional, am adăugat acestuia chiar mai multe funcționalități decât speram initial. Am întâmpinat probleme cu LED-urile pentru că nu erau îndeajuns de puternice, însă în final a fost un succes.
Am obținut, așa cum am precizat în descriere, un dispozitiv decorativ, foarte ușor de folosit prin aplicația atașată, care crează o ambianță placută într-o cameră de zi. Acesta poate fi folosit atât ca un Mood Lamp, cât și ca o veioză obișnuită ce oferă lumină albă.
Concluzii
Putem interfața foarte ușor dispozitive prin stabilirea unui protocol coerent de comunicație și a unui set de comenzi. Nu am întâmpinat probleme la implementarea software, mi s-a părut chiar foarte interesant și nu am avut set-back-uri majore (singura problemă am avut-o cu circuitul cu LED-urile RGBW, dar s-a rezolvat ușor în final). De asemenea, am mai întâmpinat bug-uri în programarea microcontroller-ului, care diminuau intensitatea LED-urilor.
Aceste low-cost cu Bluetooth funcționează bine cu Arduino și alte microcalculatoare.
Definiții:
HC-05 este un modul mai capabil , care poate fi setat să fie Master sau Slave;
HC-06 este un dispozitiv care are numai Slave. (Se pare fizic la fel ca HC-05);
Notă: Acum HC-06 nu este mai ieftin!
Aceste module mici (3 cm lungime) , module de putere, rulează pe 3,3V cu nivele de semnal 3,3V. Ele nu au pini și, de obicei, se lipesc la o placă mai mare.
Modulul are două moduri de operare, modul de comandă, unde putem trimite comenzi AT și modul de date în cazul în care acesta transmite și recepționează date de la un alt modul Bluetooth.
Plăcile "Breakout", ușor de utilizat, sunt disponibile și recomandate. NOTĂ: Vânzătorii, de multe ori le pot eticheta "HC-05" sau "HC-06", dar ei au un alt număr de model pe partea din spate. Cele mai multe dintre aceste plăci de sprijin, funcționează la 5V putere și de interfață la nivele de semnal de 5V Arduino cu unele tehnici de nivele de deplasare. O placă "Breakout" tipică este prezentată mai jos:
Secțiunile consiliului de BT (de mai sus):
-Green HC-05 sub-modulul este lipit pe partea de sus a BT Consiliul Albastru;
-Modulul HC-05 include radio și memorie, cristal de 26 MHz, antenă și rețea de potrivire RF;
-Secțiunea din dreapta a camerei BT are pini de conectare pentru putere și semnale precum și un 5V la 3.3V Regulator, cu LED-uri și nivel de deplasare;
-HC-05 Pinout (dreapta):
CHEIE: În cazul în care a adus HIGH înainte de a se aplica de putere, forțele AT Setup Mode comandă. LED-ul clipește lent (2 secunde);
VCC: 5V Putere;
GND: Sistem / Arduino sol;
TXD: Transmit date seriale de la HC-05 la Arduino Serial Primire. NOTĂ: 3.3V nivel HIGH: OK pentru Arduino;
RXD: Primire de date seriale de la Arduino Transmit Serial;
STAT: spune dacă este conectat sau nu;
COMANDĂ și TRANSFER DE DATE: MODURI
Modulul are două moduri de operare, modul de comandă, unde putem trimite comenzi AT și modul de date, în cazul în care acesta transmite și recepționează date de la un alt modul Bluetooth.
Modul implicit este modul DATA, iar acest lucru este configurația implicită, care poate lucra bine pentru multe aplicații:
Rata de transfer: 9600 bps, date: 8 biți, Stop Bits: 1 bit, Paritate: Nici una, Handshake: Nici unul
Passkey: 1234
Nume dispozitiv: HC-05
În unele cazuri, s-ar putea dori să se schimbe unele dintre valorile de setare de configurare. Există două modalități de a intra în modul de comandă:
Conectați pinii KEY înainte de a aplica puterea modulului. Acest lucru va pune modulul în modul de comandă la 38400 baud. Acest lucru este utilizat în mod obișnuit, și este necesar în cazul în care nu știți rata de transfer a modulului setat. Aveți posibilitatea să utilizați BlueToothCommandUtility (LINK) pentru acest lucru.
Se aplică putere la modul, apoi trageți PIN – ul ridicat, KEY. Acest lucru va intra în modul de comandă la rata de transfer configurată în mod curent. Acest lucru este util dacă doriți să trimiteți comenzi AT dintr – un microcontroler ca PIN – ul KEY, ce poate fi controlat de la unul dintre pinii microcontrolerului. Dar trebuie să fie configurată în mod curent rata de transmisie.
Comenzile sunt trimise la modul în MAJUSCULE și sunt terminate cu o pereche de CR / LF.
Modul de comandă Comenzi:
Formatul de comenzi este:
Întotdeauna începe cu "AT"
Apoi , "+" urmat de <ParameterName>
Apoi , fie:
? (returnează valoarea curentă a parametrului)
= (Noua valoare a parametrului)
Câteva exemple:
AT (AT comandă de testare. Ar trebui să răspundă cu OK)
AT + VERSIUNEA? (arată versiunea de firmware)
AT + UART = 9600,0,0 (Setare rată de transfer la 9600, 1 bit de stop, fara paritate)
Bluetooth Master Mode:
Pentru a configura modulul Bluetooth master, ca și pentru a asocia cu un alt modul Bluetooth, urmați acești pași. În primul rând, avem nevoie să punem modulul în modul de comandă, ca mai sus, prin tragerea PIN-ul CMD înainte de pornire. (Utilizați BlueToothCommandUtility (LINK) pentru acest lucru.)
Introduceți aceste comenzi în ordine:
AT + RMAAD ștergeți orice dispozitive asociate
AT + ROL = 1 Setați modulul la master
AT RESET + După schimbarea rolului, este necesară resetarea
AT + CMODE = 0 permite conectarea la orice adresă (Mi s-a spus că acest lucru este greșit și CMODE = 1 seturi "adrese")
AT modul + INQM = 0,5,5 Întreba – Standard, opriți după 5 dispozitive găsite sau după 5 secunde
AT + PSWD = 1234 PIN setat. Ar trebui să fie la fel ca dispozitiv de sclav
AT + INIT Start Serial Port Profile (SPP) ( În cazul în eroare (17) a revenit – ignorați ca profil deja încărcate)
AT + INQ Începe căutarea pentru dispozitive
O listă de dispozitive găsite vor fi afișate, unul dintre acestea fiind modulul Slave. Formatul de ieșire este: + INQ: adresa, tipul, semnal
Adresa modulului este ceea ce avem nevoie și este în formatul 0123: 4: 567890.
NOTĂ: Trebuie să înlocuiți colonul cu virgulă când folosiți adresa cu comenzi.
Dacă ați obține mai mult de un dispozitiv listat și nu știți care este modulul Slave, puteți interoga modulul pentru care este numele, folosind:
AT + RNAME? <Adresa>
de exemplu, (nu uitați să schimbați colonul la virgule):
AT + RNAME? 0123,4,567890
Odată ce avem adresa corectă sclav, trebuie să asociați cu ea, continuând cu următorul set de comenzi:
AT + ÎMPERECHEAȚI = <adresa>, <timeout> Timeoutul este în secunde și dacă trebuie să introduceți PIN – ul de pe dispozitivul de sclavi aveți nevoie, pentru a da suficient timp, să faceți acest lucru.
AT + BIND = <adresa> Setați adresa ce se leagă la adresa de sclavi.
AT + CMODE = 0 (Corecție!) Se permite comandantului navei să se conecteze numai la adresa legată (sclav). Acest lucru îi permite comandantului să se conecteze automat la slave atunci când este pornit.
AT LINK + = <adresa> Conectați -vă la sclav.
Modul slave:
Modulul Bluetooth HC-05 poate acționa, de asemenea, ca un sclav. Există mai puține comenzi pentru a seta asta:
AT + ORGL Resetarea la valorile implicite
AT + RMAAD Clear orice dispozitive asociate
AT + ROL = 0 Setați modul la SLAVE
AT ADDR Afișare adresă + SLAVE
HC-05 sau HC-06
Modul meu anterior pe care l- am primit de la o altă sursă (fără adaptor ) are un firmware diferit pe ea, cunoscut sub numele de HC-05, în timp ce modulul meu DX.com are un firmware HC-06. Pentru a fi clar: modulele sunt aceleași, dar software-ul / firmware-ul pe acesta este diferit, iar firmware-ul utilizează pinii diferiți.
HC-05 are firmware-ul "complet" pe ea: multe comenzi AT, și poate fi atât de master și slave modul. Firmware-ul HC-06, pe de altă parte, poate fi doar un dispozitiv de sclav, cu foarte puține comenzi AT.
Sau, cu alte cuvinte:
Modulul HC-05 poate construi o conexiune cu alte module. De exemplu, un robot poate fi conectat la modul Bluetooth slave. Sau, în mod slave, pentru a face o punte de legătură fără fir la un notebook.
Modulul HC-06 poate fi doar un sclav. Acest lucru îl face util numai pentru conectarea unui notebook la un robot cu un modul de sclav; exemplu, pentru o punte serială fără fir.
CHEIE: în conformitate cu fișa de date, am nevoie de acest PIN și de putere la resetarea modulului pentru a pune în aplicare modul AT. Nu am putut verifica acest lucru încă. Mi s-a spus că unele module nu au acest PIN conectat.
VCC este indicat în intervalul 3.6V-6V. Modulul a lucrat pentru mine, atât cu 3.3V și 5V.
GND: sol.
TXD: producția de serie a modulului, care urmează să fie conectat la RX a microcontrolerului. Rețineți că acest semnal folosește nivel logic 3,3V.
RXD: serie de intrare a modulului, care urmează să fie conectat la TX al microcontrolerului. Rețineți că acest semnal utilizează niveluri de logica 3.3V.
STATUL: conectat la LED-ul2 (Pin32) a modulului, dar pe modulul meu, PIN-ul a fost întotdeauna scăzut, indiferent dacă este asociat sau nu.
Diferite comenzi AT
Pe modulul HC-05, trimit la dispozitivul "\ r \ n AT", și apoi răspunde cu "OK \ r \ n".
Dar, pe HC-06, protocolul este diferit: pentru a trimite "AT" (fără personaje noi-line), primesc "OK" (fara caracterele pe noua linie).
Analizorul logic arată acest comportament pentru comandă AT trimisă la aparat:
Răspuns OK din dispozitivul cu nici un "\ r \ n", la sfârșitul anului:
Ratarea "\ r \ n" este prezentă pentru toate comenzile de firmware HC-06. Așa cum acest lucru nu este suficient, există foarte puține comenzi posibile. Tabelul de mai jos prezintă toate comenzile firmware HC-06 cu răspunsul:
Cu această cunoaștere, procesorul Componenta Expert Bluetooth a fost actualizat pentru a sprijini atât HC-05 și HC-06 firmware:
Sincronizarea firmware-ului:
Așa cum acest lucru nu este de ajuns, nu a funcționat chiar și cu noile comenzi implementate. HC-05 firmware trimitea înapoi un răspuns în mai puțin de 300 ms, în timp ce firmware-ul HC-06 are nevoie de mai mult de 500 ms, până când nu există un răspuns:
Deci, pentru acest lucru a trebuit să introducă o întârziere configurabilă de utilizator în componență.
Procesorul Expert Componenta
Firmware pentru a selecta între HC-05 și HC-06
Configurabilă Timp de răspuns în cazul în care modulul are nevoie de mai mult pentru comenzi
Stat opțional și pini CMD
În cazul în care este selectat firmware-ul HC-05, atunci componenta dezactivează automat metodele de funcționalitate care nu sunt prezente / sprijinite în firmware-ul (metodă estompată):
Command Line Interface
Componenta de Procesor Expert este dotată cu o linie de comandă opțională de interfață:
Cu aceasta, eu pot schimba PIN-ul de asociere, numele dispozitivului sau baud, alături de a trimite comenzi AT sau trimiterea unui șir de pod fără fir.
Conectarea la modulul Bluetooth
Modulul Bluetooth ruleaza protocolul SPP (Protocol serial prin Bluetooth) . Astfel încât, orice dispozitiv de susținere SPP se poate conecta la acesta. Pe un PC, acest lucru arată ca un port virtual COM. Am arătat aici pașii pentru Windows (care rulează Windows 7).
Înainte de conectare, asigurați-vă că modulul este alimentat și gata pentru conectare.LED-ul roșu de pe modulul indică starea:
luminează intermitent: gata pentru a asocia
copăcel: asociat
Apoi, noul dispozitiv ar trebui să apară:
Selectați dispozitivul și apăsați pe "Next". În dialogul următor selectați 'Introduceți dispozitivului codul de împerechere ":
Codul implicit este 1234 de asociere:
Prin următoarea apăsare , și driverele de dispozitiv vor fi instalate:
Apoi, dispozitivul este gata de utilizare:
Conectarea la Bluetooth Wireless prin Punte
Folosind portul COM prezentat pentru serviciul SPP, mă pot conecta cu un program terminal de pe PC-ul gazdă la placa mea. Practic aceasta îmi dă un pod fără fir prin Bluetooth la placa mea. Deci, de la PC-ul meu pot deschide o fereastră de terminal și de tip, în unele comenzi, care sunt analizate de către Shell de pe placa de FRDM, iar acesta răspunde înapoi la terminalul de pe PC:
În timp ce este conectat, modulul este în modul "transparent", și nu acceptă comenzi AT. Mai jos este un exemplu în cazul în care încerc să trimit o comandă AT de la microcontroler, în timp ce modulul Bluetooth este conectat la PC-ul gazdă:
Podul fără fir
Tot ceea ce trimit la portul virtual COM se termină pe modulul Bluetooth, care trimite apoi comenzile la microcontroler, folosind conexiunea RX și TX între microcontroler și modul. Cu aceasta, este foarte ușor de a trimite / primi comenzi utilizând procesorul componentă Expert Shell, iar punerea în aplicare, sunt doar câteva linii:
Săritor pack sârmă 100 pF condensator (Facultativ)
Dispunerea Breadboard pentru 'Sweep'
Pentru acest experiment, singurul lucru conectat la Arduino este motorul servo.
Servo motor are trei piste. Culoarea firelor variază între motoarele servo, dar de plumb roșu este întotdeauna 5V și GND va fi fie negru sau maro. Celălalt plumb este controlul de plumb și acest lucru este, de obicei, portocaliu sau galben. Acest contact de comandă este conectat la pinul digital de 9.
Servo-ul este convenabil terminat într-o priză în care putem împinge firele jumper, pentru a-l lega la breadboard și apoi la Arduino.
În cazul în care Servo funcționează corespunzător:
Servo-ul se poate comporta haotic, iar acest lucru se întâmplă doar atunci când Arduino este conectat la anumite porturi USB. Acest lucru se datorează faptului că servo-ul trage destul de multă putere, mai ales că motorul pornește, iar această cerere bruscă poate fi suficient pentru a scădea tensiunea de pe placa Arduino, astfel încât se resetează.
În cazul în care se întâmplă acest lucru, atunci puteți, de obicei, sa reparați prin adăugarea unui condensator de mare valoare (470uF sau mai mare) între GND și 5V pe breadboard.
Condensatorul acționează ca un rezervor de energie electrică pentru motorul utilizat, astfel încât atunci când începe, acesta preia putere de la condensator, precum și alimentarea cu Arduino.
Cod Arduino pentru 'Sweep'
#include <Servo.h>
int servoPin = 9;
servo servo;
Unghiul int = 0; // Poziție servo în grade
configurare void ()
{
servo.attach (servoPin);
}
void loop ()
{
// Scanare de la 0 la 180 de grade
pentru (unghi = 0; unghiul <180; unghi ++)
{
servo.write (unghi);
întârziere (15);
}
// Acum scanare înapoi de la 180 la 0 grade
pentru (unghi = 180; unghi> 0; angle–)
{
servo.write (unghi);
întârziere (15); } }
Motoarele servo sunt controlate printr-o serie de impulsuri și pentru a face mai ușor să le folosească, o bibliotecă Arduino a fost creată, astfel încât să puteți instrui servo-ul să apeleze doar la un anumit unghi.
Comenzile pentru utilizarea servo sunt ca built-in comenzile Arduino, dar pentru că nu vor să fie întotdeauna cu ajutorul unui servo în proiectele dumneavoastră, ele sunt păstrate în așa numita bibliotecă. Dacă doriți să utilizați comenzile din biblioteca servo, aveți nevoie să spuneți IDE Arduino pe care îl utilizează biblioteca, cu această comandă:
#include <Servo.h>
Ca de obicei, vom folosi apoi un "servoPin" variabil pentru a defini PIN-ul, pentru a controla servo-ul.
Această linie: definește un nou "servo" variabil de tip "Servo". Biblioteca ne-a oferit un nou tip, cum ar fi "int" sau "float", care reprezintă un servo. Puteți defini, de fapt, până la opt servomecanisme în acest fel, așa că, dacă am avut două servomecanisme, atunci am putea scrie ca în exemplul de mai jos:
servo1 servo;
servo2 servo;
În funcția 'setup' avem nevoie pentru a lega variabila "servo" la PIN-ul care va controla servo folosind această comandă:
servo.attach (servoPin);
Variabila "Unghiul" este utilizat pentru a conține unghiul actual de servo în grade. În funcția de "buclă", vom folosi două bucle pentru a crește mai întâi unghiul într-o direcție și apoi înapoi în celălalt atunci când ajunge la 180 de grade.
Comanda:
servo.write (unghi);
Spune servo-ului să actualizeze poziția sa de la unghiul furnizat ca parametru.
Dispunerea Breadboard pentru 'Knob'
Urmatorul nostru pas este o adăugare, astfel încât putem controla poziția servo prin rotirea butonului.
Trebuie doar să adăugați și un cursor de plumb de la ei la A0 pe Arduino.
Cod Arduino pentru 'Knob'
Codul pentru a face servo: urmați poziția butonului- este mai simplu decât a-l matura.
#include <Servo.h>
int potPin = 0;
int servoPin = 9;
servo servo;
configurare void ()
{
servo.attach (servoPin);
}
void loop ()
{
int citire = analogRead (potPin); // 0-1023
Unghiul int = citire / 6; // 0-180-ISH
servo.write (unghi); }
În prezent există o a doua variabilă numită "potPin".
Pentru a seta poziția servo, vom lua o citire analogic de la A0. Acest lucru ne dă o valoare cuprinsă între 0 și 1023. Deoarece servo se poate roti numai cu 180 de grade, trebuie să scadă acest lucru. Împărțindu-l de șase ne va da un unghi între 0 și 170.
Motoarele servo
Poziția motorului servo este stabilit de lungimea unui puls. Servo se așteaptă să primească un impuls aproximativ la fiecare 20 milisecunde. În cazul în care pulsul este mare pentru 1 milisecundă, atunci unghiul servo va fi zero; în cazul în care acesta este de 1,5 milisecunde, atunci acesta va fi în poziția sa centrală și, dacă este de 2 milisecunde va fi la 180 de grade.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Android este o platformă software și un sistem de operare pentru dispozitive și telefoane mobile bazată pe nucleul Linux, dezvoltată inițial de… [306930] (ID: 306930)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
