Mingi aeg muretsesin endale robotite jaoks Arduino Uno odava klooni, mille hind jäi alla 3€. Loomulikult soovitan toetada Arduino originaalautoreid aga mõte on selliseid kloone kasutada seda erinevate robotprojektide peal. Nii ei pea muretsema, kui midagi ebaõnnestub või katki läheb. Antud postitus toetab Arduino õppeprogrammi, mille leiad siit: www.metshein.com/course/arduino/
Üritatud on siis jäljendada populaarset Arduino Uno arendusplaati, mis tähendab seda, et see kasutab reeglina sama tüüpi mikrokontrollerit ning jalgade paigutus on sarnane. Hinna peaks muutma odavaks pisikeste hiinlaste kibe kätetöö ning odav CH340 või CH341 USB chipset. Antud kloonile on lisatud lisaks kaks analoogväljundit.
Oma arvutis töötamiseks pead allalaadima eraldi draverid: driver1_ch340, driver2_ch340 või driver3_ch341ser. Kui draiverid on edukalt paigaldatud, siis on need Seadmehalduris (Device Manager) kenasti näha.
Arenduskeskkonnana saad kasutada ikka sama Arduino tarkvara.
Arduino Uno ja RobotDyn Uno võrdlus
Võtame võrdluseks meie koolis Arduino Uno R3 versiooni.
Arduino Uno | RobotDyn Uno | |
mikrokontroller | ATmega328 | ATmega328P (SMD) |
tööpinge | 5V | 5V |
sisendpinge | 6-12V | 6-12V |
Digital I/O viigud | 14 | 14 |
PWM Digital I/O viigud | 6 | 6 |
Analoog viigud | 6 | 8 |
DC vool I/O viigul | 40mA | 20mA |
Flash mälu | 32KB | 32KB |
Taktsagedus | 16MHz | 12MHz |
USB jadaliidese sild | Atmega16U2 | CH340G |
Juhtkangiga laiendusplaat (Joystick)
Ühendame oma Arduino Uno klooniga juhtkangiga laiendusplaadi (iteadstudio.com), mille abil saame muuta Arduino juhtpuldiks.
Laiendusplaadil on kokku 7 lülitit, mis on tähistatud tähtedega A-G ning juhtkang X ja Y. Lüliti alla kuulub ka juhtkangi enda nupp, kui sellele vajutada.
Viik | Kirjeldus |
D3 | SMD nupp E |
D4 | SMD nupp D |
D5 | juhtkangi nupp C |
D6 | suur nupp B |
D7 | suur nupp A |
D8 | suur nupp F |
D9 | suur nupp G |
A0 | juhtkangi X |
A1 | juhtkangi Y |
Enne kui koodi kirjutama hakkame, siis peame teadma, et nupule vajutades viiakse vastav viik madalasse (LOW) olekusse.
Lisame kõik viigud mutuujasse ja näite tekitamiseks võtame kasutusele ainult juhtkangi enda ja nupud A, B ja C.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | int xPin = A1; int yPin = A0; int swA = 7; int swB = 6; int swC = 5; int swD = 4; int swE = 3; int swF = 8; int swG = 9; int xPos = 0; int yPos = 0; int btnAState = 0; int btnBState = 0; int btnCState = 0; void setup() { Serial.begin(9600); pinMode(xPin, INPUT); pinMode(yPin, INPUT); pinMode(swA, INPUT_PULLUP); pinMode(swB, INPUT_PULLUP); pinMode(swC, INPUT_PULLUP); } void loop() { xPos = analogRead(xPin); yPos = analogRead(yPin); btnAState = digitalRead(swA); btnBState = digitalRead(swB); btnCState = digitalRead(swC); Serial.print(xPos); Serial.print(" "); Serial.println(yPos); Serial.print(btnAState); Serial.print(btnBState); Serial.println(btnCState); delay(100); } |
Aga kuidas juhtida selle abil midagi? Ühendada Bluetooth moodul vms? Kui olete selle Unole peale paigutanud, siis kaob igasugune võimalus muudele viikidele ligi pääseda. Välja on toodud nuppude viigid, mis on kogu aeg HIGH olekus. Ehk kui LED sinna külge ühendada, siis on see kogu aeg pingestatud, kuni hoiad all nuppu.
Üks võimalus on kasutada vahelaiendusplaati.
Või ühendame plaadi Uno küljest lahti ja ühendame juhtmetega. Kasutame selleks plaadil olevat spikrit (pin map)
Ülejäänud seadmete ühendamine toimub nagu ikka. Näiteks servode ühendamist juhtkangiga vaata siit: www.metshein.com/unit/arduino-projekt-17-juhtkang-joystick
0 responses on "Arduino Uno kloon ja Joystick laiendusplaat"