Jump to content
Sign in to follow this  
Guest Artem

Управление светодиодом по bluetooth atmega328p

Recommended Posts

Guest Artem

Помогите пожалуйста разобраться, программа не работает.

Есть задумка через bluetooth terminal на телефоне передавать команду(ноль или единицу) на bluetooth модуль HC-05, подключенный к atmega328p и таким образом управлять светодиодом. Но почему то светодиод не загорается. Соединил выходы bluetooth модуля и атмеги так: tx -> rx, rx -> tx, светодиод подключен к нулевому биту порта B(PB0). В чём может быть ошибка?

question.txt

question.txt

Share this post


Link to post
Share on other sites

Посмотрел бегло, в векторе прерывания по получению по юарту вы сравниваете с 0 и 1. Когда вы с телефона отправляете 0, мега получает ASCII код 0x48 ну и с 1 - 0х49

Share this post


Link to post
Share on other sites

Изготовление 2-х слойных плат от 2$, а 4-х слойных от 5$!

Быстрое изготовление прототипа платы всего за 24 часа! Прямая доставка с нашей фабрики!

Смотрите видео о фабрике JLCPCB: https://youtu.be/_XCznQFV-Mw

Посетите первую электронную выставку JLCPCB https://jlcpcb.com/E-exhibition чтобы получить купоны и выиграть iPhone 12, 3D-принтер и так далее...

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Сообщения

    • А чьи - мои, что ли? Мне своих хватает.
    • @waso Я гна *****обола похожь?  или какое еще видео казать ?   Пизды все огребут ГРУ встанет на грудь всем овцам
    • у схемы шире, чем нужно человеческим  ушам
    • Никто вам не поможет... Кроме стандарной процедуры снятия параметров Тиля -Смолла(ПТС) Ну стояли эти бошки в каком то Эдифере 5.1, но даже в паспорте ПТС не пишут. А вам же нужно определиться не с названиями а в какой тип АО и какого объема их ставить, верно? Если нужны названия головок, спойлер можно не открывать.
    • а может не зря автор данной моргалки предлагал замену Д814А - 1N3181 с Uст=7.7V?
    • Ну-ну. Нашел ведь место, где спрашивать. Ты бы еще вспомнил Высоцкого и в «Спортлото» написал. 1. Внутри этой микросхемы стоит опорная цепочка из трех идентичных резисторов. Поэтому точками переключения микросхемы являются напряжения на конденсаторе 1/3 и 2/3 от напряжения питания. При напряжении питания 9в это будут напряжения 3в и 6в. Верхний порог переключения 6в доступен для измерения тестером через вывод 5 микросхемы. Из этого и нужно было исходить при подборе стабилитрона. 2. Не бойся увеличить емкость конденсатора на выводе 5 микросхемы до 100nF. Это критично при отсчете временнЫх интервалов большой длительности. Конденсатор должен быть пленочным. Керамический конденсатор ставить нельзя из-за микрофонного эффекта. 3. Идея автора была – не допустить слишком большого ухода напряжения на конденсаторе C4 свыше порога 6в. Идея хорошая, реализация – не очень. Основная причина – большая утечка оптопары. Автор долго и нудно пытался убрать утечку. В итоге не придумал ничего лучше, чем поставить резистор R11. 4. Приводим схему в порядок. Выкидываем стабилитрон. Увеличиваем сопротивление R9. Чем больше – тем лучше. Но не более чем до 100кОм (верхний предел 2/3 Uпит. R8, R9 – делитель). Оптимальное значение – 68кОм…82кОм. Излишки тока сбрасываем вместо стабилитрона на внутренний делитель микросхемы. Заодно привязываемся к верхнему порогу 2/3Uпит. Нужно поставить диод между выводами 2+6 и 5. Анодом к выводам 2+6, катодом к выводу 5. Диод должен быть с малой утечкой, например, 1N4148, КД522. Внутри микросхемы три резистора по 5кОм, поэтому далеко вверх напряжение не уплывет. Впрочем, при сопротивлении R9 около 91кОм, вполне возможно, даже и диод не понадобится.

  • Набор электролитических конденсаторов, 120 шт., 0.22мкФ-470мкФ

  • Similar Content

    • By Обычный Человек
      Микроконтроллер ATmega328p, внешний кварц 16МГц. Компилятор avr-gcc с оптимизацией O1

      Написал код для управление шаговым двигателем. Работает так: требуемая скорость задается переменной STP1_ReqSpeed, дальше с частотой 100Гц срабатывает таймер TIM0, который высчитывает с какой частотой надо подавать сигналы на вход шагового драйвера. TIM1 работает в режиме частотно импульсной модуляции и по прерыванию меняет значение пина на противоположное.

      Управление работает, скорость регулируется, но по какой то причине случаются пропуски шагов. Чаще всего во время ускорения. Количество пропусков от 0 до 4, обычно 2-3, длятся 32мс.

      Из кода вырезал неиспользуемое. Заменить прерывания на аппаратный ШИМ возможности нет. Как убрать эти пропуски?
      Осциллограммы:
       
       
    • By Павел Кочергин
      LG FFH 868AX.pdfЗдравствуйте. Достался мне на халяву муз.центор -лыжа ffh 868. Там даже не мп3 . Там сд ченьжер. Причем не рабочий. Ну думаю закажу на Алишке блютуз модуль и устанавлю сам. Насмотревшись ютюба, я своими "кривыми" ручками, (а по профессии я тракторист машинист широкого профиля) разобрал центр и начал искать 12в. Тыкнул мультиметром;один на корпус, другой в один из пинов шлейфа идущий на СД , щюп соскальзнул икоротнул ближайшей пин. Был щелчёк, похожий на челчёк реле. Центр потух. Не реагирует на вкл. Помогите плиз. Что могло выйте из строя , что звонить Схему ташол. Попытаюсь выложит место где коротнул

    • Guest kaisarali1997ss@gmail.com
      By Guest kaisarali1997ss@gmail.com
      Доброго времени суток.
      Не смог реализовать повторный Serial.available() внутри условия Serial.available.
      Может кто-то уже сталкивался с этим.
      Задача состоит в том, что нужно зажечь светодиодные ленты WS2812b. 
      Алгоритм действий:
      1)  Ожидаем появления данных на входе serial с помощью if (Serial.available()){}
      2) Принимаем значения int val=Serial.paresInt();
      3)Условие сравнивания if(val>123){chess=val;} esle if(val<124){color=val;} т.е номер светодиода это chess, цвет это color
      4) На смартфон отправляем 'n', для разрешения отправки следующих данных
      5)Ждем уже цвет светодиода на входе serial далее по предыдущему алгоритму 
      6)Зажигаем указанный светодиод на указанный цвет. 
      #include <FastLED.h> #define LED_PIN 6 #define NUM_LEDS 123 CRGB leds[NUM_LEDS]; const unsigned int DIM1 = 123; const unsigned int DIM2 = 1; const unsigned int DIM3 = 3; int ary[DIM1][DIM2][DIM3]; void setup() { Serial.begin(9600); FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS); } void loop() { if(Serial.available()){ int val=Serial.parseInt(); int chess=val; Serial.println(chess); delay(1); Serial.println('n'); clear_serail(); if(Serial.available()){int color=Serial.parseInt(); Serial.println(color); if(color>0){ if(color==124){ ary[chess][1][1]=0; ary[chess][1][2]=255; ary[chess][1][3]=0; Serial.println(ary[chess][1][1]); Serial.println(ary[chess][1][2]); Serial.println(ary[chess][1][3]); leds[chess]=CRGB(ary[chess][1][1],ary[chess][1][2],ary[chess][1][3]); FastLED.show(); Serial.println('l'); clear_serail(); } if(color==125){ ary[chess][1][1]=255; ary[chess][1][2]=0; ary[chess][1][3]=0; leds[chess]=CRGB(ary[chess][1][1],ary[chess][1][2],ary[chess][1][3]); FastLED.show(); Serial.println('l'); clear_serail(); }}} } } void clear_serail(){ Serial.end(); Serial.begin(9600); }  
    • By Артур Измаилов
      1.Создать схему в которой два светодиоды загораются в следующей последовательности:  1 и 2, 2 и 3, 3 и 4, …, 15 и 16, 1 и 2 и т.д. (т.е. создается эффект движения двух светодиодов).
      Дано условие выше. Решение задачи нужно представить в Proteus. Код для программирования пишу в AtmelStudio 7. Схему собрал в Proteus. Вывел 16 светодиодов через 2 порта (Порт B и Порт D). МК использовал ATMEGA 8 вариации в корпусе DIP с 28 ножками (SPDIL28). 
      До этого смог написать схему, чтобы работали светодиоды в последовательности 1.2.3.4.5....16.1.2.3.4 и тд. Делал через оператор FOR. Однако с этим кодом начались проблемы. Помогите пожалуйста. 
      Нижу представил изображение кода. 
      Заранее спасибо!
       

    • By Lisitsin
      Собираем компьютер ZX Spectrum на микроконтроллерах AVR своими руками!
      Проект открытый, все исходники и информация проекта по ссылке
      https://yadi.sk/d/9S2S0ZmNqsLykQ
      Проект печатной платы выполнен в PCAD-2006, программное обеспечение разработано в AVRStudio  4b401
      Здесь отвечу на все возникающие вопросы и помогу со сборкой и запуском
×
×
  • Create New...