Дисковый Android
Бабушка хотела выкинуть старый дисковый телефон, но я ее остановил, хотя телефон мне был нужен не весь. Я еще не знал, как именно реализую сложившийся в голове пазл, но точно знал, что я это сделаю! =))
Под видео опишу вкратце, как это сделать с применением контроллера Arduino.
Подключение диска от советского телефона к Arduino Leonardo. (Работать будет под любой ОС)
Вместо Leonardo можно использовать любую другую плату, только в скетче надо будет применять не Keyboard а Serial для вывода результатов.
#include <Bounce.h>; //для снижения эффекта дребезга
Bounce bouncer = Bounce(2, 40);
int pulses = 0;
void setup() {
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(13, OUTPUT);
Keyboard.begin();
}
void loop() {
while(digitalRead(3) == HIGH) { //пока идет набор
if (bouncer.update()) { //если произошло событие
if (bouncer.read()==0) { //если пришел сигнал с контактной группы
pulses++; //добавить 1 в переменную
bouncer.rebounce(500);
}
}
}
if(pulses > 0 && pulses < 10) { //чтобы в com порт шли только реальные цифры и ничего больше
Keyboard.print(pulses); //шлем в порт
pulses = 0; // обнуляем переменную
}
else if(pulses == 10) { //если с номеронабирателя пришло 10
pulses = 0; //то реальная цифра - ноль (особенности набирателя), заодно обнуляем переменную
Keyboard.print(pulses); //шлем в порт
}
}
Bounce bouncer = Bounce(2, 40);
int pulses = 0;
void setup() {
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(13, OUTPUT);
Keyboard.begin();
}
void loop() {
while(digitalRead(3) == HIGH) { //пока идет набор
if (bouncer.update()) { //если произошло событие
if (bouncer.read()==0) { //если пришел сигнал с контактной группы
pulses++; //добавить 1 в переменную
bouncer.rebounce(500);
}
}
}
if(pulses > 0 && pulses < 10) { //чтобы в com порт шли только реальные цифры и ничего больше
Keyboard.print(pulses); //шлем в порт
pulses = 0; // обнуляем переменную
}
else if(pulses == 10) { //если с номеронабирателя пришло 10
pulses = 0; //то реальная цифра - ноль (особенности набирателя), заодно обнуляем переменную
Keyboard.print(pulses); //шлем в порт
}
}