#2 Re: Програмування Arduino » Хто допоможе переробить прошивку на тахометр » 2020-12-11 23:50:38

renoshnik пише:
Mishka пише:
renoshnik пише:

Не лучший ресурс вы выбрали ....   :-)

Вы имеете ввиду alexgyver.ru или forum.arduino.ua?


Естественно  alexgyver.ru ...   smile

А чем вам уже гавер не понравился? он ведь иногда очень интересные вещи делает. Да есть ошибки в схемотехнике но ведь никто из нас не идеален). Просто хочу услышать вашу точку зрения на счёт этого человека.

#3 Re: Програмування Arduino » Проблема с машинкой... » 2020-11-29 17:15:46

AMIR228 пише:

Всем доброго времени суток! Я новичок в ардуино и на форуме так что извиняюсь если написал не в тот раздел. Так вот я заказал набор ардуино уно с машинкой объезжающая препятствия на драйвере L298n 4 колёсах  и ультразвуковом датчике HC-SR04 и когда я загружаю загружаю код из инструкции ошибок не выдаёт но сама машинка не едет. Незнаю что такое и прошу помочь. Буду очень благодарен.
Вот код из инструкции:

int inputPin=A0;  // ultrasonic module   ECHO to A0
int outputPin=A1;  // ultrasonic module  TRIG to A1
#define Lpwm_pin  5     //pin of controlling speed---- ENA of motor driver board
#define Rpwm_pin  10    //pin of controlling speed---- ENB of motor driver board
int pinLB=2;             //pin of controlling turning---- IN1 of motor driver board
int pinLF=4;             //pin of controlling turning---- IN2 of motor driver board
int pinRB=7;            //pin of controlling turning---- IN3 of motor driver board
int pinRF=8;            //pin of controlling turning---- IN4 of motor driver board
unsigned char Lpwm_val = 200; //initialized left wheel speed at 250
unsigned char Rpwm_val = 200; //initialized right wheel speed at 250
int Car_state=0;             //the working state of car
int servopin=3;              //defining digital port pin 3, connecting to signal line of servo motor
int myangle;                //defining variable of angle
int pulsewidth;              //defining variable of pulse width
unsigned char DuoJiao=60;    //initialized angle of motor at 60°

void servopulse(int servopin,int myangle) //defining a function of pulse
{
pulsewidth=(myangle*11)+500; //converting angle into pulse width value at 500-2480 
digitalWrite(servopin,HIGH); //increasing the level of motor interface to upmost
delayMicroseconds(pulsewidth); //delaying microsecond of pulse width value
digitalWrite(servopin,LOW); //decreasing the level of motor interface to the least
delay(20-pulsewidth/1000);
}
void Set_servopulse(int set_val)
{
 for(int i=0;i<=10;i++)  //giving motor enough time to turn to assigning point
   servopulse(servopin,set_val); //invokimg pulse function
}
void M_Control_IO_config(void)
{
  pinMode(pinLB,OUTPUT); // /pin 2
  pinMode(pinLF,OUTPUT); // pin 4
  pinMode(pinRB,OUTPUT); // pin 7
  pinMode(pinRF,OUTPUT);  // pin 8
  pinMode(Lpwm_pin,OUTPUT);  // pin 11 (PWM) 
  pinMode(Rpwm_pin,OUTPUT);  // pin10(PWM)   
}
void Set_Speed(unsigned char Left,unsigned char Right) //function of setting speed
{
  analogWrite(Lpwm_pin,Left);
  analogWrite(Rpwm_pin,Right);
}
void advance()    //  going forward
    {
     digitalWrite(pinRB,LOW);  // making motor move towards right rear
     digitalWrite(pinRF,HIGH);
     digitalWrite(pinLB,LOW);  // making motor move towards left rear
     digitalWrite(pinLF,HIGH); 
     Car_state = 1;   
    }
void turnR()        //turning right(dual wheel)
    {
     digitalWrite(pinRB,LOW);  //making motor move towards right rear
     digitalWrite(pinRF,HIGH);
     digitalWrite(pinLB,HIGH);
     digitalWrite(pinLF,LOW);  //making motor move towards left front
     Car_state = 4;
    }
void turnL()         //turning left(dual wheel)
    {
     digitalWrite(pinRB,HIGH);
     digitalWrite(pinRF,LOW );   //making motor move towards right front
     digitalWrite(pinLB,LOW);   //making motor move towards left rear
     digitalWrite(pinLF,HIGH);
     Car_state = 3;
    }    
void stopp()        //stop
    {
     digitalWrite(pinRB,HIGH);
     digitalWrite(pinRF,HIGH);
     digitalWrite(pinLB,HIGH);
     digitalWrite(pinLF,HIGH);
     Car_state = 5;
    }
void back()         //back up
    {
     digitalWrite(pinRB,HIGH);  //making motor move towards right rear     
     digitalWrite(pinRF,LOW);
     digitalWrite(pinLB,HIGH);  //making motor move towards left rear
     digitalWrite(pinLF,LOW);
     Car_state = 2;   
    }



void Self_Control(void)//self-going, ultrasonic obstacle avoidance
{
   int H;

   Set_servopulse(DuoJiao);

   H = Ultrasonic_Ranging(1);
   delay(300);   
   if(Ultrasonic_Ranging(1) < 35)         
   {
       stopp();              
       delay(100);
       back();               
       delay(50);
    }
           
  if(Ultrasonic_Ranging(1) < 60)        
      {
        stopp();  
        delay(100);            
        Set_servopulse(5);
        int L = ask_pin_L(2);
        delay(300);      
         Set_servopulse(177);
        int R = ask_pin_R(3);
        delay(300);      

        if(ask_pin_L(2) > ask_pin_R(3))   
        {
         back(); 
        delay(100);      
        turnL();
       delay(400);                  
       stopp();  
       delay(50);            
       Set_servopulse(DuoJiao);
       H = Ultrasonic_Ranging(1);
       delay(500); 
        }
        
      if(ask_pin_L(2)  <= ask_pin_R(3))   
      {
       back();  
       delay(100);  
       turnR(); 
       delay(400);   
       stopp();  
       delay(50);            
       Set_servopulse(DuoJiao);
       H = Ultrasonic_Ranging(1);
       delay(300);        
        }   
        if (ask_pin_L(2)  < 35 && ask_pin_R(3)< 35)   
        {
       stopp();            
       delay(50);
       back(); 
       delay(50);                   
        }          
      }
      else                      
      {
      advance();                
      }                 
}
int Ultrasonic_Ranging(unsigned char Mode)//function of ultrasonic distance detecting ,MODE=1,displaying,no displaying under other situation

{ 
  int old_distance;
  digitalWrite(outputPin, LOW);  
  delayMicroseconds(2); 
  digitalWrite(outputPin, HIGH); 
  delayMicroseconds(10); 
  digitalWrite(outputPin, LOW);    
  int distance = pulseIn(inputPin, HIGH);  // reading the duration of high level
  distance= distance/58;   // Transform pulse time to distance   
  if(Mode==1){
         Serial.print("\n H = ");
         Serial.print(distance,DEC); 
         return distance;
  }
   else  return distance;
} 
int ask_pin_L(unsigned char Mode)    
  { 
  int old_Ldistance;
  digitalWrite(outputPin, LOW);  
  delayMicroseconds(2); 
  digitalWrite(outputPin, HIGH); 
  delayMicroseconds(10); 
  digitalWrite(outputPin, LOW);    
  int Ldistance = pulseIn(inputPin, HIGH); 
  Ldistance= Ldistance/58;   // Transform pulse time to distance   
  if(Mode==2){
         Serial.print("\n L = ");
         Serial.print(Ldistance,DEC); 
         return Ldistance;
  }
   else  return Ldistance;
} 
int ask_pin_R(unsigned char Mode)   
   { 
  int old_Rdistance;
  digitalWrite(outputPin, LOW);  
  delayMicroseconds(2); 
  digitalWrite(outputPin, HIGH); // 
  delayMicroseconds(10); 
  digitalWrite(outputPin, LOW);    
  int Rdistance = pulseIn(inputPin, HIGH); 
  Rdistance= Rdistance/58;   // Transform pulse time to distance   
  if(Mode==3){
         Serial.print("\n R = ");
         Serial.print(Rdistance,DEC); 
         return Rdistance;
  }
   else  return Rdistance;
} 

void setup() 
{ 
   pinMode(servopin,OUTPUT);  //setting motor interface as output
   M_Control_IO_config();     //motor controlling the initialization of IO
   Set_Speed(Lpwm_val,Rpwm_val);  //setting initialized speed
   Set_servopulse(DuoJiao);       //setting initialized motor angle
   pinMode(inputPin, INPUT);      //starting receiving IR remote control signal
   pinMode(outputPin, OUTPUT);    //IO of ultrasonic module
   Serial.begin(9600);            //initialized serial port , using Bluetooth as serial port, setting baud 
   stopp();                       //stop
} 
void loop() 
{  
 
        Self_Control();   
}

Если понадобится диаграмма подключения прошу написать.

Её стоило сразу писать.

#4 Re: Апаратні питання » Посоветуйте как подключить sonoff » 2020-11-25 23:51:08

Нет ))) 39 ом 3 вт на форуме реддита нашёл.
Вот : https://www.reddit.com/r/AskElectronics/comments/enh01v/what_is_this_390_resistor_look_alike_that_got/

#5 Re: Апаратні питання » Посоветуйте как подключить sonoff » 2020-11-25 23:26:41

г0сть пише:
Carabas212 пише:

меня закидают какахами и обзовут дилетантом

Какаха первая - ТС под "померять" имел ввиду что может у кого-то есть такая же приблуда и этот кто-то от нечего делать полезет вскрывать коробайку и мерять номинал этого резистора

Вполне может быть, хотя я все же думаю что он на 1 ом.

#6 Re: Програмування Arduino » Помогите с кодом автоматического включения/отключения бойлера » 2020-11-25 22:51:37

MikeM пише:

Для экономии энергии и времени можно вспомнить про проточный нагреватель

Какая экономия? Кпд проточного водонагревателя 70% а бойлера 90%(я имею в виду накопительного). так что не будет тут никакой экономии  roll

#7 Re: Проекты » Барограф / барометр / термометр / bmp180 / nokia 5110 / 3V3 / pro mini » 2020-11-25 22:46:16

Либо плата защиты аккума либо тп4056 с защитой. Но будьте осторожны с тп4056 и платами защиты бывает брак нужно мерять потребление.

#8 Re: Апаратні питання » Посоветуйте как подключить sonoff » 2020-11-25 22:39:15

Іван пише:

http://forum.arduino.ua/img/members/2996/sonoff-mini-flash.jpg

привіт, може хтось допомогти з визначенням номінала резистора, згорів і не видно колір полос, дивився по фото в неті, думаю 1 Ом або 10 Ом. Хтось може поміряти. Дякую.

Скорее всего он на 1 ом по схемотехнике я вижу что он стоит рядом с варистором и выполняет работу предохранителя, а вот если он уже сгорел то это повод задуматься почему... ах да ПОМЕРЯТЬ сгоревший резистор невозможно, это так на заметку. Точнее можно (ибо если я не скажу это то меня закидают какахами и обзовут дилетантом) но его сопротивление будет очень отличатся от первоначальной либо он будет в обрыве.

#9 Re: Апаратні питання » Подключение мотора » 2020-11-25 22:29:29

Kaka пише:

Не понятен вопрос, поясни. В каком смысле

Lesaje пише:

как на практике реализовать подключение кабеля 12 вольт к драйверу?

В чём проблема-то?

Скорее всего человек не бум-бум в электронике. И видит ее первый раз в жизни. У меня такой случай был, человек хотел на ардуино организовать включение света по движению и выключение его же после 2-х минут, И он реально хотел ПЛАТИТЬ ДЕНЬГИ ЗА ЭТО. Я этим не занялся только потому что уезжал, а так это целая история которая кончилась ничем.

#11 Re: Програмування Arduino » Помогите с кодом автоматического включения/отключения бойлера » 2020-11-21 13:08:48

Если уж наш друг хочет чтобы мы ему помогли то ему стоит вспомнить школьные уроки информатики и нарисовать алгоритм работы какой ему нужен, а то чую это гадание на кофейной гуще будет идти долго... В любом случае нашему другу стоит ХОТЯБЫ читать эту тему, а то создал её и сразу забросил sad .

#12 Re: Програмування Arduino » Помогите с кодом автоматического включения/отключения бойлера » 2020-11-16 23:46:03

Скорее всего через датчик течения. Но можно и через термо-реле так даже задача упрощается.

даже можно обойтись и без ардуино чисто на термо-реле и трансформаторах тока и реле

#15 Апаратні питання » Сервопривод sg90 » 2020-07-25 20:53:04

Carabas212
відповідей: 5

при выполнении скетча :
#include <Servo.h>
Servo myservo;

void setup()
{

  myservo.attach(9);
}

void loop()
{
    myservo.write(0);
    delay(1000);
    myservo.write(180);
    delay(1000);
}
серва крутится только в 0-е положение. Если покрутить вал сервопривода он вернётся в 0-е положение. Подскажите что делать?

#16 Re: Програмування Arduino » Программа: LED панель, ардуино мега 2560 r3, блютуз. » 2020-07-22 22:42:51

Зачем только там? Здесь на форуме есть не мало желающих подзаработать, поищите по форуму Проекты>Список исполнителей. Там уж вы точно найдёте нужного вам кодера smile .

#17 Re: Програмування Arduino » помогите новичку » 2020-07-20 22:20:14

И где именно? И тем более я не говорил что я являюсь каким либо профи в этом деле. Я просто решил помочь тем чем могу. И да я вас перепутал с создателе данного поста(извиняюсь).

#18 Re: Програмування Arduino » помогите новичку » 2020-07-20 22:10:18

Я имею в виду что саму палату они могли и сами сделать а чип закупить у какого либо стороннего производителя.
Так загрузчик записан или нет?

#20 Re: Програмування Arduino » помогите новичку » 2020-07-20 22:00:09

Китайцы могли тебе поставить атмегу в корпусе DIP. Они у них там кучами лежат. И обычно в них загрузчика нет.

#21 Re: Програмування Arduino » помогите новичку » 2020-07-20 21:39:58

Давай начнём от крайнего. Какой у тебя чип на уно, формата  DIP-28 или  Tqfp-32? И если плата китайская попробуй записать загрузчик в неё.

#22 Re: Програмування Arduino » Проблемы с компилятором wavgat pro mini и BMP280 » 2020-07-18 15:59:06

У меня уже нет этой проблемы как я описал выше тем более что это все часть проекта для предсказателя погоды тем более что ко мне едет нормальная ардуинка.

#23 Re: Програмування Arduino » Программа: LED панель, ардуино мега 2560 r3, блютуз. » 2020-07-18 15:28:10

Залезь на сайт AlexGyver там есть что-то подобное но только на адресной ленте.

#24 Re: Програмування Arduino » Проблемы с компилятором wavgat pro mini и BMP280 » 2020-07-18 14:52:53

Не уверен. у меня нет осциллографа для проверки(хотя задумываюсь над его покупкой) если вы хотите я могу отослать фотографию платы вам на почту. Насчёт программы Blink - там точно нет 1 секунды (Только что посчитал там около 3,98 с )

#25 Re: Програмування Arduino » Проблемы с компилятором wavgat pro mini и BMP280 » 2020-07-17 22:08:32

Каким образом и как это повлияет на сам микроконтроллер мы ведь не заставляем его что-нибудь рисовать и т.д. ? Тогда как его переключить на 32мг?
добавлено - только ша с увидел что у кварца Слишком много выводов (около 6).

Підвал форуму