Jeffrey Cross
Jeffrey Cross

Miks Arduino võitis ja miks see siin viibib

[Arduino illo, James Provost]

Iga kuu postitan siin paar uut redigeerimisstiili veergu Make: Online. Need tükid on mõeldud sulle mõtlema, arutelu ja arutelu õhutamiseks, võib-olla isegi natuke mõnitama. Minu esimene veerg nimetatakse "Miks Arduino võitis ja miks see siin viibib."

Umbes nädala pärast lõpetab suure kiibi firma esindaja repliigi ja näitab mulle veel teist „Arduino-tüüpi platvormi”, nimega The Arduino Killer. See on siin üsna tavaline sündmus; iga kuu või nii on olemas firma või inimene, kes tahab teha järgmise „Arduino”. Nad tavaliselt võtavad minuga ühendust, sest ma olen aastaid Arduinot katnud, aidanud seda teha tegija maailmas ja ma kasutan seda iga päev minu töös Adafruit. Ma arvan, et see oli hämmastav mõju elektroonilistele harrastajatele ja kunstnikele, võib-olla sama palju kui personaalarvuti esimestel päevadel (Homebrew Computer Club jne). Turul on rohkem kui 100 000+ Arduinos ja minu hinnangul on tuletisinstrumentide lisamisel palju rohkem (umbes 150K alates 2/2011). Järgmise 5–10 aasta jooksul kasutatakse Arduino't igas koolis elektroonika ja füüsilise arvuti õpetamiseks - see on minu ennustus. Tagasi ei lähe.

Enamikel juhtudel lõpetavad need Arduino-Killeri aju-valimise istungid hästi sooviva loendiga asjadest, mida tuleb kaaluda, kui nad tahavad püksides Arduinot lüüa, ja see ongi - nad tavaliselt ei tee seda kunagi. Arduino kohta on mõned suured ajalooga artiklid, kuid ma tahan tegeleda sellega, miks see näib olevat „võitnud”. Kuid midagi öeldes on defacto standard riskantne - see on ka liiga vara, eks? Mõningaid võitu öeldes tekib mõningane arutelu ja see on hea - meie uus kommentaaride süsteem toimib nüüd hästi (nii et arutelu eemale). Ma arvan, et see võitis, ma ütlen teile, miks ja miks see siin viibib. Kui soovid teha midagi Arduino peksmiseks, siis sain sulle kaetud - siin on teie retsept. Let's get cooking!

Mis on Arduino? Alustagem sellest, kuidas Arduino meeskond seda määratleb:

„Arduino on avatud lähtekoodiga elektroonika prototüüpide platvorm, mis põhineb paindlikul, lihtsalt kasutataval riistvaral ja tarkvaral. See on mõeldud kunstnikele, disaineritele, harrastajatele ja kõigile, kes on huvitatud interaktiivsete objektide või keskkondade loomisest.

„Arduino võib tunda keskkonda, saades sisendit erinevatest anduritest ja võib mõjutada selle ümbrust, kontrollides valgust, mootoreid ja muid täitureid. Plaadil olev mikrokontroller on programmeeritud Arduino programmeerimiskeelt kasutades (juhtmestik) ja Arduino arenduskeskkonda (töötlemise põhjal). Arduino projektid võivad olla iseseisvad või nad saavad suhelda arvutiga töötava tarkvaraga (nt Flash, Processing, MaxMSP).

„Plaate saab ehitada käsitsi või osta eelnevalt kokku pandud; tarkvara saab tasuta alla laadida. Riistvarapõhised disainilahendused (CAD-failid) on saadaval avatud lähtekoodiga litsentsi alusel, mida saate vabalt kohandada oma vajadustele. ”

"Mis" on veel veidi ebamäärane ja see on Arduino tugevus. Liimi inimesed kasutavad ülesannete ühendamiseks. Parim viis Arduino kirjeldamiseks on mõned näited.

  • Kui soovite kohvi valmistada, soovite kohvipoti piiksuma? Arduino.
  • Kas soovite plushie steake kuma? Arduino.
  • Kuidas saada oma telefonis hoiatust, kui teie postkastis on füüsiline kiri? Arduino.
  • Tahad saada professor X Steampunki ratastooli, mis räägib ja loobub roojast? Arduino.
  • Kas soovite teha välja viktoriini summereid Staples Easy Buttonsist väljuva sündmuse jaoks? Arduino.
  • Kas soovite oma pojale Metroidilt valgustav käsi kahur? Arduino.
  • Kas soovite teha oma südame löögisageduse monitori, mis registreerib mälukaardile? Arduino.
  • Tahad teha robotit, mis tõmbab maapinnale või sõidab lume ümber? Arduino.

Keegi, kes ei tea elektroonikast või mikrokontrolleritest, kõlab lahedalt ja lõbusalt ning soovite selle klubiga liituda. See on seda tüüpi asjad, mida lapsed tahavad teha - võite isegi neid trikkida, et õppida mõningaid asju mööda teed. Need on projektid, mis on seotud sci-fi loodega, millised on vidinate saidid. Mida kõik need on ühised? Nad on ideed, mida tavaliselt ei juhtuks, asjad, mida me tavaliselt lihtsalt unistame. Aga nüüd on need fantastilised ideed ellu viidud ja väga tõenäoline on, et neid ei valmistanud insener.

See on suur asi, sest insenerid kipuvad kujundama platvorme teistele inseneridele, mitte kunstnikele, imelikele või lastele, kes soovivad idee jagamiseks lihtsat viisi ühendada. Arduino meeskond ei koosne rasketest elektriinseneridest. Nad on disainerid, õpetajad, kunstnikud ja (mida ma saan öelda) tehno-hipid (see on kompliment, ma loodan, et ma neid ei solvanud.) Arduino on enamasti Itaalias ja igal aastal loen teist artikkel selle kohta, kuidas Itaalia üritab leida „oma Google'i”, kui neil on see juba olemas. See on Arduino - nad lihtsalt ei mõista seda veel.

Kui vaatate Arduino projektide näiteid, siis näed tegijaid rohkem huvitavat sellest, mis - mitte see, kuidas - elektroonika. Karmid inimesed, kes naudivad Arduino edu pärast, on armastus öelda, et Arduino ei õpeta selle aluseks olevat elektroonikat, “Bah! see ei ole reaalne elektroonika, ”ütlevad nad:„ See on liiga lihtne! ”Jah, see on. Kui soovite, et LED vilgub või mootor liigub ilma Arduino kasutamata, õnnestub teil olla kunstnik või disainer. Me räägime päevadest, et seda õigesti saada (kui see üldse töötab). Muidugi on meeldiv maksta oma tasusid ja muljet avaldada teistele oma massiivse Elektroonika kunst raamat, aga kõigile teistele sealt, tahavad nad lihtsalt, et LED põleb oma Burning Mani kostüümi eest.

Ma arvan, et minu lemmik näide sellest, kuidas osa vanade koolide mikrokontrollerite kogukonnast Arduinot vaadas, pärineb AVR Freaksist, ametlikust kogukonnast, mis on pühendatud AVR protsessorile (sama, mida kasutatakse Arduino). Sa arvad, et nad armastavad seda uut tähelepanu, tuues AVRi mikrokontrollerid massidesse. Kuid paljud AVR Freaks'i kogukonnas ei meeldi kõigile nendele inseneridele, kes oma imelisi kunstiprojekte oma hierarhiat segavad. Minu lemmik tsitaat (ja ma tahan seda T-särgil) on:

„Arduino: beebikõne programmeerimine potheadile” - ArnoldB, AVRfreaks.net

See ekslik suhtumine aitas Arduinole tõesti kaasa, sest see lükkas Arduino fännid üles ehitama oma kogukonda ja üks, mida ma ütleksin, on kaasavam ja eemale eemaletõmbumisest.

Arduino on lihtne, kuid mitte liiga lihtne. See on üles ehitatud idee järgi, et õpilased kasutavad neid „midagi tegema“: saada anduriandmeid, omada natuke koodi, teha sellega midagi. Võib-olla nad isegi koodi ei kirjutanud, nad hakkasid ja alustasid selle alustamiseks. See on kuum liim, mitte täpsuskeevitus. Keegi ei kavatse stuudio katkestada ega katkestada. Üks Arduino meeskonna liikmetest õpetab disainereid ja kunstnikke - iga päev on platvorm ehitatud ja täiustatud samm-õppe jaoks, mis põhineb õppetundidel ja jagamise koodil - need disainerid ja kunstnikud kasutavad Maci ja töötlemist töötlemisel (Arduino vanem vend) .

OK, nii et see on kõik soe ja udune, kunstiline armastusfestival, mistõttu see on DIY edulugu? Ei, seal on veel rohkem! Lähme veidi täpsemini ...

IDE töötab Macidel, Linuxil ja Winil IDE töötab Mac, Win ja Linuxis ning on täiesti avatud lähtekoodiga. IDE on see, kuidas te Arduino programmeerite - see põhineb töötlemisel (graafika programmeerimiskeel ja arendussüsteem, mis on populaarne kunstnike ja disainerite seas), mis on juba pikka aega olnud. See töötab Mac ja Linuxis, mitte ainult Windowsis, ja see on oluline, kui soovite osaleda. See põhineb tugeval ja hästi toetatud taustal, avatud lähtekoodiga gcc-tööriistarelil ja pakendatakse Java-sse, nii et teisaldamine on lihtne ja vigu võib leida ja fikseerida. IDE-l on piisavalt nutikaid inimesi, kes kasutavad ja töötavad, et hoida seda tugevana. Tahad freaky cool inimesed teha puhas kraami oma platvormi? Sa pead oma IDE-l sujuvalt töötama Macil ja ka Linuxil.

Sõitja tegeleb Maci, Linuxi ja Win-iga uuesti, nagu IDE-l, draiverid kasutavad juhatust tööle Mac, Win, Linux ja FTDI draiveritel „lihtsalt töötavad”. Seerianumber, hästi mõistetav (kuid aeglane) ) liides, oli hea kõne. Muidugi HID või midagi kohandatud on lahe ja kõik, ja võib olla palju kiirem, kuid seeriaplaat töötab, seda saab kasutada nii silumiseks, kui ka programmeerimiseks, ja hõlpsasti pilusid tarkvaratööriistadesse nagu Java, Python, Perl, C, NET, BASIC , Delphi, MAX / MSP ja PureData, töötlemine jne

Raamatukogud, lihtsad asjad, lihtsad asjad, rasked asjad Lihtsaid asju, näiteks SD-kaartidele, LCD-ekraanidele, GPS-i analüüsimiseks, on mitmed objektide pakitud raamatukogud. Ja seal on ka raamatukogusid, et teha lihtsaid asju, nagu nööpnõelad või debonteerimisnupud. Oleme kirjutanud UART-i seadistuskoodi 10 korda 10 kiibi kohta ja ausalt öeldes oleme sellest väsinud. Palju kenamaks lihtsalt helistada Serial.begin (9600) ja laske see meie registrid välja selgitada.

Lightwight, metallitöötlus Kood töötab otse palja metallil, hästi läbiproovitud ja arusaadava kompilaatoriga (isegi öelda, et AVR-gcc on AVR-i vaikimisi / standard-kompilaator.) Seda ei tõlgendata nagu .NET või BASIC. See on kiire, see on väike, see on kerge ja HEX-faili saate kasutada värskete kiipide programmeerimiseks lahtiselt.

Andurid Arduino tõesti tõusis, sest sellel on analoog-digitaalne sisend, teisisõnu, saate võtta anduriandmeid, nagu valgus, temperatuur, heli või mis tahes, kasutades juba turul olevaid odavaid andureid ja saada see Arduino lihtsalt. See on ka valmis SPI ja I2C digitaalsete andurite jaoks. See hõlmab 99% turul olevatest anduritest. Te ei saa seda hõlpsasti teha teiste platvormidega - see on täiesti veider, et näha BeagleBoardi (suurepärane toode), mille Arduino on põhiliselt rihmaga seotud, et saada anduriandmeid.

Lihtne, kuid mitte liiga lihtne Paljud dev-plaadid on ajalooliselt väga keerulised, kuna neil on palju lisatarvikuid nagu LCD-ekraanid, nupud, valgusdioodid, 7-segmendid jne. näidates kõike, mida ta saab teha. Arduino on minimaalne. Tahad rohkem? Võta kilp. LCD-st kuni Wi-Fi-ni on sadu Arduino kilpe, kuid selle lisamine on kasutajalgi. Kilbid lisavad kergesti lisafunktsioonid ja teistele on olemas äriline stiimul.

Chip Maker ei ole seda teinud. Miks see oluline on? Chip tegijad tahavad sageli näidata, kuidas nende toode on erinev, et nad lisaksid imelikke asju, et ennast eristada. Arduino rõhutab mikrokontrollerite ühiseid jooni, mitte erinevusi. See tähendab, et Arduino on täiuslik algajaplatvorm - kõik, mida saate teha Arduino abil, mida saate teha mõne muu mikrokontrolleriga, ja põhitõed kestavad kaua.

Odav hind Arduino saate $ 30 eest ja ilmselt näeme peagi 20 dollarit Arduinos. Paljud dev-lauad algavad $ 50-st ja saaksid kergesti $ 100 + -ni, kuigi nüüd näeme, et kiibiettevõtted hakkavad mõistma, et selle väärtuslikumaks hinnakujunduse strateegia on kasulik.

Avatud lähtekood Kuigi on hea, et Arduino on avatud lähtekoodiga, ja kui kloon on tehtud, on kaubanduslik kasutamine lubatud, see ei ole suurim põhjus, miks see on nimekirja lõppu all. Kuid see ei tähenda, et see ei ole üldse oluline. Spetsialiseerunud tuletisinstrumente saab teha ilma kellegi maksmata või kelleltki küsimata. See on avatud lähtekoodiga riistvara, nii et ettevõte või kool saab seda kasutada ilma igasuguse litsentsita. Ei ole ohtu, et see lõpetatakse ja tarkvara on igavesti kadunud. Kui soovite uut funktsiooni, saate selle aega veeta ja lisada. Kui tuhandetel inimestel on väike panus midagi või omandiõigust, siis nad hoolivad rohkem. Kas keegi isegi arutab, kas avatud lähtekoodiga tarkvara on enam hea mõte?

Sellepärast „võitis” (vähemalt sellepärast arvan, et see võitis). Ei ole teist platvormi, mis seda teeks. Mõned on väga lähedased (nagu Netduino, suurepärane platvorm, mis täidab niši), kuid neil on veel mõned asjad, mida teha. Võib-olla kontrollite neid punkte oma peaga kokkuleppel, või võite olla hüperventileeriv suure vastusega, mis selgitab, kuidas FPGA-d on nii palju paremad. Mõlemal juhul, kui te ei saa neid punkte kontrollida, ei ole teie platvorm valmis konkureerima Arduino vastu. Eriti kui sa nimetad seda Arduino Killeriks.

Miks Arduino viibib siin, et takistada sisenemist ei ole rahaline, vaid filosoofiline. Selleks on vaja julgust ja komisjonist mõtlemist. Kiibiettevõte peab kiibid välja näitama - nad ei hooli Maci toest, ega kirjuta tonni tarkvara, raamatukogusid ja IDE-sid. Kiibiettevõtted on (ajalooliselt) platvormid. Näeme, et mõned suured mängijad üleujutavad turgu subsideeritud riistvaraga, et võita Arduino 30 dollari hinnapunkti, kuid see ei ole oluline, kui Arduino tugi ja kvaliteet on kõrge.

Miks muidu on siin siin? Kogukond. Kuidas saad 100 000 + inimest laeva hüpata? Sa ei saa. Sulgemiseks peate arendama midagi nagu Arduino, toetama selle kilpe ja tarvikuid ning kirjutama palju koodi (midagi kiibi firmad vihkavad.) Suurepärane tarkvara mitme süsteemi jaoks, palju raamatukogusid, draivereid, kes töötavad , lihtne, odav ja avatud lähtekood. Ja sa tead mida? Ma arvan, et see on see, mida Arduino meeskond tõesti tahab. Nad on tehno-hipid - nad tahavad näha teisi platvorme samade ideaalidega - see on mäng, mida nad tegelikult mängivad. Ja ma arvan, et see on see, mida me kõik tahame, olgu see Arduino või mitte.

Kui sa tahad neid peksid, pead sa hüppama ja muutuma. Parim lahendus kasutajatele on see, mida tõesti juba võitis, ja see on siin, et jääda. Elagu kuningas Arduino!

Veel: vaadake meie uut Make: Arduino lehekülge, kus MAKE võtab kõik asjad Arduino

Osa

Jätnud Kommentaari