Просмотр полной версии : Есть заядлые электронщики?
Accelero, меня отговорили такой брать. Сказали генератор им не посмотришь, типа минимум DSO6052 для авто если.
Accelero
26.09.2014, 12:58
меня отговорили такой брать
Да, он косячный немного, но по-поводу генератора это загнули явно. Этот осцил хреновый, когда надо милливольты мерить - шумов куча. А гена как минимум пару вольт даст даже не возбужденный.
Accelero, ну можно проверить раз уж купил, кстати какой у него там предел по вольтажу? делитель то наверное полюбому придется ставить?
Accelero
26.09.2014, 17:33
кстати какой у него там предел по вольтажу?
35 вольт на входах.
делитель то наверное полюбому придется ставить?
Щупы с переключателем х1-х10. Короче без х100 в розетку лучше не совать) Для авто хватит за глаза - руки никак попробовать не дойдут.
да я не про розетку, про генератор какрас :) ну ты даешь, яб уже все провода перепробовал какие нашел только :)
Accelero
26.09.2014, 17:36
ну ты даешь, яб уже все провода перепробовал какие нашел только
Лень у меня гипертрофированная) С сегодняшнего дня в отпуске, отосплюсь и займусь. Что-то работа так морально выматывает, что сил нет вашпе...
Accelero
05.12.2014, 18:12
Приехал с китая мне клон Arduino UNO. Клепаю на нем счетчик ударов, где в зависимости от количества происходят разные события. Программирование только осваиваю, а именно беру готовый скетч, курю другие скетчи с нужными кодами и все это склеиваю, т.к. программирование для меня темный лес и знаю только опушку.
В общем ХЕЛП господа программеры!
Есть кусок кода:
void loop() {
// read the pushbutton input pin:
buttonState = digitalRead(buttonPin);
// compare the buttonState to its previous state
if (buttonState != lastButtonState) {
// if the state has changed, increment the counter
if (buttonState == HIGH) {
// if the current state is HIGH then the button
// wend from off to on:
digitalWrite(led3Pin, HIGH);
buttonPushCounter++;
Serial.println("on");
Serial.print("number of shoot: ");
Serial.println(buttonPushCounter);
}
else {
// if the current state is LOW then the button
// wend from on to off:
Serial.println("off");
digitalWrite(led3Pin, LOW);
}
delay(100);
}
// save the current state as the last state,
//for next time through the loop
lastButtonState = buttonState;
// turns on the LED every four button pushes by
// checking the modulo of the button push counter.
// the modulo function gives you the remainder of
// the division of two numbers:
if (buttonPushCounter >= 100) {
digitalWrite(ledPin, LOW);
} else {
digitalWrite(ledPin, HIGH);
}
if (buttonPushCounter >= 70) {
digitalWrite(led2Pin, HIGH);
} else {
digitalWrite(led2Pin, LOW);
}
}
В общем выделенное красным надо заставить мигать, чтоб при этом шло выполнение остального цикла. В идеале нужно добавить ещё параметр, чтоб по достижении 100 мигание перешло в непрерывный свет и вообще высший пилотаж (для меня уж точно), чтоб частота вспышек росла от 70 до 100.
На ардуино форуме все также как у нас с новичками - "учи С++, да это элементарно, да вот ветка - там тебе за мани код напишут".
Как-то так:)
На самом деле порядком усложнить придется. От delay(); отказывайся сразу - он весь скрипт останавливает на это время. Вместо него используй millis();. Там в примерах есть Blink without Delay - посмотри как оно юзается. Что из себя представляет датчик ударов? Он дает на столько нестабильный сигнал что приходится использовать фильтр от дребезга контактов?
Accelero
05.12.2014, 18:53
от делей отказывайся сразу - он весь скрипт останавливает на это время
Да, проверял - диод мигает и прога встала.
Вместо него используй millis();. Там в примерах есть Blink without Delay - посмотри как оно юзается.
Думал без него прокатит, ан-нет)))
Что из себя представляет датчик ударов?
ДД от жигулей:) Кстати очень стабильно робит:nice: Даже триггер шмидта с RC применять не ришлось, хотя на исполнитель надо бы его поставить - почему-то у китайского блока реле 0 рассматривается как сигнал включения - не очень удобно.
ну для начала выкинь антидребезг - начни с простого, иначе с ума сойдешь...
Accelero
05.12.2014, 20:03
ну для начала выкинь антидребезг
Его там нет - робит норм.
начни с простого, иначе с ума сойдешь...
Эх, первые три дня с момента приезда этой ацкой железки у меня мозг реально пух - я раз надцать порывался СИ изучить - все тщетно, а без него никак:pardon:
Попробую методом проб и ошибок millis вкрячить...
Его там нет
а это тада что?
if (buttonState != lastButtonState) {
// if the state has changed, increment the counter
if (buttonState == HIGH) {
Accelero
05.12.2014, 20:09
а это тада что?
А, ты про код? Я думал железный антидребезг:biggrin: Я ж говорю - плохо в программировании шарю. Но этот параметр сильно не мешает - работает схема с ним. Я только delay в 100мс поставил, чтоб он только первый пик сигнала учитывал.
Accelero
05.09.2015, 17:17
Мучу тут родичам свето-климатконтроль для курятника, накатал (точнее надёргал отовсюду) код, все работает, ком-порт шлет телеметрию. В общем задача встала такая - в 7 утра свет врубаем, в 21 вырубаем. Вот отрезок кода
}
if (RTC_Time.hour >= 7 < 21) //время включения освещения
{
digitalWrite(10, HIGH);
}
if (RTC_Time.hour >= 21 || RTC_Time.hour < 7)
{
digitalWrite(10, LOW);
}
Проверять слишком долго и не охота таймер перенастраивать каждый раз))
Будет этот отрезок нормально функционировать или "застрянет" (выделенная строчка волнует особо)?
З.Ы. Помидорами не кидайтесь - ардуинку и С++ в части к ней относящейся недавно начал осваивать:o
элитных кур выращиваешь?)
Accelero
05.09.2015, 17:25
элитных кур выращиваешь?)
Фаверольские и "кукушки":new_russian:
[Для просмотра ссылки/изображения нужно войти или зарегистрироваться]
[Для просмотра ссылки/изображения нужно войти или зарегистрироваться]
прикольно. наверное круто)
Accelero
05.09.2015, 17:39
прикольно. наверное круто)
Через год - посмотрим) подростки ещё...
Accelero, а зачем двойная проверка? просто если больше или = то врубаем, если больше или равно 21 то вырубаем
Accelero
05.09.2015, 18:07
а зачем двойная проверка?
Ну там же идет до 23, а дальше 0,1,2.....7 - цифры с DS3231 берутся - вод собстна и поставил или. Ща только что лампа выключилась (выставил >= 18 || < 7) Вроде работает... Необходимы полевые испытания)))
vBulletin® v3.8.6, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot