funkcije:

digitalne i/o:
digitalRead()
-cita vrednost koja dolazi na pin
-ima vrednost HIGH ili LOW
-pise se: digitalRead(pin)

digitalWrite()
-opisuje pinove time sto im daje vrednst HIGH ili LOW
-ako je pin u funkciji pinMode() konfigurisan kao OUTPUT, on ce imati vrednost HIGH pri naponu od 5 volti (ili 3,3 volti za platforme gde je to maksimalna vrednost napona), pin ce imati vrednost LOW za napon od 0V (zemlja)
-ako je pin definisan kao INPUT, digitalWrite() ce omoguciti (HIGH) ili onesposobiti (LOW) ugradjene otpornike na ulaznom pinu (to je dobro zbog sprecavanja ocitavanja bilo kog signala osim onog sto nam treba), mada ovde je bolja varijanta ukljucivanja ugradjenih pullup otpornika u funkciji pinMode() pri konfiguriaciji pina kao INPUT_PULLUP
-ako u funkciji pinMode() ne konfigurisete pin kao OUTPUT i kasnije u digitalWrite() funkciji kazete da se vasa dioda pali (zadate vrednost HIGH) vasa dioda nece svetleti bas cisto; to se desava zato sto kada se ne definise u pinModu() pin, digitalWrite() podesi one ugradjene otpornike, koji se ponasaju kao ogromni otpornici koji regulisu tok
- pise se: digitalWrite(pin,vrednost(HIGH ili LOW))

pinMode()
-konfigurise pinove te oni mogu biti ulazni INPUT, izlazni OUTPUT ili INPUT_PULLUP
-pise se: pinMode(pin, mode)
-konfiguracija pina kao INPUT: zapravo to nije neophodno uraditi pomocu funkcije pinMode(), jer su pinovi na Arduinu automatski konfigurisani kao INPUT pinovi. INPUT pinovima odgovara stanje visoke impedanse(ne povlaci, uzima mnogo struje otpornik iz kola). Nije potrebna velika struja da bi se stanje INPUT pina promenilo. INPUT pinovi se mogu koristit pri ocitavanju stanja led diode ili analognog senzora. Ako je nas pin konfigurisan kao INPUT a nista nije prikljuceno na njega ili ako su prikljuceni provodi koji pored toga nisu deo nekog drugog kola doci ce do sledece pojave a to je prikupljanje svakakvih signala, ili tako zvanih sumova. Zbog svega ovoga koriste se pullup ili pulldown otpornici. Oni imaju ulogu da "ocuvaju" poznato znacenje naseg pina od sumova. Ako biramo da koristimo pullup otpornik njega prikljucujemo na 5V, a ako biramo pulldown otpornik, njega prikljucujemo na zemlju (ground). Obicno je vrednost otpornika 10K. 



-konfiguracija pina kao INPUT_PULLUP: Na Arduinu postoje otpornici od 20K, dakle oni su ugradjeni i njima se moze pristupiti pomocu softvera i to ako definisimo nas pin kao INPUT_PULLUP. Dakle u funkciji pinMode() pisemo INPUT_PULLUP. Ovo je direktna inverzija INPUT pin moda, gde HIGH znaci da je senzor iskljucen, a LOW znaci da je senzor uklucen. Kada prikljucujemo senzor na pin koji je definisan kao INPUT_PULLUP drugi kraj treba povezati sa zemljom. U slucaju jendostavnog ukljucivanja, ovo uzrokuje da nas pin cita HIGH kada je prekidac otvoren i LOW kada je prekidac pritisnut. Pullup otpornici proizvode dovoljno struje koja je dovojna da zasvetli led dioda koja je povezana na pin konfigurisan kao INPUT. Ako vasa dioda svetli, ali ne bas cisto verovatno se desava upravo to. Pullup otpornike kontrolisu isti regisrti koji kontrolisu da li je vredost pina HIGH ili LOW. .
primer

-konfigurisanje pina kao OUTPUT: za pinove definisane kao OUTPUT karakteristicno je stanje niske imedanse. Ovo znaci da oni mogu da proizvedu dovoljno veliku struju za druga kola. Ta struja je do 40mA i ona je dovoljna za osvetljenje LED diode, ili za pokretanje mnogih senzora, ali ona nije dovoljna za pokretanje motora, releja i solenoida. Kratki spojevi ili pokusaj pokretanja velikih uredjaja sa OUTPUT pinova moze dovesti do njihovog ostecenja ili cak do ostecenja cele platforme. Iz ovih razloga preporucuje se upotreba otpornika pri  povezivanju sa drugim uredjajima.