Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define highTimes 13
- #define bs 13
- #define TX_PIN 3
- #define hightimesone 12
- #define bsone 12
- float timing_High[highTimes] = {
- .0000, .0011, .0017, .0032,
- .0038, .0053, .0064, .0075,
- .0085, .0096, .0102, .0113,
- .0123
- };
- const int bit_period[bs] = {
- 325, 325, 750,
- 325, 750, 325,
- 325, 325, 325,
- 325, 750, 750,
- 750
- };
- float timing_High_One[hightimesone] = {
- .0000, .0004, .0019,
- .0026, .0040, .0051,
- .0062, .0073, .0083,
- .0090, .0100, .0111
- };
- //first signal was different from the others, included just in case.
- const int bit_periodone[bsone] = {
- 150, 750, 325, 750,
- 325, 325, 325, 325,
- 325, 750, 750, 750
- }; //this is apparently different, its missing the first 300 bit period... but its happened multiple times.. idk if it will work..
- void digital() {
- int lasthur = 0;
- int lowdelay = 0;
- Serial.print("Testing my ringing!\n");
- for (int i = 0; i < hightimesone ; i++) {
- int ushur = timing_High_One[i] * 1000000;
- if (i != 0)
- //Serial.println(us - last - bit_periodone[i]);
- delayMicroseconds(ushur - lasthur - bit_periodone[lowdelay]);
- digitalWrite(TX_PIN, HIGH);
- //Serial.println(bit_periodone[i]);
- delayMicroseconds(bit_periodone[lowdelay]);
- digitalWrite(TX_PIN, LOW);
- lasthur = ushur;
- lowdelay++;
- }
- delay(10);
- Ding_Dong();
- }
- void Ditch() {
- int last = 0;
- int lowdelay = 0;
- for (int i = 0; i < highTimes ; i++) {
- int us = timing_High[i] * 1000000;
- if (i != 0)
- delayMicroseconds(us - last - bit_period[lowdelay]);
- digitalWrite(TX_PIN, HIGH);
- //Serial.println(bit_period[lowdelay]);
- delayMicroseconds(bit_period[lowdelay]);
- digitalWrite(TX_PIN, LOW);
- last = us;
- lowdelay++;
- }
- delay(10);
- }
- void testing() {
- for (int i = 0; i < 1; i++) {
- digital();
- }
- }
- void Ding_Dong() {
- for (int i = 0; i < 40; i++) {
- Ditch();
- }
- }
- void setup() {
- Serial.begin(115200);
- pinMode(TX_PIN, OUTPUT);
- }
- void loop() {
- delay(8000);
- testing();
- //Ding_Dong();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement