Управление яркостью светодиода по Bluetooth

DualPrince
Offline
Зарегистрирован: 22.08.2014

Здравствуйте! Помогите пожалуйста реализовать идею, у меня есть Arduino с Bluetooth модулем и я хочу написать программу для Android чтобы я смог управлять яркостью 3 светодиодами с помощью слайдеров(SeekBar), проблема в том что у меня нулевые знания программирования и получилось написать(можно сказать собрал из разных источников в интернете) программу только для управления одним светодиодом на Arduino, можете ли вы мне помочь с данной программой или хотя бы дать наводку на литературу для решения данной ситуации?

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Для управления 3-мя светодиодами потребуется как минимум 3 ардуино и 3 телефона с андроидом.

Учитесь программировать. Я только что в гугль всю нужную инфу залил.

DualPrince
Offline
Зарегистрирован: 22.08.2014

Просто я в интернете нашёл программу которая выполняет то что я хочу сделать, называется она ArduDroid.

Дело в том что в ней ненужные мне функции и плюс к этому все значения которые можно отправить по каналу(0-255) распределены на 6 аналоговых пина на Arduino, тем самым яркость светодиодов получается не такой плавной. К сожалению исходного кода программы в интернете нет поэтому решил попросить совета на вашем форуме. Если же нет решения попробую придумать что нибудь другое, или как вы советуете буду пробовать учится программировать.

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Это была шутка. можно сделать, но без программирования есть только 2 выхода

1 - учиться программировать. Причем с самых азов - поморгать диодом и понять почему оно так работает

2 - написать в "ищу испллнителя".

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

0...255 - 256 градаций яркости для светодиода это очень много, регулировка плавная. 

...распределены на 6 аналоговых пина на Arduino... - не так, у ардуины 6 каналов ( пинов ) поддерживающих PWM, по русски - ШИМ... по простому можно управлять ПЛАВНО свечением ШЕСТИ светодиодов - в два раза больше чем вам нужно :)

DualPrince
Offline
Зарегистрирован: 22.08.2014

Дело в том, что меня не интересует ArduDroid. Я хочу понять как управлять яркостью светодиодов, будь там 2 или 6. В моём случае мне нужно 3 для того чтобы изменять цвета RGB светодиода , по этому я и хочу сделать управление яркость как можно плавнее. Дело даже не в том плавно или нет, дело в самой реализации моей идеи которую я немогу сделать из-за отсутствия необходимых знаний.

gena
Offline
Зарегистрирован: 04.11.2012

"..., дело в самой реализации моей идеи которую я немогу сделать из-за отсутствия необходимых знаний" - так всё в Ваших руках.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

неееееееееееет ! всё именно в ВАШИХ руках :)

начните изучать PWM - ШИМ - ШиротноИмпульснаяМодуляция.... кратко - применительно к светодиодам рассмотрим еффект 25-го кадра... если подать на СД импульсы 5 V на 1 сек, потом 0 V на 3 сек - и так периодически, то вы увидите мигание СД, но в среднем его яркость за период в 4 сек будет 1/4 от если бы на него подать 5 V на 4 сек.... дальшееееее...

если широта импульсов будет гораздо меньше, то мигание СД не будет видно ( глаз не успеет усмотреть ), а вот яркость будет меньше... и её можно регулировать от максимума - 0/256=0 , 1/256 , 2/256 , .......... , 50/256 , ....... , 255/256 , 256/256= 1

вариантов реализации два - один слайдер, один RGB СД - будет радуга, три слайдера, один RGB СД - тоже самое, но тремя пальцами придётся выбирать яркость/цвет

итого - учите PWM, analogRead() и analogWrite()

DualPrince
Offline
Зарегистрирован: 22.08.2014

Я знаю как работает ШИМ, просто я немогу отправить сигнал со смартфона так чтобы каждый слайдер отправлял сигнал на свой цвет (1-красный, 2-зелёный, 3-синий). Тем самым я смогбы соединяя цвета с разной яркостью получить нужный мне цвет, например белый или фиолетовый. Просто я сделал это с использование ИК-приёмника и пульта, три кнопки - три цвета, при нажатии одной из кнопок яркость СД(думаю вы знаете как устроен RGB СД) увеличивалось например на 50/256, тем самым я получаю разные цвета. Может я задал вопрос не на том форуме, так как проблема у меня больше с Android'ом чем с Arduino, хотя и с Arduino я тоже могу ошибаться с кодом.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

вы сибе противоречите :( - "......меня не интересует ArduDroid......"  - :О !!!!!!!

выберите три слайдера на дроиде ( 3 любых  из 6 ) - на соответствующие им пины ( 3 из 6 PWM ) повесьте R, G, B..... и всё !

итого : каждый слайдер отправляет сигнал ШИМ на соответствующий пин.... вот к этим 3-ём пинам и подсоедините..... см. выше :)

.....кажися вы бродите меж трёх сосен ( дубов, берёзок ) :) напрягитесь ! вы сами всё знаете исходя из ваших текстов выше :)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

ещё раз - по другому : 

- 6 слайдеров УЖЕ отправляют ШИМ на 6 пинов - как ими вы распорядитесь монтажно ? ваше дело ! .....там под вашу задачЮ уже всё заточено с избытком....

...типерь у миня вопрос - приложение для дроида ? надо скачать откуда-то ? или в теме приводится пример его разработки ? и как его под сибя заточить ? если это возможно ? нуууууууу, типа как в вашей задаче - убрать из приложения 3 лишних слайдера, 12 кнопок управления пинами, передачу-приём строки.... подскажите ?

DualPrince
Offline
Зарегистрирован: 22.08.2014

Меня не интересует ArduDroid потому что это не моя программа, я хочу пользоваться программой которую сам написал, просто я незнаю как, вот и хотел вас попросить чтобы помогли в её написании(хотя бы наводку на литературу для её написания), для того чтобы в будущем у меня были знания как её написать. Подключить светодиоды несложно, если мне бы просто нужно была бы найти программу я бы непросил бы помощи на форуме а сам бы искал, точнее я её нашёл только незнаю как она работает. Прошу прощения если несовсем понятно всё объяснил.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

перечитал сверху вниз - ".....я хочу написать программу для Android...." - и моя хотел бы :( , но здесь народ больше по ардуине....

...может и по Android-у найдутся, но моя пока тока про исполнительную часть на ардуине мог бы подсказать :(

и мой вопрос в #10 - это я хотел бы знать...

вам-то что нано ? как подключить RGB ленту 12 V к ардуине ? давайте определимся :)- кажися оба в определениях попутались :(

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

понятно.... как у миня вопрос в #10 пункт 3.... не знаю кто нам поможет ? :( про андроиды, скорее всего, не здесЯ :(

.....подождём Пухлявого :)

DualPrince
Offline
Зарегистрирован: 22.08.2014

Для начала мне бы хотелось просто управлять цветом(меняя яркость 3 светодиодов в одном) одного RGB светодиода подключенным к Arduino, и через Bluetooth отправлять сигнал со смартфона. Но так как программу нужно писать не только на Android ну и на Arduino написал вопрос здесь, может кто знает как программировать на Arduino и заодно на Android. Как я и говорил может я не на том форуме задал вопрос, может надо было на форуме по программированию на Android написать. По нормальному должен сам разобраться как написать,только вот знаний не хватает и немогу найти информацию как написать все-таки эту программу. Спасибо что хоть как-то откликнулись на мою просьбу.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

слишком много извиняться - по моему, тоже херовато.... 

поймите что - как подключить ленту RGB-12V к ардуине и я могу рассказать.... и многие вам здесь расскажут...

как подпилить приложение на дроиде, выложенное выше, под ваши цели и , пардон, под цели мои в посте #10 - скорее всего это подскажут не на этом сайте.... хотя тут знатоков выше крыши Белого Дома... может быть подтянутся к нам, бедным ?

чё узнаю - напишу... но и вы нас не забывайте ! :)-

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Ваши познания в "написал программу для андроида" заканчились на том что Вы в ИДЕ 3 слайдера без ошибок скомпилировали?

Я честно не пойму в чем и где проблема. Коннект установили? единичку послали/приняли?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Дооооооооохтууууууууууууур !!!!! Пууууухляяяяяяяяяявый ! и ЛЕШАК !!!! и особенно Макс ( извините - не помню )

....вам эта тема - отстой ? про виртуальные проблемы п....ть проще чёли ? ( почитал сайты - сами знаете какие - КПД = 99,9 % )...

....в смысле пи....жа на 99,9..... а на выходе - помощь = 0,001 %    :(    ( сумма не сойдётся - цифры от лампы ПэЭТриДЭ )

 

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

правильно Пухлик говорит - Дохтур приходит когда хочет, и когда нужна клизма......

.....сцука :) - пришёл же :)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Пухлявый !!!!!? у Дохтора на такую фуйню дедектор заточен какой-то ? или по чём он фуйню отслеживает ?

как он отследил ? моя в ахУе..... 

удивительно ! чё спросишь - никого ! как фуйню сморозишь - и Пухл, и Клауп, и Дохтор - тут как тут....

.......подсказали бы :)

...деферамбы пЬЮ Пухлявому ( моя не Art100 ) - неделю уж не хамит...  Не заболел ли ? ...скучно :(

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

JollyBiber пишет:

Ваши познания в "написал программу для андроида" заканчились на том что Вы в ИДЕ 3 слайдера без ошибок скомпилировали?

Я честно не пойму в чем и где проблема. Коннект установили? единичку послали/приняли?

моя желает получить ПОЛНЫЙ отлуп по теме "напИсал программу для андроида" -  и пИсать-то нечем....

...куда иттить ? чё читать ? ( про простату - не нано ! всё нормально ! )

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

SU-27-16 пишет:

Пухлявый !!!!!? у Дохтора на такую фуйню дедектор заточен какой-то ? или по чём он фуйню отслеживает ?

как он отследил ? моя в ахУе..... 

удивительно ! чё спросишь - никого ! как фуйню сморозишь - и Пухл, и Клауп, и Дохтор - тут как тут....

.......подсказали бы :)

...деферамбы пЬЮ Пухлявому ( моя не Art100 ) - неделю уж не хамит...  Не заболел ли ? ...скучно :(

На то мы и медицЫна чтобы на особо тяжелые случаи реагировать. Клапауций - того. в бане. Пухлявого не трожь - ему щас не до нас дегенератов.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

по этому вопросу ВОПРОСОВ нет :) по другим вопросам - 1 - можно ли вас вызвать на помощь ? 2-  как это сделать ?

....или вы вольный стрелок ? по темам ?

....как-то звал на помощь Лешаго из дочерней темы - 0000000000000000,0 :( как вас можно призвать на помощь ?

....мои вопросы - не от глупости ( от ума, надеюсь - не хвастаюсь ), для мелочных вопросов ( но значимых для миня ) не всегда хочется создавать тему.... вы же с Пухлявым миня тут же обос...........ТЕ :)

чё скажете, сэр ?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Клауп - понятно..... но Пухлик со скотом ( я так своего кота иногда зову ) - ВСЕГДА же на страже :)

...не понял :( .....    в баню кроме Клаупа  никто не ходит ?    ......ааааааааа, вот откедова баги на ардуинке !!!!!!!

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

админу !!!!!!!!!!!!!!!!

нельзя ли создать систему обращения к конкретному АФТОРИТЕТУ ?

....чобы он ответил или отклонил тему

аааааа ?

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Надо просто успокоиться и перестать орать по первому удобному случаю
Руд скинь наполовину и будет все как надо

art100
Offline
Зарегистрирован: 09.03.2014

Нам плебеям с ДвойнымиПринцами не велено разговаривать.

 

std
Offline
Зарегистрирован: 05.01.2012

Не майтесь хернёй с ведроид-приложениями, вам для этого понадобится во-первых среда разработки Eclipse, во-вторых знание языка Java. Я конечно понимаю что Java имеет сишный синтаксис, но это тот ещё матан. Можно наачать хотя-бы с прикола про ползунок: горизонтальный ползунок в панели компонентов есть. А если нужен вертикальный - то нельзя просто повернуть горизонтальный, нужна подпрограмма отслеживающая положение курсора (координаты мыши, говоря по-русски), факт нажатия мыши (события нажимания и отпускания мыши), двигающая положение ползуна на уровне сценария. Вместо этого можно не изобретать велосипед и использовать то что есть.

Редкий смарт не имеет вайфая. Редкий владелец смарта, имеющий также компьютер, не имеет роутера с вайфаем. Фактически, первое же желание - слушать на звонках любимую музяку и смтореть фотачьки побуждает человека поднять сеть и привязать к ней смарт, ибо бонусом кроме музяки и фотачек можно, сидя в санузле, срать не только в санфаянс, но и срать на форумах. К чему я это говорю? покупаем сетевой шилд, даже не Wi-Fi. Галимая платка на ENC28J60 за 18 юаней сгодится. Втыкаем в дуино. Подключаем к роутеру, т. к. кроме антенны, у него ещё есть 4-8-24 RJ45 дырки, для "обычного" инета, так сказать. Всё. Комп видит роутер, видит смарт, видит Arduino. Непредвиденым преимуществом этого генетического скрещивания будет также и доступ на Arduino со смарта. Остаётся написать нехитрый web-сервер (примеры скетча есть в описании библиотеки Ethernet), и будет вам RGB-рулилка, с дамами и картишками.

А голубой зуб с приложениями - моветон.

DualPrince
Offline
Зарегистрирован: 22.08.2014

У меня стоит Eclipse и Android Studio в котором я сейчас(по урокам в инете) учусь программировать. Не отрицаю что Wi-Fi было бы намного лучше, ну я хочу именно по Bluetooth так как он и меньше и ненужны дополнительные устройств(роутер,хоть у меня их немало дома). Может кому будит интересно прикреплю Sketch и код программы на Android на один светодиод.

Sketch

#define R_LED 9
    void setup() {
        //Устанавливаем скорость UART
        Serial.begin(9600); 
     
        //Настраиваем нужные пины на выход
        pinMode(6, OUTPUT);
        pinMode(7, OUTPUT);    
    }
     
    void loop() {
        //Если данные пришли
        if (Serial.available() > 0) {
            //Считываем пришедший байт
            byte incomingByte = Serial.read();
     
            //Принимаю байт по Bluetooth и приобразию его в яркость светодиода.
            analogWrite(R_LED, incomingByte);
        }
    }

BluetoothLed(Android)

MainActivity.java

package ru.dualprince.bluetoothled;

import java.io.IOException;
import java.io.OutputStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.widget.Toast;
import android.widget.SeekBar;
import android.widget.LinearLayout;

public class MainActivity extends Activity
{
    private int seekR;
    SeekBar redSeekBar;

    //Сокет, с помощью которого мы будем отправлять данные на Arduino
    BluetoothSocket clientSocket;

    //Эта функция запускается автоматически при запуске приложения
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        redSeekBar = (SeekBar) findViewById(R.id.mySeekingBar_R);

        redSeekBar.setOnSeekBarChangeListener(seekBarChangeListener);

        //Включаем bluetooth. Если он уже включен, то ничего не произойдет
        String enableBT = BluetoothAdapter.ACTION_REQUEST_ENABLE;
        startActivityForResult(new Intent(enableBT), 0);

        //Мы хотим использовать тот bluetooth-адаптер, который задается по умолчанию
        BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter();

        //Пытаемся проделать эти действия
        try{
            //Устройство с данным адресом - наш Bluetooth Bee
            //Адрес опредеяется следующим образом: установите соединение
            //между ПК и модулем (пин: 1234), а затем посмотрите в настройках
            //соединения адрес модуля. Скорее всего он будет аналогичным.
            BluetoothDevice device = bluetooth.getRemoteDevice("00:13:12:19:10:67");

            //Инициируем соединение с устройством
            Method m = device.getClass().getMethod(
                    "createRfcommSocket", new Class[] {int.class});

            clientSocket = (BluetoothSocket) m.invoke(device, 1);
            clientSocket.connect();

            //В случае появления любых ошибок, выводим в лог сообщение
        } catch (IOException e) {
            Log.d("BLUETOOTH", e.getMessage());
        } catch (SecurityException e) {
            Log.d("BLUETOOTH", e.getMessage());
        } catch (NoSuchMethodException e) {
            Log.d("BLUETOOTH", e.getMessage());
        } catch (IllegalArgumentException e) {
            Log.d("BLUETOOTH", e.getMessage());
        } catch (IllegalAccessException e) {
            Log.d("BLUETOOTH", e.getMessage());
        } catch (InvocationTargetException e) {
            Log.d("BLUETOOTH", e.getMessage());
        }

        //Выводим сообщение об успешном подключении
        Toast.makeText(getApplicationContext(), "Подключено", Toast.LENGTH_LONG).show();

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    private SeekBar.OnSeekBarChangeListener seekBarChangeListener =
            new SeekBar.OnSeekBarChangeListener() {
                @Override
                public void onProgressChanged(SeekBar seekBar, int progress,
                                              boolean fromUser) {
                    // TODO Auto-generated method stub
                    updateLed();
                }

                @Override
                public void onStartTrackingTouch(SeekBar seekBar) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onStopTrackingTouch(SeekBar seekBar) {
                    // TODO Auto-generated method stub
                }

            };

    private void updateLed() {
        seekR = redSeekBar.getProgress();

        try {
            //Получаем выходной поток для передачи данных
            OutputStream outStream = clientSocket.getOutputStream();

            int value = 0;

            {
                //Управляю яркостью красного светодиода
                value = seekR;

            }

            //Пишем данные в выходной поток
            outStream.write(value);


        } catch (IOException e) {
            //Если есть ошибки, выводим их в лог
            Log.d("BLUETOOTH", e.getMessage());
        }

    }
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/Screen"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <SeekBar
        android:id="@+id/mySeekingBar_R"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:max="254"
        android:progress="0" />

</LinearLayout>

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ru.dualprince.bluetoothled" >

    <uses-permission android:name="android.permission.BLUETOOTH"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Сразу повторюсь, моих изменений тут мало , большая часть кода(97%) я позоимствовал на других ресурсах.

vvadim
Offline
Зарегистрирован: 23.05.2012

А шо так SU-27-16 разошёлся, разгрубился.  Ему кто то здесь чем то обязан?

Веди себя прилично и не заливай форум злобой и хамством.

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Дык и в чем загвоздка то? Не знаете как завести еще 2 переменные для синего и зеленого?

DualPrince
Offline
Зарегистрирован: 22.08.2014

Немогу понять как сделать чтобы каждый слайдер отпровлял свои числа(например первый от 0 до 80, второй  от 80 до 160 и третий от 160 до 240.), что только не пробывал так и не получяется.

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

????

если у Вас заданы пределы от 0 до 80

х = значение

у = значение + 80

ц = значение + 160

или задайте пределы соответственные

DualPrince
Offline
Зарегистрирован: 22.08.2014

Я не пойму как отправить в поток нужные мне числа по очереди. Я пробыал так как вы советуете

например

            int value = 0;
            int value1 = 0;
            int value2 = 0;

            {
                //Управляю яркостью красного светодиода
                value = seekR;
                value1 = 80 + seekG;
                value2 = 160 + seekB ;

            }

            //Пишем данные в выходной поток
            outStream.write(value);
            outStream.write(value1);
            outStream.write(value2);

 каждый слайдер по 80 чисел

делаю так потому что иначе незнаю как, тем самым отпровляется сразу 3 значения(value,value1,value2) и светодиоды моргают все сразу. В Arduino я сделал так чтобы от 0 до 80 набирал яркость красный, от 81 до 160 зелёный и от 161 до 241 синий. Скорее всего я чтото не правильно делаю, а как правельной сделать я так и немогу понять.

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

:) С андроида отправляйте уже нужные значения и на ардуино фильтруйтеих по значению.

DualPrince
Offline
Зарегистрирован: 22.08.2014

В томто и проблема что я немогу сделать так, чтобы каждый слайдер отправлял свои значения (первый от 0 до 80...и т.д.) . У меня получается так что когда я двигаю слайдер отправляются сразу 3 значения, тем самым светодиоды начинаю моргать а не прибавлять яркость, точнее прибавляет яркость только последний слайдер так как он последний(value2) в списке каналов и при это моргает все 3 светодиода.Бред какой та получается.

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Напишите алгоритм на листочке. Вы сам принцип работы программ и обработчиков похоже не понимаете.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

vvadim пишет:

А шо так SU-27-16 разошёлся, разгрубился.  Ему кто то здесь чем то обязан?

Веди себя прилично и не заливай форум злобой и хамством.

не вижу в своих текстах ни грубости, ни злобы, ни хамства :)

если вас чем-то обидел - извините :(

отвечу за всех - МИНЕ здесь никто ничем не обязан, Я - тоже - никому ------ вы удовлетворены ?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

kisoft пишет:
Надо просто успокоиться и перестать орать по первому удобному случаю Руд скинь наполовину и будет все как надо

РУДы = минГ :)

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

МинГ это минимальный газ? Я не в курсе.
Но что такое стоять между двумя су24 ми на стоянке, когда они движки запускают я знаю и это неприятно :)
А ещё прикольно вручную заказывать самолёт :)
Вот такое оно, управление яркостью светодиодами

DualPrince
Offline
Зарегистрирован: 22.08.2014

Немного поправиф код я наконец сам сделал что хотел, теперь каждый слайдер регулирует свой цвет. Немного поправил код на Android и Arduino часть проблемы была в том что я добавил,которая в свою очередь гасила СД когда не изменялись значения.

            else
            {
              analogWrite(10 , LOW);
        }

Сейчас всё работает как хотел, теперь постораюсь оформить(отредактировать получше код и сделать  интерфейс поприятней на вид.

DualPrince
Offline
Зарегистрирован: 22.08.2014

Прошу удалить тему так как смысла в ней уже нет.

Radjah
Offline
Зарегистрирован: 06.08.2014

А что мешает писать в порт не один, а два значения?

Например так: R для красного, G для зеленого и B для синего, а за ними байт со значением яркости. Итого 6 байт. Распарсить такую строку как нефиг делать.

char aka byte хватит на ШИМ вполне.

Или можно даже значение яркости тримя байтами обозначить (000-255), что бы коллизий не было, но получится уже 12 байт в "пакете".

Получится подобие протокола обмена.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

DualPrince пишет:

Прошу удалить тему так как смысла в ней уже нет.

оне нас покинули :(

Radjah
Offline
Зарегистрирован: 06.08.2014

Ну вдруг заглянет. Я же от всего сердца. :)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

:)

mag155
Offline
Зарегистрирован: 21.12.2017

Всем Привет! Такой вопрос управление по блютуз машинкой с помощью Шим. Суть в том что с телефона передаются данные 4 типа данных то есть 4 разных цифры две это газ и серва вторые направления если их выводить в одну переменную они друг другу мешают. Как быть ?

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

не выводить.

з.ы.  я честно прочитал внимательно ТРИ раза !

mag155
Offline
Зарегистрирован: 21.12.2017

На примере сериал покажите пожалуйста как приходящие данные разбить на 4 переменных чтоб они друг другу не мешали?

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

разрядность переменных вы знаете ?

mag155
Offline
Зарегистрирован: 21.12.2017

Еще нет только учусь.