IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в эту темуОткрыть новую тему
> Arduino
Поделиться
kostyalamer
сообщение 11.4.2014, 20:00
Сообщение #1


Профессионал
*******

Группа: Пользователь
Сообщений: 4403
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Наконец-то собрался и купил Arduino Uno и к нему разных шилдов smile.gif
Теперь можно всласть напаяться и напрограммироваться ( естественно под ALT Linux )
Кому интересно пишем в эту тему.
Несколько полезных ссылок :
Для начала :
http://arduino.ru./
http://f1p.ucoz.ru/publ/9-1-0-34
Простой примерчик : http://www.freeduino.ru/arduino/sample_PhysicalPixel.html - проверил , работает при помощи встроенного в программу arduino монитора порта:
Прикрепленный файл  ___________________.png ( 83.21 килобайт ) Кол-во скачиваний: 4

Паяльник как всегда рулит : http://cxem.net/arduino/arduino.php

PS Все это безобразие напоминает мне старые добрые времена good.gif , в общем Spectrum - forever !

Сообщение отредактировал kostyalamer - 11.4.2014, 20:15
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ИВК
сообщение 12.4.2014, 9:09
Сообщение #2


Профессионал
*******

Группа: Глоб. Модератор
Сообщений: 9772
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 30


Это интересно smile.gif И что он у тебя будет делать?


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 12.4.2014, 12:26
Сообщение #3


Профессионал
*******

Группа: Пользователь
Сообщений: 4403
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Цитата(IVK @ 12.4.2014, 9:09) *
Это интересно smile.gif И что он у тебя будет делать?

Все что угодно, вчера с младшим крутили сервопривод smile.gif .
Хотя в основном такая штука мне нужна по работе, дешевый контроллер , программируется прямо с
компа без всяких программаторов. Присобачил блок питания, шилду с 4-мя релюхами на выходы, запихал все это в приличный
корпус , на входы повесил все что надо и получил контроллер не хуже Овен - овских , только дешевле в разы.
Ну и программировать на Wiring ( практически С ++ ) гораздо интереснее чем в разных визуалках вроде PLC wink.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
and
сообщение 12.4.2014, 18:38
Сообщение #4


Мастер
******

Группа: Пользователь
Сообщений: 540
Регистрация: 22.8.2007
Вставить ник
Цитата
Пользователь №: 317
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 6


У меня тоже есть Nano и UNO. А язык там вроде какой-то диалект Processing по-моему.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 12.4.2014, 19:09
Сообщение #5


Профессионал
*******

Группа: Пользователь
Сообщений: 4403
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Цитата(and @ 12.4.2014, 18:38) *
У меня тоже есть Nano и UNO. А язык там вроде какой-то диалект Processing по-моему.

1) Отлично ! Андрей что на них интересного собирал ?
2) По-поводу языка цитирую учебник http://robocraft.ru/blog/arduino/29.html

Цитата
Как мы уже выяснили Arduino/ Freeduino программируется на языке Wiring, которого на самом деле не существует, как и не существует и компилятора Wiring – написанные на Wiring программы преобразуются (с минимальными изменениям) в программу на языке C/C++, и затем компилируются компилятором AVR-GCC. Так что, фактически, используется специализированный для микроконтроллеров AVR вариант C/C++.

Однако, Вы получаете простую среду разработки, и набор базовых библиотек, упрощающих доступ к находящейся «на борту» микроконтроллера периферии.

Хотя может и Processing программы то в нем скетчами называются smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
and
сообщение 12.4.2014, 21:42
Сообщение #6


Мастер
******

Группа: Пользователь
Сообщений: 540
Регистрация: 22.8.2007
Вставить ник
Цитата
Пользователь №: 317
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 6


Насчет названия языка не знаю, серьезно не изучал biggrin.gif Сейчас ей не занимаюсь, подключал жидкокристаллический индикатор, управлял DDS синтезатором (нужно было для ультразвуковой установки), хотел сделать ультразвуковой датчик, но оказывается ардуина не умеет формировать точные короткие импульсы (порядка микросекунд). Поэтому пока пишу на обычном Си, а плату использую просто как макетку. Если будет время и силы хочу подумать насчет управления автоматическим поливом огорода.

Сообщение отредактировал and - 12.4.2014, 21:43
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 19.4.2014, 16:13
Сообщение #7


Профессионал
*******

Группа: Пользователь
Сообщений: 4403
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Вот и простейшая программка, для начала схемка ( кстати нарисована в Qelectrotech ) :

Прикрепленный файл  _____.png ( 22.05 килобайт ) Кол-во скачиваний: 10


резисторы подключенные последовательно со светодиодами имеют номинал: 1 - 2 кОм

а вот и простенький код:

Код
/* циклическое реле времени работа , пауза ( на 2 поочередно включающиеся нагрузки )
* поочередное включение 2-х светодиодов через паузу с подстройкой по времени
*
*/

int ledPin13 = 13;                        // LED подсоединен к выводу 13
int ledPin12 = 12;                        // LED подсоединен к выводу 12
int potPin2 = 2;                          // потенциометр подключается к 2-му входу(работа)
int potPin3 = 3;                          // потенциометр подключается к 3-му входу(пауза)
int Mnog = 10;                            // Множитель шкалы времени

void setup()
{
  pinMode(ledPin13, OUTPUT);              // устанавливаем вывод 13 как выход
  pinMode(ledPin12, OUTPUT);              // устанавливаем вывод 12 как выход
}

void loop()
{
  digitalWrite(ledPin13, HIGH);           // включаем LED
  digitalWrite(ledPin12, LOW);            // выключаем LED
  delay(Schit(Mnog , potPin2 ));          // пауза работа 13 выход
  digitalWrite(ledPin13, LOW);            // включаем LED
  digitalWrite(ledPin12, LOW);            // выключаем LED
  delay(Schit(Mnog , potPin3 ));          // пауза выключено
  digitalWrite(ledPin13, LOW);            // выключаем LED
  digitalWrite(ledPin12, HIGH);           // включаем LED  
  delay(Schit(Mnog , potPin2));           // пауза работа 12 выход
  digitalWrite(ledPin13, LOW);            // включаем LED
  digitalWrite(ledPin12, LOW);            // выключаем LED
  delay(Schit(Mnog , potPin3 ));          // пауза выключено
}

int Schit(int Mnog, int Pin)              // процедура считывания  значения с 2-го или 3 -го pin-а  
{
  int rez;  
  rez = analogRead(Pin)*Mnog;             // считываем значение и преобразуем к нужному диапазону
  if (rez < 500 )
   rez = 500;                             // минимальное значение 0,5 с  
  return rez;
}

На самом деле такое реле вместе с релейной шилдой подойдет для многих промышленных агрегатов, но можно и просто поморгать светодиодами.
PS программировать такую штуку одно удовольствие, рекомендую всем good.gif
PPS Если есть чего-нибудь интересное делимся схемами и кодом .

Сообщение отредактировал kostyalamer - 19.4.2014, 16:20
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ИВК
сообщение 20.4.2014, 8:46
Сообщение #8


Профессионал
*******

Группа: Глоб. Модератор
Сообщений: 9772
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 30


Отделил отсюда тему "Юные программисты в Архангельске" - там ведь отнюдь не только про Arduino.


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 17.5.2014, 16:56
Сообщение #9


Профессионал
*******

Группа: Пользователь
Сообщений: 4403
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Продолжаю тему про Arduino, теперь устройство немного посложнее - регулятор температуры / влажности , кроме Arduino Uno были использованы :
релюхи - http://fixled.ru/shields/4relay-shield.html
экранчик - http://fixled.ru/microcontrollers/modules/serial-lcd.html
датчик - http://fixled.ru/sensors/dht22.html
потенциометры для задания температуры и влажности свои из старого хлама.
ссылки привел специально, там можно скачать соответствующие этим устройствам библиотеки
Код :
Код
// регулятор температуры и влажности

#include "DHT.h"
#include <Wire.h>
#include "rgb_lcd.h"

int ledT = 13;         // выход регулятора температуры
int ledH = 12;         // выход регулятора влажности
int sensorPinT = A1;   // вход установки температуры
int sensorPinH = A0;   // вход установки влажности
int sensorValueT = 0;  // показания датчика температуры
int sensorValueH = 0;  // показания датчика влажности
int scaleT = 10;       // масштабатор уставки температуры
int scaleH = 10;       // масштабатор уставки влажности
int deltaT = 2;        // дельта между включением и выключением регулятора по T
int deltaH = 2;        // дельта между включением и выключением регулятора по H
rgb_lcd lcd;

const int colorR = 0;  // цвета подсветки дисплея
const int colorG = 0;
const int colorB = 150;
unsigned int RelayPin[]={4,6,5,7};

#define DHTPIN 2     // what pin we're connected to

// Uncomment whatever type you're using!
//#define DHTTYPE DHT11   // DHT 11
#define DHTTYPE DHT22   // DHT 22  (AM2302)
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

// Connect pin 1 (on the left) of the sensor to +5V
// Connect pin 2 of the sensor to whatever your DHTPIN is ( pin 2)
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

DHT dht(DHTPIN, DHTTYPE);

void setup() {
    int i=0;
    for(i=0;i<4;i++)
        pinMode(RelayPin[i],OUTPUT); // релейные входы 1-4
    pinMode(ledT, OUTPUT); // выход регулятора температуры
    pinMode(ledH, OUTPUT); // выход регулятора влажности    
    lcd.begin(16, 2);
    
    lcd.setRGB(colorR, colorG, colorB);
    lcd.print("Regulator!");

    delay(1000);

  dht.begin();
}

void loop() {
  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  sensorValueT = analogRead(sensorPinT)/scaleT;
  if ( sensorValueT > 100 ) sensorValueT = 100; // макс. значение уставки T
  sensorValueH = analogRead(sensorPinH)/scaleH;  
  if ( sensorValueH > 100 ) sensorValueH = 100; // макс. значение уставки F
  // проверка на ошибочные значения модуля DHT
  if (isnan(t) || isnan(h)) {
    lcd.print("Failed to DHT");
  } else {
    // блок отображения информации
    // температура
    lcd.setCursor(0, 0);
    lcd.print("T: ");
    lcd.setCursor(3, 0);
    lcd.print("    ");
    lcd.setCursor(3, 0);
    lcd.print(t);
    lcd.print(" C");
    lcd.setCursor(11, 0);
    lcd.print("    ");
    lcd.setCursor(11, 0);
    lcd.print(sensorValueT);
    // влажность
    lcd.setCursor(0, 1);
    lcd.print("H: ");
    lcd.setCursor(3, 1);
    lcd.print("    ");
    lcd.setCursor(3, 1);
    lcd.print(h);
    lcd.print(" %");
    lcd.setCursor(11, 1);
    lcd.print("    ");
    lcd.setCursor(11, 1);
    lcd.print(sensorValueH);
    // блок регуляторов температуры и влажности
    if ( t  < sensorValueT - deltaT/2)
       { digitalWrite( ledT, HIGH );
         digitalWrite(RelayPin[1],HIGH);
       }
    else if ( t  > sensorValueT + deltaT/2)
       { digitalWrite( ledT, LOW );
         digitalWrite(RelayPin[1],LOW);
       }
    if ( h  < sensorValueH - deltaH/2)
       { digitalWrite( ledH, HIGH );
         digitalWrite(RelayPin[2],HIGH);
       }
    else if ( h  > sensorValueH + deltaH/2)
       { digitalWrite( ledH, LOW );
         digitalWrite(RelayPin[2],LOW);
       }
    delay (200);  
  }
}

А вот как вся эта радость выглядит, слева на экране фактическая температура и влажность, справа заданная потенциометрами,
релюшки как и положено щелкают smile.gif Поскольку устройство собрано на поиграться то и исполнение соответствующее:
Прикрепленный файл  98.jpeg ( 212.68 килобайт ) Кол-во скачиваний: 9
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
YYY
сообщение 19.5.2014, 21:44
Сообщение #10


Профессионал
*******

Группа: Пользователь
Сообщений: 1598
Регистрация: 12.10.2010
Вставить ник
Цитата
Пользователь №: 1950
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 7


Перенесено из темы "Кто чем занят?"

Цитата(kostyalamer @ 19.5.2014, 21:11) *
+1 очень тихо.
По части Linux-а в данный момент не занят ничем ( нет лишнего времени на никому не нужные проекты ), разве что arduino из под него программирую.
Кстати, Иван очень тебе советую, программирование таких железок крайне увлекательное занятие good.gif


Костя, можешь чайникам на пальцах.. Что да как? Что брать для игры из платок на алиэкспрессе?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 19.5.2014, 22:27
Сообщение #11


Профессионал
*******

Группа: Пользователь
Сообщений: 4403
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Цитата(IVK @ 19.5.2014, 21:53) *
Так результат ведь нужен какой-то, одной увлекательности мало. Нет вдохновляющих идей в этом направлении.

1 ) Иван, идей море :
http://kaburka.ru/cat105-arduino
http://habrahabr.ru/hub/arduino/
http://relax.ru/tag/7844/sintezator.html
( сейчас как раз раздумываю на тему синтезатора с клавиатурой из монет - идея просто гениальная good.gif )

2) Юра я затариваюсь здесь http://fixled.ru/arduino просто заезжаю туда за железяками.
Для начала возьми Uno или какой-либо его китайский клон :
http://fixled.ru/arduino/arduino-uno.html на него ставятся все стандартные шилды
http://fixled.ru/microcontrollers/pro-micro-5v.html не брал но наверное возьму для простых поделок то что надо ( тут уже надо паять, правда это тебя наверняка не пугает ), есть много разных идей под эту платку
По шилдам , смотря что собираешься делать , если роботами баловаться то можно сразу :
http://fixled.ru/arduino/arduino-shield-bot.html в нем кстати и Uno уже есть
или набирать по шилдам и датчикам :
http://fixled.ru/shields/motor-shield-l293d.html - покрутить движками
http://fixled.ru/shields/4relay-shield.html - под автоматику
http://fixled.ru/microcontrollers/modules/...nic-ranger.html - "глаза" для робота
http://fixled.ru/mechanics/fs5103b.html сервы на покрутить
и так далее под конкретную задачу, если что для продолжения переезжаем в эту тему:
http://forum.russ2.com/index.php?showtopic=3973

Сообщение отредактировал IVK - 19.5.2014, 22:46
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 19.5.2014, 22:57
Сообщение #12


Профессионал
*******

Группа: Пользователь
Сообщений: 4403
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Цитата(YYY @ 19.5.2014, 21:44) *
Костя, можешь чайникам на пальцах.. Что да как? Что брать для игры из платок на алиэкспрессе?

Кстати, посмотрел цены на алиэкспрессе - практчески бесплатно, ты у них уже чего-нибудь брал ? Как там со сроками и ценой на доставку ?

Сообщение отредактировал kostyalamer - 19.5.2014, 22:57
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
YYY
сообщение 20.5.2014, 1:55
Сообщение #13


Профессионал
*******

Группа: Пользователь
Сообщений: 1598
Регистрация: 12.10.2010
Вставить ник
Цитата
Пользователь №: 1950
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 7


Цитата(kostyalamer @ 19.5.2014, 22:57) *
Кстати, посмотрел цены на алиэкспрессе - практчески бесплатно, ты у них уже чего-нибудь брал ? Как там со сроками и ценой на доставку ?

Я начинающий интернет покупатель smile.gif
Там есть бесплатная доставка в РФ (можно отфильтровать по бесплатной доставке и единичному товару). С платной доставкой выходит дороговато обычно.
Сроки зависят от почты smile.gif А наша почта smile.gif
Правда так как платная доставка тоже часто через почту и сроки почти те же, то совсем платить за доставку не охота...
Вот сейчас жду DC-DC конвертер, т.к. поглядел ценник у них и "чтоб собрать из магазинных деталек" и понял, что лучше подожду (тем более время терпит).
Платил через КиВи. Скидываю туда четко сумму для покупки и контролирую чтоб статус после оплаты был "отправлено". (тут тоже от продавца зависит - иногда оговаривает срок между оплатой и отправкой в несколько дней).
Заказы лучше брать у кого хороший рейтинг и где много отзывов о том что реально приходит smile.gif
Дорогое и ценное брать там не собираюсь - т.к. хоть и есть гарантия у нормальных поставщиков (реально принимают назад и ремонтируют, возвращают), но это страшно огромные сроки.
С другой стороны знаю реальную историю успеха покупки через интернет в Китае достаточно большого станка smile.gif Но это для очень сильных духом smile.gif
А вот мелочевку...

Значит УНО...
http://ru.aliexpress.com/item/Best-prices-.../909950710.html
вот такое для старта подойдет?


Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 20.5.2014, 7:51
Сообщение #14


Профессионал
*******

Группа: Пользователь
Сообщений: 4403
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Цитата(YYY @ 20.5.2014, 1:55) *
Значит УНО...
http://ru.aliexpress.com/item/Best-prices-.../909950710.html
вот такое для старта подойдет?

По крайней мере контроллер внутри тот же а уж чего в него зашили китайцы не знаю, кстати там же есть и более дешевый вариант :
http://ru.aliexpress.com/item/Free-Shippin...1855253249.html
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ИВК
сообщение 20.5.2014, 15:56
Сообщение #15


Профессионал
*******

Группа: Глоб. Модератор
Сообщений: 9772
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 30


Цитата(kostyalamer @ 19.5.2014, 22:27) *
1 ) Иван, идей море :
http://kaburka.ru/cat105-arduino
http://habrahabr.ru/hub/arduino/
http://relax.ru/tag/7844/sintezator.html
( сейчас как раз раздумываю на тему синтезатора с клавиатурой из монет - идея просто гениальная good.gif )

Всё это очень здорово, но сейчас я точно не в состоянии этим заниматься... потому что не могу разорваться на части mellow.gif


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
YYY
сообщение 20.5.2014, 17:18
Сообщение #16


Профессионал
*******

Группа: Пользователь
Сообщений: 1598
Регистрация: 12.10.2010
Вставить ник
Цитата
Пользователь №: 1950
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 7


Цитата(kostyalamer @ 20.5.2014, 7:51) *
По крайней мере контроллер внутри тот же а уж чего в него зашили китайцы не знаю, кстати там же есть и более дешевый вариант :
http://ru.aliexpress.com/item/Free-Shippin...1855253249.html

А это что за чудо юдо
http://ru.aliexpress.com/item/Pro-Mini-Mod...1503533345.html
?
Типа
http://fixled.ru/microcontrollers/pro-micro-5v.html
?
Или непонятно что ? smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 20.5.2014, 20:26
Сообщение #17


Профессионал
*******

Группа: Пользователь
Сообщений: 4403
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Цитата(YYY @ 20.5.2014, 17:18) *
А это что за чудо юдо
http://ru.aliexpress.com/item/Pro-Mini-Mod...1503533345.html
?
Типа
http://fixled.ru/microcontrollers/pro-micro-5v.html
?
Или непонятно что ? smile.gif

Скорее непонятно что, на плате нет ни микро -USB ни 6-ти штырькового разъема для подключения программатора, лучше возьми
вот эту штуку: http://ru.aliexpress.com/item/Freeshipping...1511600580.html
кабель микро - USB найти проще чем программатор, который к первой железяке надо еще как-то прикосячить smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
YYY
сообщение 20.5.2014, 21:24
Сообщение #18


Профессионал
*******

Группа: Пользователь
Сообщений: 1598
Регистрация: 12.10.2010
Вставить ник
Цитата
Пользователь №: 1950
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 7


Цитата(kostyalamer @ 20.5.2014, 20:26) *
Скорее непонятно что, на плате нет ни микро -USB ни 6-ти штырькового разъема для подключения программатора, лучше возьми
вот эту штуку: http://ru.aliexpress.com/item/Freeshipping...1511600580.html
кабель микро - USB найти проще чем программатор, который к первой железяке надо еще как-то прикосячить smile.gif

да он 1 $ стоит smile.gif
http://ru.aliexpress.com/item/USB-To-RS232...1225758876.html

http://pakhom.weebly.com/arduino_pro-mini.html

Но похоже это уже для продвинутых...

Сообщение отредактировал YYY - 20.5.2014, 21:25
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 20.5.2014, 21:43
Сообщение #19


Профессионал
*******

Группа: Пользователь
Сообщений: 4403
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Цитата(YYY @ 20.5.2014, 21:24) *
http://pakhom.weebly.com/arduino_pro-mini.html

Но похоже это уже для продвинутых...

Не, для продвинутых и экономных скорее вот это : http://fixled.ru/arduino/atmega8-bootloader.html
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
YYY
сообщение 20.5.2014, 22:02
Сообщение #20


Профессионал
*******

Группа: Пользователь
Сообщений: 1598
Регистрация: 12.10.2010
Вставить ник
Цитата
Пользователь №: 1950
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 7


Цитата(kostyalamer @ 20.5.2014, 21:43) *
Не, для продвинутых и экономных скорее вот это : http://fixled.ru/arduino/atmega8-bootloader.html

меня вот это заинтересовало
http://фридуин.ство.рф/?p=75
т.е. возможность через usb чем-то управлять smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 20.5.2014, 22:12
Сообщение #21


Профессионал
*******

Группа: Пользователь
Сообщений: 4403
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Цитата(YYY @ 20.5.2014, 22:02) *
меня вот это заинтересовало
http://фридуин.ство.рф/?p=75
т.е. возможность через usb чем-то управлять smile.gif

Ну такая штука реализуется относительно просто. Пишешь программу на arduino , которая мониторит порт и в зависимости от того что ты туда отправляешь выполняет различные действия. Что-то подобное делал когда ковырялся в встроенных в среду
программирования примерах smile.gif . Можно и по wifi при наличии соответствующей шилды, это наверное еще более любопытно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
YYY
сообщение 20.5.2014, 22:46
Сообщение #22


Профессионал
*******

Группа: Пользователь
Сообщений: 1598
Регистрация: 12.10.2010
Вставить ник
Цитата
Пользователь №: 1950
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 7


Цитата(kostyalamer @ 20.5.2014, 22:12) *
Ну такая штука реализуется относительно просто. Пишешь программу на arduino , которая мониторит порт и в зависимости от того что ты туда отправляешь выполняет различные действия. Что-то подобное делал когда ковырялся в встроенных в среду
программирования примерах smile.gif . Можно и по wifi при наличии соответствующей шилды, это наверное еще более любопытно.

Не. Я с учетом того что по OTG умееют все многие мини девайсы - недорогие смартфоны, планшеты, автонавигаторы. И вот если получится ими через сабж управлять всякими реле и приводами - этож огого! smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 21.5.2014, 6:26
Сообщение #23


Профессионал
*******

Группа: Пользователь
Сообщений: 4403
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Цитата(YYY @ 20.5.2014, 22:46) *
Не. Я с учетом того что по OTG умееют все многие мини девайсы - недорогие смартфоны, планшеты, автонавигаторы. И вот если получится ими через сабж управлять всякими реле и приводами - этож огого! smile.gif

Этого в интернете сколько угодно, вот например :
http://cxem.net/arduino/arduino54.php
http://habrahabr.ru/post/123361/
а можно и синим зубом - http://wiki.amperka.ru/%D0%B1%D0%B5%D1%81%...D0%B8-bluetooth
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 21.5.2014, 7:43
Сообщение #24


Профессионал
*******

Группа: Пользователь
Сообщений: 4403
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Вот еще очень интересная штука : http://www.polesite.ru/?p=2418 good.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
YYY
сообщение 21.5.2014, 20:08
Сообщение #25


Профессионал
*******

Группа: Пользователь
Сообщений: 1598
Регистрация: 12.10.2010
Вставить ник
Цитата
Пользователь №: 1950
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 7


Купил набор
http://ru.aliexpress.com/item/Pro-Mini-Mod...1503533345.html
http://ru.aliexpress.com/item/USB-To-RS232...1225758876.html
Обошелся менее 160 рэ. Буду ждать, а как придет - завалю вопросами smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 12.6.2014, 23:13
Сообщение #26


Профессионал
*******

Группа: Пользователь
Сообщений: 4403
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Небольшой отчет о проделанной работе :
Прикрепленный файл  141.jpg ( 125.69 килобайт ) Кол-во скачиваний: 7

Синтезатор из arduino , старой не нужной клавы ps/2 , дешевых китайских колонок и зарядника от давно умершего телефона.
А , чуть не забыл парочку RС фильтров для улучшения звука.
Вполне себе приличный звук для такой балалайки на четырех октавах ( октавы переключаются по 2 ).
Сейчас добавил SD -шильд и учу его играть сэмплы от синтезаторов прямо с карты памяти, в виду того что код усложнится в разы,
могу если кому надо скинуть код простого не SD - шного варианта синтезатора, пока я еще его не затер ( надерган из разных мест с добавлением большого количества разных костылей от меня )
PS кто сказал что arduino не компьютер :
Прикрепленный файл  146.jpg ( 60.94 килобайт ) Кол-во скачиваний: 5


Сообщение отредактировал kostyalamer - 12.6.2014, 23:15
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
YYY
сообщение 13.6.2014, 9:17
Сообщение #27


Профессионал
*******

Группа: Пользователь
Сообщений: 1598
Регистрация: 12.10.2010
Вставить ник
Цитата
Пользователь №: 1950
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 7


Цитата(kostyalamer @ 12.6.2014, 23:13) *
могу если кому надо скинуть код простого не SD - шного варианта синтезатора, пока я еще его не затер ( надерган из разных мест с добавлением большого количества разных костылей от меня )

Прикольно!
Закидывай код smile.gif
Для простого ничего более самого не надо?
А то у меня уже "Типа Nano" пришло smile.gif
Вот второй компонент пока нет, но думаю на днях должен smile.gif



Прикрепленные файлы
Прикрепленный файл  Pro_Mini_Module_Atmega328_5V_16M_For_Arduino_Compatible_With_Nano.jpg ( 141.69 килобайт ) Кол-во скачиваний: 4
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 13.6.2014, 9:51
Сообщение #28


Профессионал
*******

Группа: Пользователь
Сообщений: 4403
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Цитата(YYY @ 13.6.2014, 9:17) *
Прикольно!
Закидывай код smile.gif
Для простого ничего более самого не надо?

Держи :
Код
#include <ps2.h>


float note_len = 500000;


#define play_C4      3821 // До (4 октава)
#define play_Cis4    3607 // До диез
#define play_D4      3404 // Ре
#define play_Dis4    3213 // Ре диез
#define play_E4      3033 // Ми
#define play_F4      2862 // Фа
#define play_Fis4    2702 // Фа диез
#define play_G4      2550 // Соль
#define play_Gis4    2407 // Соль диез
#define play_A4      2272 // Ля
#define play_Ais4    2144 // Ля диез
#define play_B4      2024 // Си
#define play_C5      1910 // До (5 октава)
#define play_Cis5    1803 // До диез
#define play_D5      1702 // Ре
#define play_Dis5    1606 // Ре диез
#define play_E5      1516 // Ми
#define play_F5      1431 // Фа
#define play_Fis5    1350 // Фа диез
#define play_G5      1275 // Соль
#define play_Gis5    1203 // Соль диез
#define play_A5      1135 // Ля
#define play_Ais5    1072 // Ля диез
#define play_B5      1011 // Си
//
#define play_C6      955 // До (6 октава)

#define NOTE_B0  31
#define NOTE_C1  33
#define NOTE_CS1 35
#define NOTE_D1  37
#define NOTE_DS1 39
#define NOTE_E1  41
#define NOTE_F1  44
#define NOTE_FS1 46
#define NOTE_G1  49
#define NOTE_GS1 52
#define NOTE_A1  55
#define NOTE_AS1 58
#define NOTE_B1  62
#define NOTE_C2  65
#define NOTE_CS2 69
#define NOTE_D2  73
#define NOTE_DS2 78
#define NOTE_E2  82
#define NOTE_F2  87
#define NOTE_FS2 93
#define NOTE_G2  98
#define NOTE_GS2 104
#define NOTE_A2  110
#define NOTE_AS2 117
#define NOTE_B2  123
#define NOTE_C3  131
#define NOTE_CS3 139
#define NOTE_D3  147
#define NOTE_DS3 156
#define NOTE_E3  165
#define NOTE_F3  175
#define NOTE_FS3 185
#define NOTE_G3  196
#define NOTE_GS3 208
#define NOTE_A3  220
#define NOTE_AS3 233
#define NOTE_B3  247
#define NOTE_C4  262
#define NOTE_CS4 277
#define NOTE_D4  294
#define NOTE_DS4 311
#define NOTE_E4  330
#define NOTE_F4  349
#define NOTE_FS4 370
#define NOTE_G4  392
#define NOTE_GS4 415
#define NOTE_A4  440
#define NOTE_AS4 466
#define NOTE_B4  494
#define NOTE_C5  523
#define NOTE_CS5 554
#define NOTE_D5  587
#define NOTE_DS5 622
#define NOTE_E5  659
#define NOTE_F5  698
#define NOTE_FS5 740
#define NOTE_G5  784
#define NOTE_GS5 831
#define NOTE_A5  880
#define NOTE_AS5 932
#define NOTE_B5  988
#define NOTE_C6  1047

int pin = 8;
int len = 500;
int sint = 1;

unsigned char code;

PS2 kbd(6, 5);

void playTone(int note ) {
  long elapsed_time = 0;

  while (elapsed_time < note_len) {
    digitalWrite(pin,HIGH);
    delayMicroseconds(note / 2);
    digitalWrite(pin, LOW);
    delayMicroseconds(note / 2);
    elapsed_time += (note);
  }

}
  

void kbd_init() {
  char ack;
  kbd.write(0xff);
  ack = kbd.read();
  ack = kbd.read();
}

void sintez()
/* играет ноты длительностью len , можно нажать несколько клавиш подряд и спокойно ждать пока синтезатор все это проиграет,
используется 9 цифровой выход Arduino с RC фильтром  */
{
   Serial.println(code, HEX);

    pin = 9;
         if (code==0xE)  { tone(pin,NOTE_C4,len); }    // До (4 октава)
    else if (code==0x76) { tone(pin,NOTE_CS4,len); }  // До диез  
    else if (code==0x16) { tone(pin,NOTE_D4,len); }    // Ре
    else if (code==0x05) { tone(pin,NOTE_DS4,len); }  // Ре диез
    else if (code==0x1E) { tone(pin,NOTE_E4,len); }    // Ми
    else if (code==0x26) { tone(pin,NOTE_F4,len); }    // Фа
    else if (code==0x06) { tone(pin,NOTE_FS4,len); }  // Фа диез
    else if (code==0x25) { tone(pin,NOTE_G4,len); }    // Соль
    else if (code==0x04) { tone(pin,NOTE_GS4,len); }  // Соль диез
    else if (code==0x2E) { tone(pin,NOTE_A4,len); }    // Ля
    else if (code==0x0C) { tone(pin,NOTE_AS4,len); }  // Ля диез
    else if (code==0x36) { tone(pin,NOTE_B4,len); }    // Си
    else if (code==0x3D) { tone(pin,NOTE_C5,len); }    // До (5 октава)
    else if (code==0x0B) { tone(pin,NOTE_CS5,len); }  // До диез
    else if (code==0x3E) { tone(pin,NOTE_D5,len); }    // Ре
    else if (code==0x83) { tone(pin,NOTE_DS5,len); }  // Ре диез
    else if (code==0x46) { tone(pin,NOTE_E5,len); }    // Ми
    else if (code==0x45) { tone(pin,NOTE_F5,len); }    // Фа
    else if (code==0x01) { tone(pin,NOTE_FS5,len); }  // Фа диез
    else if (code==0x4E) { tone(pin,NOTE_G5,len); }    // Соль
    else if (code==0x09) { tone(pin,NOTE_GS5,len); }  // Соль диез
    else if (code==0x55) { tone(pin,NOTE_A5,len); }    // Ля
    else if (code==0x78) { tone(pin,NOTE_AS5,len); }  // Ля диез
    else if (code==0x5D) { tone(pin,NOTE_B5,len); }    // Си
    else if (code==0x66) { tone(pin,NOTE_C6,len); }    // До (6 октава)
    else if (code==0x75) { if ( len < 1000) len= len + 100; }
    else if (code==0x72) { if ( len > 100 ) len= len - 100; }
    else if (code==0x29) { noTone(pin);}    // стоп
    else if (code==0x70)
       { sint = 1;
         kbd.write(0xED);
         kbd.write(0x04); // вкл Caps Led
       }
    else if (code==0x7C)
       { noTone(pin);
         sint = 0;
         kbd.write(0xED);
         kbd.write(0x02);  // вкл Num Lock Led
       }
    else if (code==0x71)
       { sint = 3;
         kbd.write(0xED);
         kbd.write(0x01); // вкл Scroll Led
       }    
      
  Serial.println(code, HEX);
}
void sintez1()
/* играет 4 и 5-ую октаву при нажатии следующей клавиши предыдущая нота перестает звучать !
используется 9 цифровой выход Arduino с RC фильтром  */
{
   Serial.println(code, HEX);
    pin = 9;
         if (code==0xE)  { playTone(play_C4); }    // До (4 октава)
    else if (code==0x76) { playTone(play_Cis4); }  // До диез  
    else if (code==0x16) { playTone(play_D4); }    // Ре
    else if (code==0x05) { playTone(play_Dis4); }  // Ре диез
    else if (code==0x1E) { playTone(play_E4); }    // Ми
    else if (code==0x26) { playTone(play_F4); }    // Фа
    else if (code==0x06) { playTone(play_Fis4); }  // Фа диез
    else if (code==0x25) { playTone(play_G4); }    // Соль
    else if (code==0x04) { playTone(play_Gis4); }  // Соль диез
    else if (code==0x2E) { playTone(play_A4); }    // Ля
    else if (code==0x0C) { playTone(play_Ais4); }  // Ля диез
    else if (code==0x36) { playTone(play_B4); }    // Си
    else if (code==0x3D) { playTone(play_C5); }    // До (5 октава)
    else if (code==0x0B) { playTone(play_Cis5); }  // До диез
    else if (code==0x3E) { playTone(play_D5); }    // Ре
    else if (code==0x83) { playTone(play_Dis5); }  // Ре диез
    else if (code==0x46) { playTone(play_E5); }    // Ми
    else if (code==0x45) { playTone(play_F5); }    // Фа
    else if (code==0x01) { playTone(play_Fis5); }  // Фа диез
    else if (code==0x4E) { playTone(play_G5); }    // Соль
    else if (code==0x09) { playTone(play_Gis5); }  // Соль диез
    else if (code==0x55) { playTone(play_A5); }    // Ля
    else if (code==0x78) { playTone(play_Ais5); }  // Ля диез
    else if (code==0x5D) { playTone(play_B5); }    // Си
    else if (code==0x66) { playTone(play_C6); }    // До (6 октава)
    else if (code==0x75) { if ( note_len < 500000) note_len= note_len + 100000; }
    else if (code==0x72) { if ( note_len > 100000 ) note_len= note_len - 100000; }
    else if (code==0x70)
       { sint = 1;
         kbd.write(0xED);
         kbd.write(0x04); // вкл Caps Led
       }
        else if (code==0x7C)
       { noTone(pin);
         sint = 0;
         kbd.write(0xED);
         kbd.write(0x02);  // вкл Num Lock Led
       }  
    else if (code==0x71)
       { sint = 3;
         kbd.write(0xED);
         kbd.write(0x01); // вкл Scroll Led
       }    
  Serial.println(code, HEX);
}


void sintez2()
/* играет басы , при нажатии следующей клавиши предыдущая нота перестает звучать !
используется 8 цифровой выход Arduino с RC фильтром  */
{
   Serial.println(code, HEX);
    pin = 8;
    if (code==0xE)  { tone(pin,NOTE_C2,len); }    // До (2 октава)
    else if (code==0x76) { tone(pin,NOTE_CS2,len); }  // До диез  
    else if (code==0x16) { tone(pin,NOTE_D2,len); }    // Ре
    else if (code==0x05) { tone(pin,NOTE_DS2,len); }  // Ре диез
    else if (code==0x1E) { tone(pin,NOTE_E2,len); }    // Ми
    else if (code==0x26) { tone(pin,NOTE_F2,len); }    // Фа
    else if (code==0x06) { tone(pin,NOTE_FS2,len); }  // Фа диез
    else if (code==0x25) { tone(pin,NOTE_G2,len); }    // Соль
    else if (code==0x04) { tone(pin,NOTE_GS2,len); }  // Соль диез
    else if (code==0x2E) { tone(pin,NOTE_A2,len); }    // Ля
    else if (code==0x0C) { tone(pin,NOTE_AS2,len); }  // Ля диез
    else if (code==0x36) { tone(pin,NOTE_B2,len); }    // Си
    else if (code==0x3D) { tone(pin,NOTE_C3,len); }    // До (3 октава)
    else if (code==0x0B) { tone(pin,NOTE_CS3,len); }  // До диез
    else if (code==0x3E) { tone(pin,NOTE_D3,len); }    // Ре
    else if (code==0x83) { tone(pin,NOTE_DS3,len); }  // Ре диез
    else if (code==0x46) { tone(pin,NOTE_E3,len); }    // Ми
    else if (code==0x45) { tone(pin,NOTE_F3,len); }    // Фа
    else if (code==0x01) { tone(pin,NOTE_FS3,len); }  // Фа диез
    else if (code==0x4E) { tone(pin,NOTE_G3,len); }    // Соль
    else if (code==0x09) { tone(pin,NOTE_GS3,len); }  // Соль диез
    else if (code==0x55) { tone(pin,NOTE_A3,len); }    // Ля
    else if (code==0x78) { tone(pin,NOTE_AS3,len); }  // Ля диез
    else if (code==0x5D) { tone(pin,NOTE_B3,len); }    // Си
    else if (code==0x66) { tone(pin,NOTE_C4,len); }    // До (4 октава)
    else if (code==0x75) { if ( len < 1000) len= len + 100; }
    else if (code==0x72) { if ( len > 100 ) len= len - 100; }
    else if (code==0x29) { noTone(pin);}    // стоп
    else if (code==0x70)
       { sint = 1;
         kbd.write(0xED);
         kbd.write(0x04); // вкл Caps Led
       }
    else if (code==0x7C)
       { sint = 1;
         kbd.write(0xED);
         kbd.write(0x02); // вкл Caps Led
       }
    else if (code==0x71)
       { sint = 3;
         kbd.write(0xED);
         kbd.write(0x01); // вкл Ssroll Led
       }  
      
  Serial.println(code, HEX);
}

void key()
{
    code = kbd.read();

      if (code==0xF0)
        {
         code = kbd.read();
         code=0;
        }
      Serial.println(code, HEX);
}




void setup(){
//  myOS.begin();
  Serial.begin(9600);
  pinMode(9,OUTPUT);
  pinMode(8,OUTPUT);
  kbd_init();
  sint = 0;
  kbd.write(0xED);
  kbd.write(0x02); // вкл Num Lock Led

  //myOS.addTask(key, 1000);
}

void loop() {
  //note_len = len*10000;
  key();
  if ( sint == 0 )
  { sintez1 ();}
  else if ( sint == 1 )
  { sintez(); }
  else if ( sint == 3 )
  { sintez2(); }
  
}

Собственно внутри этой проги 2 синтезатора - один простой на две октавы, второй сложнее и интереснее на 4 , переключение
между ними по нажатию клавиш Home , Insert , Delete на клавиатуре.
Код получился достаточно корявый , но работает smile.gif
Больше ничего не надо , я правда еще доставал из кладовки осциллограф для настройки фильтров ( считать их было лень ), но можно
и на слух или вообще их не ставить ( правда звучек тогда будет еще тот ). У меня 2 фильтра на 8 и 9 пинах , если ставить один то либо
басы хрюкают, либо 4-ую и 5-ую октаву сильно режет .


Сообщение отредактировал kostyalamer - 13.6.2014, 10:00
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
YYY
сообщение 13.6.2014, 11:28
Сообщение #29


Профессионал
*******

Группа: Пользователь
Сообщений: 1598
Регистрация: 12.10.2010
Вставить ник
Цитата
Пользователь №: 1950
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 7


спасибо !
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
YYY
сообщение 15.6.2014, 8:44
Сообщение #30


Профессионал
*******

Группа: Пользователь
Сообщений: 1598
Регистрация: 12.10.2010
Вставить ник
Цитата
Пользователь №: 1950
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 7


Получил вторую часть.
В системе
usb 2-2: pl2303 converter now attached to ttyUSB0
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

2 страниц V   1 2 >
Ответить в эту темуОткрыть новую тему
( Гостей: 1 )
Пользователей: 0

 



RSS Текстовая версия Сейчас: 20.8.2022, 0:29