// Регистры подключены по классической схеме последовательно
int latchPin = 10; // Пины UNO
int clockPin = 12; // -//-
int dataPin = 11; // -//-
int buttonPin1 = 2; // Подключаем кнопку к пину 2
int buttonPin2 = 3; // Подключаем кнопку к пину 3/ это если ещё одна кнопка надо
uint8_t number595_1 = (B00000000); //Регистр первый (самый дальний по схеме от входа) Пока на всех выходах "0"
uint8_t number595_2 = (B00000000); // Регистр второй (при последовательном соединении) Если илишний закомментить!
uint8_t number595_3 = (B00000000); // Регистр третий (Вот его пока к кнопке и подключим) Если лишний - закомментить!
uint8_t qa, qb, qc, qd, qe, qf, qg, qh; //Раздвинем ноги регистру
void setup() {
Serial.begin (9600); // готовим монитор, чтобы потом подсматривать
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(buttonPin1, INPUT_PULLUP); //Уровень высокий. При нажатии кнопки - на выходе "0"
}
void loop() {
// Представим переменную uint8_t number595_1 в виде ног регистра
number595_1 = qa*1 + qb*2 + qc*4 + qd*8 + qe*16 + qf*32 + qg*64 + qh*128; //ноги, которыми не хочешь управлять - так и оставь. Типа qe = 1, qh = 0
int push = digitalRead (buttonPin1);
if (push == 0) {
qa = 1; //Нажатием кнопки меняем состояние нужных ног регистра
qb = 1;}
else { // При отпускании кнопки на соответсвующих ногах опять "0"
qa = 0;
qb = 0;}
digitalWrite(latchPin, LOW); //открываем защёлку
shiftOut(dataPin, clockPin, MSBFIRST, number595_1); //Заносим даные в первый регистр
shiftOut(dataPin, clockPin, MSBFIRST, number595_2); //Заносим даные во второй регистр. Если лишний - закомментить!
shiftOut(dataPin, clockPin, MSBFIRST, number595_3); //Заносим даные в третий регистр. Если лишний - закомментить!
digitalWrite(latchPin, HIGH); // закрываем защёлку
Serial.println (number595_1, BIN); // Смотрим в мониторе порта, что получилось
delay (500);} //Эта пауза, чтобы монитор не торопился. Потом закомментить
Вот ни хрена не понимаю - это троллинг?
в стр. 07 просвоили переменной number595_1 значение B00000000
в стр. 20 в ней остался тот же 0 (или произвольный мусор - в зависимости от результатов стр. 10).
строки 23-27 не изменяют переменную number595_1.
затем она проталкивается в регистр и она же выводится на монитор - независимо от результатов проталкивания и вообще наличия/отсутствия микрохемы и нажатия/отпускания кнопок.
затем она проталкивается в регистр и она же выводится на монитор - независимо от результатов проталкивания и вообще наличия/отсутствия микрохемы и нажатия/отпускания кнопок.
Зачем?
Ещё один диванный теоретик.
Всё меняется как надо.
Это же скетч для изменения всего двух ног от кнопки. Остальное записано чтобы ТС понял принцип работы и своё вставил.
затем она проталкивается в регистр и она же выводится на монитор - независимо от результатов проталкивания и вообще наличия/отсутствия микрохемы и нажатия/отпускания кнопок.
Зачем?
Ещё один диванный теоретик.
Всё меняется как надо.
Это же скетч для изменения всего двух ног от кнопки. Остальное записано чтобы ТС понял принцип работы и своё вставил.
ну расскажи мне, теоретику, где в скетче изменяются значения выходов регистра от кнопок. Ибо в листинге #34 я этого не вижу.
Дорогой наш - в отличии от тебя все "теоретики", что отписались в теме - в состоянии написать этот скетч четко и без ляпов. А ты все время прикрываегшься тем, что мол специально писал плохо для новичко, а сам можешь лучше. Не надо ля-ля... твой уровень в этом коде.
Хочешь доказать обратное -перепиши . Список недоделок тебе перечислили.
Так он эти регистры никогда не поймёт, и будет считать их за практическое применение чёрной магии. Да и Ардуинку забросит подальше и к девкам пойдёт. А там болезни, наркотики и прочие ужасы.
1. Нас спалили! Ты сам догадался, что это и есть главная задача форумной мафии?
2. Сам-то не думал "забросить и к деффкам"? Хотя что это я... ты "бабий муж"! ;)))) Сорри.
Разве, что принт в if перенести третьей строчкой.
тогда принт будет печататься в среднем в 2 раза реже. Но все равно также бесконечно :) ибо бесконечность, поделенная на 2 - остается бесконечностью
Нет. Только когда нажата кнопка.
Нет. Только когда нажата кнопка.
неверно формулируете. Правильно "пока нажата кнопка" - почувствуйте разницу
"неверно формулируете. Правильно "пока нажата кнопка" - почувствуйте разницу"
если нажата кнопка! Так if это и есть если в переводе с итальянского.
Вот ни хрена не понимаю - это троллинг?
в стр. 07 просвоили переменной number595_1 значение B00000000
в стр. 20 в ней остался тот же 0 (или произвольный мусор - в зависимости от результатов стр. 10).
строки 23-27 не изменяют переменную number595_1.
затем она проталкивается в регистр и она же выводится на монитор - независимо от результатов проталкивания и вообще наличия/отсутствия микрохемы и нажатия/отпускания кнопок.
Зачем?
затем она проталкивается в регистр и она же выводится на монитор - независимо от результатов проталкивания и вообще наличия/отсутствия микрохемы и нажатия/отпускания кнопок.
Зачем?
Ещё один диванный теоретик.
Всё меняется как надо.
Это же скетч для изменения всего двух ног от кнопки. Остальное записано чтобы ТС понял принцип работы и своё вставил.
Вот ни хрена не понимаю - это троллинг?
Нет, он просто не успевает увидеть, что там происходит на первой итерации, потому что на второй всё какбэ нормализуется. Вот и считает, что всё ОК.
затем она проталкивается в регистр и она же выводится на монитор - независимо от результатов проталкивания и вообще наличия/отсутствия микрохемы и нажатия/отпускания кнопок.
Зачем?
Ещё один диванный теоретик.
Всё меняется как надо.
Это же скетч для изменения всего двух ног от кнопки. Остальное записано чтобы ТС понял принцип работы и своё вставил.
Ещё один диванный теоретик.
Дорогой наш - в отличии от тебя все "теоретики", что отписались в теме - в состоянии написать этот скетч четко и без ляпов. А ты все время прикрываегшься тем, что мол специально писал плохо для новичко, а сам можешь лучше. Не надо ля-ля... твой уровень в этом коде.
Хочешь доказать обратное -перепиши . Список недоделок тебе перечислили.
Заодно и новичкам будет полезно.
Так он эти регистры никогда не поймёт, и будет считать их за практическое применение чёрной магии. Да и Ардуинку забросит подальше и к девкам пойдёт. А там болезни, наркотики и прочие ужасы.
1. Нас спалили! Ты сам догадался, что это и есть главная задача форумной мафии?
2. Сам-то не думал "забросить и к деффкам"? Хотя что это я... ты "бабий муж"! ;)))) Сорри.
продажа библиотека 74НС595, 74HC164. Просто изменение 1 pin регистры или многие pins регистры в 1 момент. Проба свободно Attiny13 1.2MHz https://www.dropbox.com/s/5slpkain753aisc/Attiny13A_shifty_peep_holes.zi...