Покажи участието

От тук може да видиш всички публикации на този потребител.


Теми - mitko29

Страници: 1 [2] 3
16
Здравейте,тъй като от няколко дена търсих как да направя комуникация между хардуер и софтуер тези 2 дена разбрах и реших да споделя това с вас.

Ще ви трябва :
1x Arduino
1x USB Кабел
1x vb.net 2005 или 2010
1x Някакъв аналогов сензор

Преди да започнем с всички настройки и така нататъка първо си дръпнете следните неща:
dll за комуникация

Ардуино разработваща среда 0022 - Задължителна

Така след като сме разархивирали и двата архива продължаваме нататъка а имено :
1. Отваряме разработващата среда
2. Отиваме на File --> Open (или за по кратко ctr + o)
3. Отиваме в папката на разработващата среда, и отваряме папка libraries (библиотеките)
4. Отваряме папката Firmata --> Examples --> SimpleAnalogFirmata
А ето и кода за по мързеливите:
#include <Firmata.h>

byte analogPin = 0;

void analogWriteCallback(byte pin, int value)
{
    if (IS_PIN_PWM(pin)) {
        pinMode(PIN_TO_DIGITAL(pin), OUTPUT);
        analogWrite(PIN_TO_PWM(pin), value);
    }
}

void setup()
{
    Firmata.setFirmwareVersion(0, 1);
    Firmata.attach(ANALOG_MESSAGE, analogWriteCallback);
    Firmata.begin(9600); // Започваме комуникация на 9600.
}

void loop()
{
    while(Firmata.available()) { // ако съществуват стойностите продължи нататъка
        Firmata.processInput();
    }
    // Направи един Аналогов прочит за една обиколка,така че ако компютъра изпраща много аналогови съобщения ние ще забавим само първата прочетена стойност
    Firmata.sendAnalog(analogPin, analogRead(analogPin));
    analogPin = analogPin + 1;
    if (analogPin >= TOTAL_ANALOG_PINS) analogPin = 0;
}

5.След това даваме Upload бутона и качваме на микроконтролера.
6.Отваряме Visual Basic Studio --> И започваме нов проект(лека подсказка тук не оставяйте името на проекта WindowsApplication1 а го сменете на нещо което вие решите,няма да навлизам в подробности защо е лошо да се оставя така просто го приемете от практическа гледна точка.  ;) )
7.Oтидете на ToolBox от лявата страна и дайте дясното копче и изберете от списъка --> Chose Item --> Browse и отивате там където разерхевирахте firmata dll и избирате всяко от тях --> натискате OK.
8.Добавете следните компоненти:
1x Label
2x Text Boxes
2x Buttons
1x Timer
1x FirmataVB
9. Нека да настрой компонента FirmataVB:
Отиваме на Propertiеs и променяме полетата така:
Baud --> 9600
BoardType --> OTHER (винаги независимо дали имате някоя от изброените контролери)
COMPortName --> Тука пишете към кой ком порт ви е свързан контролера.


10. След като сме подредили всички останали елементи натискаме двапъти върху button1 който трябва да изпълвява следното свойство TextBox1.Text = "Connect"
Кодът за бутон1 :
       If Button1.Text = "Connect" Then ' Проверяваме дали бутона има това свойство
            FirmataVB1.Connect(TextBox1.Text, CInt(TextBox2.Text)) ' задаваме параметрите FirmataVB1.Connect(COM8, CInt(9600))
            FirmataVB1.QueryVersion() 'това предполагам е ясно
        Else
            FirmataVB1.Disconnect() ' ако условието не е изпълнено затваряме порта.
        End If


Кодът за бутон2 :
FirmataVB1.Disconnect() 'затваря порта

11. Нека сега извадим информацията,която ардуино ни праща :

В таймера слагаме следното :

Label1.Text = FirmataVB1.AnalogRead(0) ' прочитне на информацията от пин-а (в случея A0) ако се загледате в кода който качихме по горе на ардуино ще разберете,как се изважда инфомацията като може да четете от всеки аналогов пин който искате.
        System.Threading.Thread.Sleep(100) 'малко забавяне предпазване от overfloat


12. Е сега остана само да тестваме дали всичко се е получило:
свържете един потенциометър на пиновете на ардуино и вижте резултата - очаквам коментари ,предложения.
По този начин може да си напишете игра която да използва външни сензори само чакам да ми дойде мухата в главата и ще направя нещо.  :clap:

17
Ардуино (Arduino) / Сензори вместо копчета.
« -: Април 04, 2011, 04:48:47 pm »
Здравейте в нас имам два sharp ir сензора който ги ползвах за робота ми който избягва предмети и исках да попитам мога ли да ги ползвам примерно като контролери за компютъра, пример давам за играта pinball:
Отдолу тези 2-те острите дето бутат топката нагоре (забравих им името :-D  ) и вместо да натискам копчетата на клавиатурата примерно да ползвам сензорите и ако те засекът да кажем ръката на човека който играе в зависимост от коя страна е ляво или дясно да се дигне там товa острото и да удари топчето.
Kак мога да го направя това - предполагам ще ми трябва processing ?

18
Здравейте,днес се сетих за проекта си преди време с цвето музика с един усилвател и си помислих дали той може да бъде осъвършенстван а ето и какво имам предвид:

Възможно ли е с ардуино да отделям честотите(честотна лента) например на музиката и при определена честота било то ниска или висока да светвам дадено диодче, като по този начин да направя цвето музиката по реалистична ?

19
За всичко... / Проект
« -: Ноември 22, 2010, 08:20:55 pm »
Здравейте,тези седмици нещо ми е скучно и ми се искаше да направя, някой проект на ардуино но все немога да се сетя за нещо така интересно.
Така обръщам се към вас за да ми кажете някой интересен проект за да го направя.
И също така да не правя нова тема ми се искаше да попитам откъде мога да се сдобия с tilt сензор този, който служи да дава стоиности когато се наклони на някоя страна.

20
За всичко... / Проблем
« -: Ноември 15, 2010, 11:24:10 am »
Здравейте,днес правих поредният проект на ардуино и като мушнах udp кабелчето в ардуино и взе че се скъса :-D   тази металната част и остана вътре в пинчето.
Блъсках го пробвах и с магнит не става не излиза.
Някакви идей може ли да дъдете същото ми се случи преди време на 2-3 места ми заседнаха няколко проводника и немога да ги извадя.

21
Електроника / H-Bridge
« -: Октомври 22, 2010, 09:46:44 am »
Здравейте,както предполагам целта на моето упражнение сте го разбрали а имено да създам такъв мост за да контролирам 2 модифицирани серво-та чрез микроконтролер.
Смятам да го направя както е показано тук:

Но немога да си избера с който 4 транзистора да го комбинирам,ако може да каже някой който е правил подобно нещо да изкаже мнение.

22
Други роботи / Irodino
« -: Октомври 17, 2010, 07:37:24 pm »
Здравейте,искам да ви представя първият ми проект направен на Ардуино а имено Иродино(звучи малко страно :-D  )  това е робот който може да засича обекти от разстояние с помоща на is471f(тук благодаря на Симеон който ме снабди с 2 бройки от него.)
Също така благодаря на sv_shady който ме светна за някой работи около пиновете на микроконтролера.

Ето и малко снимки на самата машина слагам ги като линкове че като снимка излиза много голяма.
Снимка отгоре:
http://store.picbg.net/pubpic/B1/B3/525e9b3e7bfcb1b3.jpg
Снимка отпред:
http://store.picbg.net/pubpic/F6/46/9569379f41dff646.jpg - Тези черни хартиики който виждате пред ир диода са зада не минава светлина назад и да лъже сензора.
А черните зад сензора са за да може светлината да се съсредоточи в една точка,тъй като черното поглъща.

Видео:
http://dox.bg/files/dw?a=477574629d
Така на клипа се вижда как когато има препятствие син диод светва и следователно платформата завива обаче понеже е възложено на транзистор 2n3904 да движи моторите те вървят само напред и когато двата сензора видат едно и също нещо забиват на едно място скоро смятам да обновя като сложя l293 вместо транзисторите за да управлява моторите.
След слагането на 2 инфрачервен диод обхвата значително се увеличи. :)

И тъй като ардуино е open source проект нека да дам и кода:

int sharpPin = 2;
int sharpPin2 = 4;
const int ledPin =  13;
int motorPin1 = 11;
int motorPin2 = 10;

int sharpState = 0;  
int sharpState2 = 0;

void setup() {
  Serial.begin(9600);
  pinMode (motorPin1, OUTPUT);
  pinMode (motorPin2, OUTPUT);
  pinMode(ledPin, OUTPUT);      
  pinMode(sharpPin, INPUT);
  pinMode(sharpPin2, INPUT);  
}

void loop(){
  sharpState = digitalRead(sharpPin);
  sharpState2 = digitalRead(sharpPin2);

  if (sharpState == LOW) {
    analogWrite(motorPin2, LOW);    
    // turn LED on:    
    digitalWrite(ledPin, HIGH);  
   
  }
  else {
    delay(200);
    analogWrite(motorPin2, 100);
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }
   if (sharpState2 == LOW) {
    digitalWrite (motorPin1, LOW);    
    // turn LED on:    
    digitalWrite(ledPin, HIGH);  
  }
  else {
    delay(200);
    analogWrite(motorPin1, 100);
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }
}


Дайте някоя препоръка или едно коментарче за работата ми от скромните 3 дни.

23
Електроника / СветоДиод (бавно загасване)
« -: Октомври 01, 2010, 08:07:02 pm »
Здравейте,на всички  :clap:  имам едно бърз въпрос към вас как мога да направя така,че светодиод-а при изгасването си да загасва постепенно тоест да гасне бавно когато през него не преминава ток.
Не искам да постигна ефектът мигане а искам когато се захрани да си свети нормално ярко както трябва да е а когато почва тока вече да намаля или да спира бавно да гасне.

Знам,че статичната характеристика на диода е права за това предполагам че ми трябва интегрална схема NE555.
Нека по компетентните от мен да се изкажят и благодаря на всеки отговорил предварително.

24
За всичко... / mindstorm
« -: Август 01, 2010, 03:56:42 pm »
Някой случайно да продава mindstorm или по точно да продава тази част Sharp IS471FE.

25
Електроника / TSOP
« -: Юли 21, 2010, 10:56:33 pm »
Здравейте,темата и целта на заниятието е ясна.
Специално благодаря на Zorro1 от форума.

Но все пак имам няколко въпроса какво мислете за схемата:


В следната схема се опитвам когато се освети с 38khz транзистора да се отпуши от там да предаде на драйвера който пък оправлява моторите.
И от там според зависи дали транзистора е отпушен или запушен мотора се върти или не.

Но при мен това не става когато дам 38кхз само се намаля тока над 3 и 6 краче като резултата е никакъв.(Тук дойде идеята да се сложи товар от базата към масата но и това не помогна.)Дайте някакво мнение откъде може да е проблема.

Datasheet на елемента:
http://www.2shared.com/document/Yj4t_C2p/354-02861-0-PL-IRM0208-A538.html

26
Електроника / Клеми(с два извода)
« -: Юни 16, 2010, 08:57:26 pm »
Здравейте,вчера си купих няколко вида клеми от Бургас за платка обаче,
не искат да влязат в дупката на платката.
До колкото знам няма нещо специално за монтирането им но все пак да питам  :-D

27
Така днес ще ви покажа схема с която само с 2 транзистора може да си направите робот Line Tracer.

Така схемата е това:

За схемата ви трябват следните елементи:
2х - 2N3904 транзистора
2х - 1N4148 диода
3х - 220 ома 0.25 watt резистори
2х - 10 Кило ома резистори
2х - Фоторезистора
2х - Бели ярки диоди
1х - Мигащ диод
2х - 10 кило ома тримерен потенциометер


Тук е важно белият диод да бъде по напред подаден от Фоторезистора.

Ето и доказателството:
http://www.youtube.com/watch?v=EdAHQL1jRfI

28
За всичко... / Интерком
« -: Май 21, 2010, 09:32:45 pm »
Здравейте, искам да попитам наскоро купих един от този комплект http://hobbykit.dir.bg/hobbyb/h1070.html,защото говорителчето на интеркома у нас се развали а с такива размери намерих само в този комплект после реших да го сглобя но немога да осъществя връзка между тях.

Прочетах че връзкате се осъществява чрез двупроводна линия и до колкото знам тя е във въздушна среда или ако може някой по компетентен да каже как трябва да се вържат двете че да може да се говори през тях.

29
Как е споменато в горната тема става дума за ръка за хумануид която е здрава и може да вдига тежко.

Та ето и от какво е изработена:
Ръката е направена от метални лента с ширина 2см.
Отвътре има 8x-гумички,силиконова лента която позволява чрез гумичките да се стиска металната лента.
Върховете са заострени и имат специялна лепенка да не хлъзга при хващане.

Ето и снимките:
http://picbg.net/img.php?file=c01adcbaa6b10167.jpg - отворена ръка.
http://picbg.net/img.php?file=02e462732b8b90ef.jpg- затворена ръка
http://picbg.net/img.php?file=72d305cd748fe783.jpg - отвътре

Утре като си взема телефона от сервиз ще направя снимки и едно клипче с едно серво как се свива ръката.
Цената на ръката е 6 лева единият брой имам 4 общо изработени.[/url]

30
За всичко... / информация за моторите.
« -: Януари 02, 2010, 12:24:42 am »
Здравейте,искам да попитам откъде може да си купя малки моторчета.

Страници: 1 [2] 3