[Powered by Google Translate] CHRISTOPHER BARTHOLOMEW: So jy het waarskynlik die aanhoor van 'n baie oor Arduino, en al die briljante maniere wat dit kan wees geprogrammeer met behulp van C insette te ontvang van randapparatuur soos knoppies, sensors en knoppies. Of vertoon en beheer uitset deur fisiese komponente soos ligte, sprekers, dien en motors. Maar wat is 'n Arduino, regtig? 'N Arduino is 'n tipe van 'n mikrobeheerder, en 'n mikrobeheerder kan beskou word as 'n baie afgeskaal rekenaar wat bevat komponente soos 'n verwerker, klein hoeveelhede van die geheue vir die stoor van eenvoudige programme, en verskeie toevoer / afvoer penne wat produseer 'n elektriese stroom as gevolg van instruksies in jou program. Die penne op 'n Arduino is hier om te koppelvlak met die fisiese komponente soos LEDs, sprekers, sensors, motors, en nog baie meer. Dit is 'n Arduino Uno R3 wat ons sal gebruik word om dwarsdeur die kursus. In hierdie video, sal ek gaan oor slegs 'n paar van die belangrikste komponente van hierdie raad. Maar, as jy meer inligting wil hê, wat ek raai jy lees, besoek die skakel vir die Arduino Uno se volle spesifikasie. Krag vir die raad kan ontvang word van die USB, eksterne AC DC kragbronne, of deur die battery connectors. Vir hierdie video oefeninge, sal ons gebruik USB vir krag. As jy belangstel in ander maniere om krag te voorsien aan jou Arduino raad of meer wil weet oor die krag penne om te weet, verwys asseblief na die krag afdeling van die spesifikasie skakel verskaf. Volgende, is daar twee hoof pen afdelings op 'n Arduino dat ons sal gebruik om spanning te verskaf aan ons komponente - digitale penne en analoog insette penne. Voordat ons verder gaan, laat ons hierdie twee terme te verstaan. Analoog insette penne is vir komponente soos knoppe, wat analoog seine skep. 'N knop kan verskillende hoeveelhede van weerstand te bied spanning tussen die twee penne dat dit is verbind. Neem, byvoorbeeld, 'n ligte dowwer. As die knop in een rigting gedraai word, sal die lig word helderder omdat die weerstand verminder. Dit bied 'n sterker elektriese stroom na die komponent, wat lei in 'n beter lig. Nou die digitale penne is effens anders in daardie hulle produseer 'n digitale sein wat afhanklik is van die bedrag van die spanning oor die penne. Digitale seine vir die Arduino is op 5 volts, of gegrond betekenis af, of nul volts. Neem byvoorbeeld 'n ligskakelaar. 'N ligskakelaar het twee waardes - op en af. Wanneer jy die lig op die gebruik van die skakelaar, jy die verskaffing van volle krag aan daardie lig. Wel, op die onderwerp van digitale en analoog, ek is seker jy opgemerk deur nou die akroniem PWM onder die digitale pins deel. Dit staan ​​vir pulswydte modulasie. PWM manipuleer die spanning oor tyd te produseer modulasie effekte wat is soortgelyk aan dié van die analoog penne. Byvoorbeeld, deur die draai 'n lig op en af ​​vinnig vir verskillende lengtes van die tyd, kan dit beheer die lig helderheid. So jy kan vra jouself, as alles wat jy het om te doen sommige spanning tot 'n komponent vir dit om te werk, waarom selfs 'n mikrobeheerder? Wel, laat ons 'n hoë-vlak blik op 'n mikrobeheerder dat ons kan interaksie met daaglikse die wekker. Die wekker het baie insette, byvoorbeeld knoppies, wat gebruik word om in interaksie te tree met die wekker program. Dit het ook uitsette wat liguitstralende stroombane genoem sewe segment vertoon wat toon die tyd. Dit word alles beheer deur 'n program wat vervat is in 'n mikrobeheerder se geheue. Nou, laat ons neem 'n blik op 'n scenario en kyk of ons kan soortgelyk aan die wekker met hierdie Arduino. Jy is gereed om te gaan slaap, maar jy sal nodig het om jou te stel alarm te wakker. Ons weet dat ons deur gebruik te maak van 'n paar knoppies sommige kan stel veranderlike, tyd, gee dat die program 'n toestand waarin dit moet voldoen. Soos wanneer dit tyd is waar, die program moet stuur 'n sein na 'n ander pen wat gekoppel is aan 'n spreker. En wanneer hierdie sein ontvang word deur die speaker, moet speel 'n vreeslike geluid. Kom ons gebruik 'n eenvoudige stroombaan te gee jou 'n konteks wat Ek praat. So nou dat jou alarm is, is nou jou toestand gestoor in die program se geheue. En na slegs nege sekondes van slaap, jy hoor die verskriklike alarm blaas weg. Ek gaan voort en plug-in ons alarm gaan hier. Nou, ons wil nie te kry nogal nog, so ons voel vir die snooze knoppie. Ons laat die slaap student stilstand, of onderbreek hierdie verskriklike alarm klank, deur net te slaan dat die knoppie. Maar wat gebeur regtig wanneer die mikrobeheerder se program ontvang 'n sein van die snooze knoppie? Wel, wanneer die snooze knoppie gedruk word, 'n sein is ontvang op 'n ander pen. In die algemeen, wanneer die program ontvang hierdie insette van die pen dit reageer deur die roeping van 'n funksie te vertraag nie, en of ons slaap, die sein wat aan ons spreker pen gestuur is. Hierdie vertraging of slaap is vir 'n paar konstante tyd wat gewoonlik sowat nege minute, of in Arduino terme, 540,000 millisekondes. As die wekker nie afgeskakel is voordat die snooze timer uitput, sal die program se toestand stuur ander sein na die spreker se pen, dus draai die alarm weer. Nou, wat maak Arduino spesiaal vir cs50 is sy ontwikkeling omgewing gebruik die C-taal, gee jou die mag om kennis toe te pas wat in 'n meer direkte hands-on manier. Hoewel ons dit nie raak op die ander spesiale penne wat betrokke is met die Arduino, ek beveel aan dat jy na die spesifikasie en lees oor hul vermoëns verder. In 'n ander video, sal ons verken die Arduino ontwikkeling omgewing op die cs50-toestel en skryf ons eerste mikrobeheerder aansoek. My naam is Christopher Bartholomew, dit is cs50.